/**
 * This file should get overwritten if Method 1 is used. If Method 2 is chosen,
 * remove this comment and start adding your styles to this file.
 */

/* CSS Document */
@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Montserrat:300,400,500,700&display=swap');

:root {
    --cLPurple: #f9267e;
    --cPurple: #d92d73;
    --cDPurple: #39152a;
    --cOliva: #b5a629;
    --cDBlu: #08466d;
    --cPink: #d47c9a;
    --cLGray: #c9c9c9; /*#93989B*/
    --cGray: #797571;
    --cDGray: #504d49;
    --cDGreen: #154d4a;/*#015754*/
    --cBlack: #000000;
    --cWhite: #FFFFFF
}

/* SYSTEM */

.wide {
    margin: 0 -9999px;
    padding: 0px 9999px;
    position: relative;
    background-color: var(--cWhite);
}

.wide.odd { background-color: var(--cDGray); }

.wide.even { background-color: var(--cBlue); }

.p-auto { padding: auto; }
.padding { padding: 1em; }
.padding-vertical { padding-bottom: 1em; padding-top: 1em; }
.padding-vertical2 { padding-bottom: 2em; padding-top: 2em; }
.padding-left { padding-left: 15px; }
.padding-right { padding-right: 15px; }
.padding-top { padding-top: 1em; }
.padding-bottom { padding-bottom: 1em; }
.padding-top2 { padding-top: 2em; }
.padding-bottom2 { padding-bottom: 2em; }
.nopadding-top { padding-top: 0;}
.nopadding-bottom { padding-bottom: 0; }
.margin { margin: 1em; }
.margin-top { margin-top: 1em; }
.margin-bottom { margin-bottom: 1em; }
.nomargin-top { margin-top: 0;}
.nomargin-bottom { margin-bottom: 0;}
.alpha { padding-left: 0px; }
.omega { padding-right: 0px; }

.table { margin: 0; padding: 1em 0; }

.grid-flex {
    width: 100%;
    float: left;
    position: relative;
    display: block;
}


.row-flex  {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}

.row-flex  {
  -ms-box-orient: horizontal;
  display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6, BB7 */
  display: -moz-box;
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -moz-flex;
  display: -webkit-flex;  /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
  display: flex;

  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;

  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;

  position: relative;
}

/*FIX SAFARI*/
.row-flex:before, .row-flex:after { display: none; }

.d-flex-column  {   
  display: flex;
  flex-direction: column; 
}


.h-100 { height: 100%; }
.w-100 { width: 100%; }
.m-auto { margin: auto; }
.my-auto { margin: 0 auto; }
.mx-auto { margin: auto 0; }
.mt-auto { margin: auto 0 0; }
.mb-auto { margin: 0 0 auto; }

.row-full {
    width: 100vw;
    position: relative;
    margin-left: -50vw;
    left: 50%;
}

#page { 
    overflow: hidden;
/*  background-color: #003c84;
	-webkit-appearance: none;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	border-radius: 20px;
  box-shadow: 5px 5px 20px #666666;
  margin: 50px 0 20px;*/
}

/* DEFAULT */

body {
    background: none no-repeat scroll 0 0 var(--cGray);
    font: 16px/1.2 Helvetica,Arial,sans-serif;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    color: var(--cDGray);
    margin: 0px 0px;
}

h1, h2, h3, h4, h5, h6, p { 
    font-family: Helvetica,Arial,sans-serif;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    margin-top: 10px;
    margin-bottom: 10px;
    color: var(--cWhite);
    line-height: 1.15;
    margin-top: 0 !important;
}

h1, .h1 { font-weight: 300; font-size: 3em; line-height: 1.15; }  /*60*/

h1.title, .h1.title { font-weight: 300; font-size: 3.5em; line-height: 1; } 

h2, .h2 { font-weight: 300; font-size: 2.5em; line-height: 1.15; } /*50*/

h3, .h3 { font-weight: 300; font-size: 2em; line-height: 1.15; } /*40*/

h4, .h4 { font-size: 1.5em; line-height: 1.15; }  /*30*/

h5, .h5 { font-size: 0.9em; line-height: 1.15; } 

h6, .h6 { font-size: 0.8em; line-height: 1.15; }

p, ul { 
    font-family: 'Montserrat', sans-serif;
    font-size: 1em;
    color: var(--cDGray);
    line-height: 1.3;
    font-weight: 300;
    margin-top: 0px;
}

ul.bullet-image {  list-style: outside url("../images/arrow.png") none; padding-left: 3em; }
ul.list-unstyled {  list-style: outside none none; padding-left: 2em; }
ul.list-bullet { padding-left: 1.5em; list-style: outside none none;  }
ul.list-bullet li { display: block; margin-bottom: 0.3em; }
ul.list-bullet li:before {
    /*Using a Bootstrap glyphicon as the bullet point*/
    content: "\e258";
    font-family: 'Glyphicons Halflings';
    font-size: 1em;
    float: left;
    margin-top: 4px;
    margin-left: -1.1em;
    color: #005573;
}

hr {
  margin-top: 10px;
  margin-bottom: 10px;
  border: 0;
  border-top: 5px solid var(--cLPurple);
  width: 4em;
  text-align: left;
  display: inline-block;
}

.hrwhite {
  border-color: 5px solid var(--cWhite);
}

p.big { font-size: 1.3em; }

.thin { font-weight: 100!important; }
.extra-light { font-weight: 200!important; }
.light { font-weight: 300!important; }
.normal { font-weight: 400!important; }
.medium { font-weight: 500!important; }
.semi-bold { font-weight: 600!important; }
.bold { font-weight: 700!important; }
.extra-bold { font-weight: 800!important; }
.ultra-bold { font-weight: 900!important; }

.fprimary { font-family: 'Montserrat', sans-serif; }


/* STYLE */

a, img { border: 0 none; transition: all 0.25s ease-in-out 0s; }

a:link, a:visited, li a:link, li a:visited {  color: var(--cLPurple); text-decoration: none; }

a:hover, a:focus, li a:hover { color: var(--cDPurple); outline: none; }

a:active, li a:active, a.active, li a.active { color: var(--cDPurple);  }

.marker, .form-required, .request { color: var(--cWhite); display: none; }

a.negative {  color: var(--cLPurple) !important; text-decoration: none; font-weight: 500; }

.evidenza { color: var(--cPurple); }
.LPurple { color: var(--cLPurple); }
.Purple { color: var(--cPurple); }
.DPurple { color: var(--cDPurple); }
.Oliva { color: var(--cOliva); }
.DBlu { color: var(--cDBlu); }
.Pink { color: var(--cPink); }
.LGray { color: var(--cLGray); }
.Gray { color: var(--cGray); }
.DGray { color: var(--cDGray); }
.DGreen { color: var(--cDGreen); }
.White { color: var(--cWhite); }
.Black { color: var(--cBlack); }

.fprimary { font-family: 'Montserrat', sans-serif; }

.bgLPurple { background-color: var(--cLPurple); }
.bgPurple { background-color: var(--cPurple); }
.bgDPurple { background-color: var(--cDPurple); }
.bgOliva { background-color: var(--cOliva); }
.bgDBlu { background-color: var(--cDBlu); }
.bgPink { background-color: var(--cPink); }
.bgLGray { background-color: var(--cLGray); }
.bgGray { background-color: var(--cGray); }
.bgDGray { background-color: var(--cDGray); }
.bgDGreen { background-color: var(--cDGreen); }
.bgwhite { background-color: var(--cWhite); }
.bgblack { background-color: var(--cBlack); }

strong,b { font-weight: 700; }

span.sup { font-size: 70%; position: relative; top: -0.5em; }

sub { font-size: 70%; position: relative; top: 2px; }

.btn { border: none; padding: 0.6em 1em 0.8em; }

.btn,
.webform-client-form .form-actions .form-submit,
.webform-client-form .form-actions .webform-next.form-submit,
.webform-client-form .form-actions .webform-previous.form-submit { 
  border: none; 
  background: none;
  font-family: 'Montserrat', sans-serif;
  font-size: 1em; 
  font-size: 2em;
  font-weight: 500;
  color: var(--cWhite) !important;
  padding: 0.5em 0.5em 0.5em;
  -webkit-border-radius: 0px; 
  -moz-border-radius: 0px;
  border-radius: 0px;
  text-decoration: none; 
  transition: all 0.25s ease-in-out 0s;
  outline: none;
  text-shadow: none;
  text-transform: none;
}

.btn:hover,
.webform-client-form .form-actions .form-submit:hover,
.webform-client-form .form-actions .webform-next.form-submit:hover,
.webform-client-form .form-actions .webform-previous.form-submit:hover {
  background: none;
  color: var(--cPurple) !important;
}


.btn .icon-custom:before {  
  transition: all 0.25s ease-in-out 0s;
/*  color: #96d915;*/
  font-size: 1em;
  font-weight: 500;
  position: relative;
/*  top: 2px;*/
}

.btn:hover,
.btn:hover .icon-custom:before { color: var(--cPurple) !important; }

.btn.btn-Purple { color: var(--cPurple) !important; }

.btn.btn-Purple:hover,
.btn.btn-Purple:hover .icon-custom:before { color: var(--cWhite) !important; }

.gradient-hor { 
    background: #FFF; /* For browsers that do not support gradients */    
    background: -webkit-linear-gradient(left, #FFF, #000); /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(right, #FFF, #000); /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(right, #FFF, #000); /* For Firefox 3.6 to 15 */
    background: linear-gradient(to right, #FFF , #000); /* Standard syntax (must be last) */
}


.border { border: 1px solid var(--cGray); }

.Blink { text-align: right; }

/*STRUCTURE*/
.structure { max-width: 2000px;}

.structure .Tlogo { text-align: right; padding-top: 3em; padding-bottom: 0em; }

.structure .row-flex .region-content { width: 100%; }
.structure .row-flex.container-fluid  { width: 100%; left: 0; }

.structure .webform-client-form-83 {  }
.structure .container-step { width: 100%; }
/*.structure .container-modulo { width: 100%; } */

.structure .colsx-step { text-align: right; }

/*.structure .COLDX.coldx-step { margin: auto 0; }*/
/*.structure .COLDX.coldx-step { margin-top: 3em; }*/

/*START*/
.start .h1 { font-size: 2.5em; }

/*MODULO-FORM*/
.modulo-form .lheight,
.inviato .lheight { margin-top: 0.5em!important; line-height: 1.3; }


/*INVIATO*/
.inviato .min-height { min-height: 24em; }

/*FOOTER*/
.footer.container { display: none; }


/*  WEBFORM  */
/*.alert.alert-dismissible.messages { display: none; }*/

.alert-success {
    color: var(--cDGreen);
    background-color: var(--cWhite);
    border-color: var(--cDPurple);
    font-weight: 400;
}

div.error, table tr.error {
    background-color: var(--cWhite);
    color: var(--cLPurple);
    border-color: var(--cDPurple);
    font-weight: 400;
}


.form-group.error input, .form-group.has-error input, .form-group.error textarea, .form-group.has-error textarea, .form-group.error select, .form-group.has-error select, .form-group.error .uneditable-input, .form-group.has-error .uneditable-input { color: var(--cWhite); border: 1px solid var(--cPurple); }

.form-group.error label, .form-group.has-error label, .form-group.error .control-label, .form-group.has-error .control-label {
    color: var(--cLPurple);
    font-weight: 400;
}



.webform-client-form p,
.webform-client-form label {  }

.webform-component,
.webform-component input,
.webform-component select,
.webform-component textarea,
.webform-client-form fieldset,
.webform-component label,
.webform-component .description
.webform-client-form .form-actions {
    font-family: 'Montserrat', sans-serif;
    display: inline;
    float: left;
    margin: 0.5em 0px;
    margin: 1em 0 0;
    position: relative;
    font-weight: 300;
    font-size: 1.05em;
}

.webform-component label,
.webform-component .description {
    font-family: 'Montserrat', sans-serif;
    display: inline;
    float: left;
    margin: 0 0 0.5em;
    font-size: 1.05em;
    font-size: 2em;
    text-transform: none;
    position: relative;
    color: var(--cWhite);
    font-weight: 300;
    width: 100%;
    line-height: 1.15;
}

.webform-component .description { }

.webform-component input,
.webform-component select,
.webform-component textarea,
.webform-client-form fieldset {
    border: 0px solid var(--cDGray);
    border-bottom: 0px solid var(--cPurple);
    background:  none no-repeat scroll 0 0 #FFFFFF;
    display: inline;
    float: left;
    font-size: 1.05em;
    font-weight: 300;
    margin: 0;
    position: relative;
    padding: 0.5em 0.5em 0.5em;
    height: auto;
    color: var(--cDGray); 
    box-shadow: none;
}

.webform-client-form fieldset { border: 0px solid var(--cGray); }

.webform-component textarea { resize: none; }

.webform-component .form-type-checkbox,
.webform-component .form-type-radio {
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 0;
    margin-top: 5px;
    width: 50%;
    float: left;
}

.webform-component .form-type-checkbox label,
.webform-component .form-type-checkbox .description,
.webform-component .form-type-radio label,
.webform-component .form-type-radio .description {
    text-transform: none;
    font-size: 1.05em;
    color: var(--cWhite);
    font-weight: 300;
    line-height: 1.15;
    width: 100%;
    margin: 0.2em;
    margin: 0.3em.2em
    padding-left: 1.5em;
}

.webform-component .form-type-checkbox input,
.webform-component .form-type-radio input {
    margin: 0.2em 0;
    margin-left: -20px;
    margin: 0.1em 0 0.2em -25px;
    margin-left: -20px;
    width: auto; 

    margin: 0;
    margin-left: -1.5em;
    width: 1em;
    height: 1em;


}

.webform-component .form-type-checkbox,
.webform-component .form-type-radio {
    width: 100%;
/*    width: 50%;*/
/*    width: 35%;*/
}

.webform-component .form-control { color: var(--cPurple); }
.webform-component .form-control::-webkit-input-placeholder { color: var(--cDGray);  } /* Chrome/Opera/Safari */
.webform-component .form-control::-moz-placeholder { color: var(--cDGray);   } /* Firefox 19+ */ 
.webform-component .form-control:-ms-input-placeholder { color: var(--cDGray);   } /* IE 10+ */ 
.webform-component .form-control:-moz-placeholder { color: var(--cDGray);   } /* Firefox 18 */


.webform-component.campoform input,
.webform-component.campoform select,
.webform-component.campoform textarea,
.webform-client-form fieldset { border-bottom: 1px solid var(--cDGray);  background: none; border-radius: 0; }

.webform-component.campoform .form-control { color: var(--cPurple); }
.webform-component.campoform .form-control::-webkit-input-placeholder { color: var(--cDGray);  } /* Chrome/Opera/Safari */
.webform-component.campoform .form-control::-moz-placeholder { color: var(--cDGray);   } /* Firefox 19+ */ 
.webform-component.campoform .form-control:-ms-input-placeholder { color: var(--cDGray);   } /* IE 10+ */ 
.webform-component.campoform .form-control:-moz-placeholder { color: var(--cDGray);   } /* Firefox 18- */

.webform-client-form fieldset { background: none; border: none; box-shadow: none; margin: 0; }
.webform-client-form .panel-body { padding: 0; }

.webform-component.webform-component-markup { width: 100%; margin-top: 0; padding: 0 0px; }

.container-visual .webform-component.webform-component-markup { padding: 0px; }


.webform-component.campoform label,
.webform-component.campoform .description {
    color: var(--cDGray);
}

.webform-component-markup .campi { font-weight: 300; font-size: 0.8em; padding: 15px 15px 0; }

.webform-component.privacy .form-type-checkbox, 
.webform-component.privacy .form-type-radio { width: 100%; }

.webform-component.privacy { margin: 1em 0 0; }
.webform-component.privacy a  { color: var(--cPurple); }

.webform-component.privacy .control-label { text-transform: none; font-size: 1.05em; line-height: 1.15; font-weight: 300; color: var(--cDGray); }


.webform-client-form .webform-client-form-83 { }

.webform-client-form .form-actions { 
  position: relative; 
  width: 100%;
}

.webform-client-form .form-actions .form-submit,
.webform-client-form .form-actions .webform-next.form-submit,
.webform-client-form .form-actions .webform-previous.form-submit { 
  padding: 0 0.5em;
  float: right;
  position: absolute;
  top: -6em;
  top: -3em;
  right: 0;
  margin: 0;
  width: auto;
}

.webform-client-form .form-actions .webform-next.form-submit { }

.webform-client-form .form-actions .webform-next.form-submit:hover {  }

.webform-client-form .form-actions .webform-previous { display: none; }



.webform-client-form .form-actions .form-submit.webform-submit { 
  color: var(--cPurple) !important;
  position: relative;
  margin-top: 0;
  top: 0;
}

.webform-client-form .form-actions .form-submit.webform-submit:hover {   color: var(--cWhite) !important; }


.webform-client-form .form-actions .form-submit.webform-submit .icon-custom:before { color: var(--cPurple) !important; }
.webform-client-form .form-actions .form-submit.webform-submit:hover .icon-custom:before { color: var(--cWhite) !important; }


/*==================================================
=            Bootstrap 3 Media Queries             =
==================================================*/

.img-responsive { display: inline-block; }


    /*==========  Mobile First Method  ==========*/

    /* Custom, iPhone Retina */ 
    @media only screen and (min-width : 300px) {

        body { font-size: 10.5px; }

    }

    /* Extra Small Devices, Phones */ 
    @media only screen and (min-width : 480px) {

        body { font-size: 11.5px; }
    }

    /* Small Devices, Tablets */
    @media only screen and (min-width : 768px) {

        body { font-size: 12.5px; }

    }

    /* Medium Devices, Desktops */
    @media only screen and (min-width : 992px) {

        body { font-size: 13.5px; }

        /*STRUCTURE*/
        .structure .COLSX.colsx-step2 { min-height: 700px; }

    }

    /* Large Devices, Wide Screens */
    @media only screen and (min-width : 1200px) {

        body { font-size: 14px; }

    }

    /* Large Devices, Wide Screens */
    @media only screen and (min-width : 1400px) {

        body { font-size: 15.5px; }

    }

    /* Large Devices, Wide Screens */
    @media only screen and (min-width : 2001px) {

        body { font-size: 15.5px; }

        .row-full {
            margin-left: -45vw;
            left: 50%;
        }

    }



    /*==========  Non-Mobile First Method  ==========*/


    /* Large Devices, Wide Screens LG */
    @media only screen and (max-width : 1600px) {

/*        br.col-xxl { display: none; }*/

    }


    /* Large Devices, Wide Screens LG */
    @media only screen and (max-width : 1200px) {



    }

    /* Medium Devices, Laptop MD*/
    @media (min-width: 992px) and (max-width: 1199px) { 

        /*START*/
        .start .COLDX { padding-right: 15px;}

    }

    /* Medium Devices, Desktops MD*/
    @media only screen and (max-width : 991px) {

        /*START*/
        .start .COLSX { margin-top: 0em; }
        .start .COLSX img { padding-right: 30px; }


        /*  WEBFORM  */
        .webform-client-form .form-actions .form-submit,
        .webform-client-form .form-actions .webform-next.form-submit,
        .webform-client-form .form-actions .webform-previous.form-submit { 
          position: relative;
          margin-top: 0;
          top: 0;
        }

    }

    /* Portrait tablets and small desktops */
    @media (min-width: 768px) and (max-width: 991px) {

        /*START*/
        .start .COLDX h2 { font-size: 2.2em; }
        .start .COLDX h3 { font-size: 1.8em; }

    }

    /* Small Devices, Tablets SM*/
    @media only screen and (max-width : 767px) {

        br.col-xxl { display: none; }

        .d-flexr-rrow  { flex-direction: row-reverse; }

        .Blink { margin-bottom: 2em!important; }

        /*STRUCTURE*/
        .structure .Tlogo { padding-top: 2em; padding-bottom: 2em; }

        .structure .Tlogo img { max-width: 60%; }

        .structure .COLDX.coldx-step { margin-top: 1em; padding: 0 2em; }

        .structure .COLSX.colsx-step { text-align: center;  }

        .structure .COLSX.colsx-step img { max-width: 50%; }

        /*START*/
        .start .COLSX { padding: 0; border-bottom: 1px solid var(--cWhite); margin-bottom: 2em; text-align: center; }
        .start .COLSX img { max-width: 50%; }
        .start .COLDX { padding: 0 15px; }


        /*INVIATO*/
        .inviato .COLSX { text-align: center; }
        .inviato .COLSX img { max-width: 50%; }
        .inviato .COLDX { margin: 2em 0; }

        /*  WEBFORM  */
        .webform-component.webform-component-markup { padding: 0 0px; }
        .webform-component.webform-component--modulo--modulo-form--head-modulo { padding: 0 15px; }

    }

    /* Mobile Large, Extra Small Devices, Phones XS*/ 
    @media only screen and (max-width : 480px) {

    }

    /* Mobile Medium, iPhone Retina */ 
    @media only screen and (max-width : 375px) {


    }

    /* Mobile Small, Custom iPhone Retina */ 
    @media only screen and (max-width : 320px) {

    }

/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */

/* Small devices (tablets, 768px and up) */
@media (min-width: @screen-sm-min) {  }

/* Medium devices (desktops, 992px and up) */
@media (min-width: @screen-md-min) {  }

/* Large devices (large desktops, 1200px and up) */
@media (min-width: @screen-lg-min) {  }


@media (max-width: @screen-xs-max) {  }
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {  }
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) {  }
@media (min-width: @screen-lg-min) {  }

