/**
 * 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/css2?family=Roboto:wght@300;400;500;700;900&display=swap');



:root {
    --cArancio: #ff7f00;
    --cDArancio: #f39638;
    --cLGreen: #3aaa35;
    --cGreen: #007c7d;
    --cLGray: #eff0f0;
    --cGray: #797e82; 
    --cDGray: #3c3d41; 
    --cBlack: #000000; 
    --cLBlack: #616161; 
    --cWhite: #FFFFFF;
}


/* SYSTEM */

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

.wideL {
    margin: 0 0 0 -9999px;
    padding: 0 0 0 9999px;
    position: relative;
}

.wideR {
    margin: 0 -9999px 0 0;
    padding: 0 9999px 0 0;
    position: relative;
}

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

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

.padding-vertical { padding-bottom: 1em; padding-top: 1em; }
.padding-vertical2 { padding-bottom: 2em; padding-top: 2em; }
.padding-vertical3 { padding-bottom: 3em; padding-top: 3em; }
.padding-vertical4 { padding-bottom: 4em; padding-top: 4em; }
.padding-left { padding-left: 15px; }
.padding-right { padding-right: 15px; }
.padding-top { padding-top: 1em; }
.padding-bottom { padding-bottom: 1em; }
.padding-bottom1 { padding-bottom: 0.5em; }
.padding-top2 { padding-top: 2em; }
.padding-bottom2 { padding-bottom: 2em; }
.padding-top3 { padding-top: 3em; }
.padding-bottom3 { padding-bottom: 3em; }
.padding-top4 { padding-top: 4em; }
.padding-bottom4 { padding-bottom: 4em; }
.nopadding-top { padding-top: 0;}
.nopadding-bottom { padding-bottom: 0;}
.margin-top { margin-top: 1em; }
.margin-bottom { margin-bottom: 1em; }
.margin-top2 { margin-top: 2em; }
.margin-bottom2 { margin-bottom: 2em; }
.nomargin { margin: 0 !important;}
.nomargin-top { margin-top: 0;}
.nomargin-bottom { margin-bottom: 0;}
.h-100 { height: 100%; }
.w-100 { width: 100%; }
.m-auto { margin: auto auto; }
.mx-auto { margin: auto 0; }
.my-auto { margin: 0 auto; }
.mt-auto { margin-top: auto; }
.mb-auto { margin-bottom: auto; }
.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; */
/*}*/

/*.sm-d-flexr-row  { flex-direction: row-reverse; }*/
/*.sm-d-flexr-column { flex-direction: column-reverse; }*/

.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(--cWhite);
    background-color: var(--cWhite);
    font: 17px/1.4 Helvetica,Arial,sans-serif;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    color: var(--cBlack);
    margin: 0px 0px;
}

h1, h2, h3, h4, h5, h6, p,
.h1, .h2, .h3, .h4, .h5, .h6 { 
    font-family: Helvetica,Arial,sans-serif;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    margin-top: 0px;
    margin-bottom: 10px;
    color: var(--cDGray);
    line-height: 1.4;
}


h1, .h1 { font-weight: 400; font-size: 1.6em; line-height: 1.3; } /*40*/

h1.title, .h1.title { font-weight: 400; font-size: 1.8em; line-height: 1.3; } /*45*/

h1.big, .h1.big { font-weight: 400; font-size: 2.4em; line-height: 1.3; } /*55*/

h2, .h2 { font-weight: 400; font-size: 1.35em; line-height: 1.3; } /*35*/

h3, .h3 { font-weight: 400; font-size: 1.2em; line-height: 1.4; } /*30*/

h4, .h4 { font-weight: 400;  font-size: 0.88em; line-height: 1.4; } /*22*/

h5, .h5 { font-weight: 400;  font-size: 0.72em; line-height: 1.4; } /*18*/

h6, .h6 { font-weight: 400;  font-size: 0.6em; line-height: 1.4; } /*15*/


p, ul { 
    font-family: 'Roboto', sans-serif;
    font-size: 1em;
    color: var(--cBlack);
    line-height: 1.4;
    font-weight: 400;
    margin-top: 0px;
}

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

ul, ol { padding-left: 1em; }

ul.bullet-image {  list-style: outside url("../images/arrow.png") none; padding-left: 3em; }
ul.list-unstyled {  list-style: outside none none; padding-left: 0em; }
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;
}

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; }


/* STYLE */

a, img { 
  border: 0 none; 
  text-decoration: none;
  outline: none;
 -webkit-transition: all 0.25s ease-in-out 0s; 
  -moz-transition: all 0.25s ease-in-out 0s; 
  -o-transition: all 0.25s ease-in-out 0s; 
  -ms-transition: all 0.25s ease-in-out 0s; 
  transition: all 0.25s ease-in-out 0s; 
}

.transition {
 -webkit-transition: all 0.25s ease-in-out 0s; 
  -moz-transition: all 0.25s ease-in-out 0s; 
  -o-transition: all 0.25s ease-in-out 0s; 
  -ms-transition: all 0.25s ease-in-out 0s; 
  transition: all 0.25s ease-in-out 0s; 
}

.cover img,
.img-cover { width: 100%; height: 50vw; height: auto; object-fit: cover; object-position: 50% 50%;  object-position: center top; }

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

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

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

.marker, .form-requiArancio, .request { color: var(--cGreen);  }

.evidenza { color: var(--cGreen); }
.LGreen { color: var(--cLGreen); }
.Green { color: var(--cGreen); }
.LGray { color: var(--cLGray); }
.Gray { color: var(--cGray); }
.DGray, .CText { color: var(--cDGray); }
.White { color: var(--cWhite); }
.Black  { color: var(--cBlack); }
.LBlack  { color: var(--cLBlack); }
.Arancio  { color: var(--cDArancio); }
.LArancio  { color: var(--cArancio); }


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

.bgLGreen { background-color: var(--cLGreen); }
.bgGreen { background-color: var(--cGreen); }
.bgLGray { background-color: var(--cLGray); }
.bgGray { background-color: var(--cGray); }
.bgDGray { background-color: var(--cDGray); }
.bgWhite { background-color: var(--cWhite); }
.bgBlack { background-color: var(--cBlack); }
.bgLBlack { background-color: var(--cLBlack); }




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,
.btn-primary, .btn-secondary { 
  border: 1px solid var(--cArancio) !important;
  background-color: var(--cArancio);
  font-family: 'Roboto', sans-serif;
  font-size: 1em;
  font-size: 0.9em;
  font-weight: 400;
  color: var(--cWhite) !important;
  padding: 0.5em 1em;
  -webkit-border-radius: 0px; 
  -moz-border-radius: 0px;
  border-radius: 0px;
  text-decoration: none; 
 -webkit-transition: all 0.25s ease-in-out 0s; 
  -moz-transition: all 0.25s ease-in-out 0s; 
  -o-transition: all 0.25s ease-in-out 0s; 
  -ms-transition: all 0.25s ease-in-out 0s; 
  transition: all 0.25s ease-in-out 0s; 
  outline: none;
  box-shadow: 0px 3px 6px #666666;
  box-shadow: none;
/*  border-radius: 27px;*/
  text-transform: none;
  white-space: normal;
}

.btn:hover {
  background-color: var(--cLGreen) !important;
  border-color: var(--cLGreen) !important; 
  color: var(--cWhite) !important;
}

.btn-primary,
.webform-client-form .form-actions .form-submit {
  background-color: var(--cArancio) !important;
  border-color: var(--cArancio) !important; 
  color: var(--cWhite) !important;
}

.btn-primary:hover,
.webform-client-form .form-actions .form-submit:hover {
  background-color: var(--cDArancio) !important;
  border-color: var(--cDArancio) !important; 
  color: var(--cWhite) !important;
}


.btn-secondary {
  background-color: var(--cDGray) !important;
  border-color: var(--cDGray) !important; 
  color: var(--cBlack) !important;
}

.btn-secondary:hover {
  background-color: var(--cGreen) !important;
  border-color: var(--cGreen) !important; 
  color: var(--cWhite) !important;
}

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

.btn: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) */
}

.gradient-ver { 
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#4c7a9b+0,862161+100 */
  background: #4c7a9b; /* Old browsers */
  background: -moz-linear-gradient(top,  #4c7a9b 0%, #862161 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top,  #4c7a9b 0%,#862161 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom,  #4c7a9b 0%,#862161 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4c7a9b', endColorstr='#862161',GradientType=0 ); /* IE6-9 */
}

.border-top { border-top: 2px solid var(--cGray); }
.border-bottom { border-bottom: 2px solid var(--cGray); }

/*SCROLL-TO-TOP*/
.scroll-to-top {
    position: fixed;
    display: none;
    text-align: center;
    color: var(--cGreen);
    background: none;
    line-height: 1;
    z-index: 98;
    background:var(--cWhite);
    padding: 0;
    right: 0.5em;
    bottom: 0.5em;
    width: 2em;
    height: 2em;
    border-radius: 50px;
    transition: all 0.25s ease-in-out 0s;
}
.scroll-to-top a { color: var(--cGreen); }
.scroll-to-top a:focus, .scroll-to-top a:hover { var(--cDBlu); }
.scroll-to-top:hover {  -webkit-filter: invert(.2);  filter: invert(.2); }
.scroll-to-top i { color: var(--cGreen); font-size: 1.4em; line-height: 0; }


/*STRUCTURE*/
.structure { max-width: 2000px; }
/*.structure .container-fluid.grid { padding-left: 0; padding-right: 0; }*/

/*HEADER*/
.header {
/*  background: #001B30 url("../images/header_bg.jpg") no-repeat scroll center left / cover; */
/*  background-color: var(--cDBlu);*/
  padding-bottom: 4em;
}


.header .row-caption .caption { text-align: center; }
.header .row-caption .caption .box {
  position: relative; 
  display: block;
  padding: 0.5em 3em;
  text-align: center;
}



/*CONTATTI*/
.contatti {} 

.contatti .sez-caption .subtitle { padding-top: 0.2em; padding-bottom: 0em; } 

.contatti .sez-caption .row1 .boxes { position: relative; top: -30px;}

.contatti .sez-caption .row2 .boxes { margin-bottom: 0.3em; }
.contatti .sez-caption .row2 .boxes { background-color: var(--cGreen); padding: 0.3em 0.8em; margin-bottom: 0.3em; opacity: 1; }
.contatti .sez-caption .row2 .boxes:nth-child(2n+0) { background-color: var(--cLGreen); }


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

.footer-first .logo { text-align: right; }


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

.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: 'Roboto', sans-serif;
    display: inline;
    float: left;
    margin: 0.5em 0px;
    margin: 0 0 0.5em;
    position: relative;
    font-weight: 400;
    font-size: 1em;
}

.webform-component label,
.webform-component .description {
    font-family: 'Roboto', sans-serif;
    display: inline;
    float: left;
    margin: 0 0 0.5em;
    font-size: 0.6em;
    text-transform: none;
    position: relative;
    color: var(--cDGray); 
    font-weight: 400;
    width: 100%;
    line-height: 1.4;
}

.webform-component .description { }

.webform-component input,
.webform-component select,
.webform-component textarea,
.webform-client-form fieldset {
    border: 0px solid var(--cDGray); 
    background:  none no-repeat scroll 0 0 transparent;
    background-color: var(--cLGray);
    display: inline;
    float: left;
    font-size: 0.6em;
    font-weight: 400;
    margin: 0;
    position: relative;
    padding: 0.2em 0.5em;
    padding: 0.8em 0.8em;
    height: auto;
    color: var(--cDGray); 
    -webkit-border-radius: 0px; 
    -moz-border-radius: 0px;
    border-radius: 0px;
    box-shadow: none;
}

.webform-component input,
.webform-component select,
.webform-component textarea { border-bottom: 1px solid var(--cDGray); }

.webform-component textarea { resize: none; }

.webform-component .form-type-checkbox,
.webform-component .form-type-radio {
    font-family: 'Roboto', 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:  0.72em;
    color: var(--cDGray); 
    font-weight: 400;
    line-height: 1.4;
    width: 100%;
    margin: 0.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: -30px;
    width: auto; 
}

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


.webform-component.special { padding-right: 0; }

.webform-component .form-control { color: var(--cDGray); }
.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-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 15px; }

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

.webform-component-markup.webform-component--campi { width: 50%; text-align: left; margin-bottom: 1em; }

.webform-component-markup .campi { font-weight: 400; font-size: 0.6em; margin: 0.2em;}

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

.webform-component.privacy { margin: 0; position: relative; }
.webform-component.privacy a  { color: var(--cLGreen); font-weight: 400; text-decoration: underline; }

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


.webform-client-form .form-actions { 
  position: relative;
  text-align: right;
  float: right;
  width: 100%;
  margin: 1em 0 0;
  padding: 0; 
  width: 100%;
}

.webform-client-form .form-actions .form-submit { 
  font-family: 'Roboto', sans-serif;
/*  border: none;*/
/*  color: var(--cDBlu) !important;*/
  font-size: 1em;
  padding: 0.5em 2.5em;
  text-shadow: none;
  text-transform: none;
  font-weight: 400;
  z-index: 1;
  text-transform: uppercase;
/*  border-radius: 0;*/
/*  background: var(--cDBlu) none no-repeat scroll 0 0;*/
  position: relative;
  outline: none;
  width: auto;
  right: 1em;

}

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


/*==================================================
=            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: 18px; }

    }

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

        body { font-size: 19px; }
    }

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

        body { font-size: 16px; }

    }

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

        body { font-size: 21px; }

    }

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

        body { font-size: 25px; }

    }


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


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


    }

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

    }

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


    }

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

      h1.big, .h1.big {  font-size: 2.35em; }


      /*WEBFORM*/
      .webform-component input,
      .webform-component select,
      .webform-component textarea,
      .webform-client-form fieldset { font-size: 0.72em; }



    }

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

      .xs-d-flexr-column { flex-direction: column-reverse; }

      h1.big, .h1.big { font-size: 2em; }

      br { display: none; }

      /*HEADER*/
      .header .row-caption .caption { padding-left: 0em; padding-right: 0em; text-align: center; }
      .header .row-caption .caption { text-align: center; }

      /*ADV*/
      .adv { padding-bottom: 0em; }


      /*CONTATTI*/
      .contatti .alpha { padding-left: 15px; }

      .contatti .row-head { padding-bottom: 1em; padding-top: 1em; }


      /*FOOTER*/
      .footer-first .caption { text-align: center; padding-left: 0em; padding-right: 0em; }
      .footer-first .caption .h5 { font-size: 0.8em; }
/*      .footer-first .caption .break { display: block; position: relative;  font-size: 0; }*/
      .footer-first .logo { text-align: center; }
      .footer-first .logo img { max-width: 70%; }

      /*WEBFORM*/
      .webform-component input,
      .webform-component select,
      .webform-component textarea,
      .webform-client-form fieldset { font-size: 0.85em; }

      .webform-component .form-type-checkbox label,
      .webform-component .form-type-checkbox .description,
      .webform-component .form-type-radio label,
      .webform-component .form-type-radio .description { font-size: 0.9em; }

      .webform-component-markup.webform-component--campi { width: 100%; }

      .webform-component-markup .campi,
      .webform-component.privacy .control-label { font-size: 0.85em; }

      .webform-client-form .form-actions { text-align: center; float: left; margin-top: 2em; }
      .webform-client-form .form-actions .form-submit { font-size: 1.25em; right: 0; width: 100%; } 


      .contatti .sez-caption .row1 .padding-bottom3 { padding-bottom: 0.2em; }


    }

    /* 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) {  }

    /*==========  CROSS BROWSER  ==========*/

/*HOOK EXPLORER11*/
@media all and (-ms-high-contrast:none) { 

}


