@import url('reset.css');

::-moz-selection{ background-color: #a9ca6e; color: #FFF;}
::selection{ background-color: #a9ca6e; color: #FFF;}

*{-webkit-appearance: none; -webkit-text-size-adjust: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}

a {text-decoration: none; color: #429050; cursor: pointer;}
a:hover {color: #888;}

a.opacity {
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
	-o-transition: opacity .25s ease-in-out;
	transition: opacity .25s ease-in-out;
	border: none;
}

a:hover.opacity {
	opacity: 0.6;
	-moz-opacity: 0.6;
	filter: alpha(opacity=60);
	border: none;
}

a.opacityinverse {
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
	-o-transition: opacity .25s ease-in-out;
	transition: opacity .25s ease-in-out; border:none;
	opacity: 0.5;
	-moz-opacity: 0.5;
	filter: alpha(opacity=50);}
	
a:hover.opacityinverse {
	opacity: 1;
	-moz-opacity: 1;
	border: none;
}


body {
   background: #f2ede9;
   font-family: 'Open Sans', sans-serif;
   color: #828485;
   font-size: 14px;
   line-height: 22px;
   letter-spacing: 0;
   font-weight: normal;
}

h1 {font-size: 22px; line-height: 44px; margin-bottom: 20px; font-weight: 700; color: #000; position: relative; font-family: 'Open Sans', sans-serif; border-bottom: 1px solid #efefef; letter-spacing: -1px;}
h1 span.tag {width: 150px; height: 5px; background: #a9ca6e; position: absolute; z-index: 9; top: 40px;}
h2 {font-size: 18px; line-height: 21px; color: #000; margin-bottom: 10px; font-family: 'Open Sans', sans-serif; font-weight: 700;}
h3 {font-size: 26px; line-height: 30px; color: #414141; margin-bottom: 20px; font-family: 'Open Sans', sans-serif; font-weight: 400;}
h4 {font-size: 20px; line-height: 21px;  letter-spacing: 6px; text-transform:uppercase; font-family: 'Open Sans', sans-serif; font-weight: 400; padding: 20px 0 0 0;}
h4 span.under-h4 {width: 80px; height: 1px; background: white; display: block; text-align: center; margin: 10px auto 0 auto;}

.clear{clear: both;}
.left {position: relative; float: left;}
.right {position: relative; float: right;}

p {margin-bottom: 10px;}

.box-shadow {-webkit-box-shadow:0 0px 1px rgba(0, 0, 0, 0.20);
	-moz-box-shadow:0 0px 1px rgba(0, 0, 0, 0.20);
	box-shadow:0 0px 1px rgba(0, 0, 0, 0.20);}
	
strong {color: #000;}


#cookieChoiceInfo {bottom: 0; top: inherit !important; font-size: 10px; line-height: 15px; padding-top: 10px !important; font-family: Helvetica, Arial, sans-serif;}
#cookieChoiceInfo a#cookieChoiceDismiss {margin-left: 8px !important;}

/* --------------------------------------------------------------------------
        CSS BASE
--------------------------------------------------------------------------- */

#container {position:relative; height: auto; overflow:hidden; width: 1100px; padding: 40px; background: white; margin: 50px auto 0 auto;}
#main-wrapper {position:relative; height: auto; overflow:hidden; min-height:310px;}
#main-wrapper a {font-weight: 600;} 

a.bottone {position:relative; height: auto; overflow:hidden; padding: 5px 15px 4px 15px; background: #a9ca6e; color: white; text-transform: uppercase; display: inline-block;font-size: 12px; letter-spacing: 2px; font-family: 'Open Sans', sans-serif; border-radius: 4px; font-weight:400;}
a.bottone:hover {background: #9ebe64;}

#path {position:relative; height: auto; overflow:hidden; font-size: 10px; right: 2px; position: absolute; top: 16px; text-align: right; z-index: 999;}
#path a {font-weight: 600;}

#main-wrapper p {text-align: justify;}
#main-wrapper ul.gallery-interna li {border: 10px solid #F8F8F8;}
#main-wrapper .colonna-dx {width: 450px; margin-left: 30px; min-height: 520px}

.pdf-container {position:relative; height: auto; overflow:hidden; background: #F8F8F8; padding: 10px 10px 6px 10px;}

table.tabella-parti-sociali, table.tabella-parti-sociali tr, table.tabella-parti-sociali tr td {text-align: center;}
#main-wrapper table.tabella-parti-sociali tr td p {text-align: center;}


.tabella-parti-sociali.row, .tabella-parti-sociali.row .col-r-4 {text-align: center;}
.tabella-parti-sociali.row .col-r-4:nth-child(3n+1) {clear: both;}
.tabella-parti-sociali.row img {display: inline-block; margin-bottom:10px;}

.tabella-parti-sociali.row .col-r-4 {margin-bottom: 10px !important;}

/* --------------------------------------------------------------------------
        TOP
--------------------------------------------------------------------------- */

#top {position:relative; height: 140px;}
#logo {position:relative; height: auto; overflow:hidden;}
#top-contact {position:relative; height: auto; overflow:hidden; text-align: right; font-size: 12px; line-height: 18px;}
#top-contact a {font-weight: 600;}

/* --------------------------------------------------------------------------
        MENU
--------------------------------------------------------------------------- */

#menu {position:relative; height: 41px; margin: 20px 0 24px 0; background: #429050;}
#menu ul {position:relative; height: auto; background: #429050; float: left;}
#menu ul li {position:relative; height: auto;  padding: 10px 15px 9px 15px; display: inline-block; color: #f8f8f8;  font-weight: 400; font-family: 'Open Sans Condensed', sans-serif; font-size: 17px; text-transform: uppercase;}
#menu ul li a {position: relative; text-transform: uppercase; color: #f8f8f8; font-weight: 600; font-weight: 400; font-family: 'Open Sans Condensed', sans-serif; font-size: 17px;}
#menu ul li a:hover, #menu ul li.active a {color: #FFF;}
#menu ul li.active, #menu ul li:hover {background: #2e843d; cursor: pointer;}

#menu ul li.provvidenze {cursor: pointer;  font-weight:600; font-size: 14px;}
#menu ul li.provvidenze:hover {color: black;}
#menu ul li.active.provvidenze {color: black;}

#menu ul.provvidenze {position:absolute; top: 41px; left: 0; z-index: 493493; display: none; box-shadow: inset 0 7px 9px -7px rgba(0,0,0,0.7);}
#menu ul.provvidenze li {width: 210px; position:relative; height: auto; overflow:hidden; display: block; float: none; background: #2e843d; margin: 0; padding: 10px 15px 10px 15px; border-bottom: 1px solid #4F9D5D;}
#menu ul.provvidenze li:hover {background: #429050;}
#menu ul.provvidenze li a {color: #FFF; font-weight:400; font-size: 14px;}
#menu ul.provvidenze li a:hover {color: #FFF;}

#menu ul.provvidenze li.active {background: #429050;}

#menu ul li:hover ul.provvidenze {display: block;}

#show-hide-menu {text-align: center; margin-top: 14px; display: none;}
#social {position:relative; height: auto; overflow:hidden; top: 13px; right: 12px;}


/* --------------------------------------------------------------------------
        SLIDER
--------------------------------------------------------------------------- */

#slider {position:relative; height: auto; overflow:hidden; margin-bottom: 35px;}


/* --------------------------------------------------------------------------
        SLOGAN
--------------------------------------------------------------------------- */

#slogan-container {position:relative; height: auto; overflow:hidden;}
#slogan-container h1 {position:relative; height: auto; overflow:hidden; font-family: 'Open Sans Condensed', sans-serif; font-weight: 700; text-transform: uppercase; color: #2b8b51; letter-spacing: -2px; font-size: 42px; line-height: 42px; text-align: center; border-bottom: 0;}
#slogan-container .slogan {position:relative; height: auto; overflow:hidden; color: #848484; font-size: 20px; line-height: 34px; font-family: 'Open Sans', sans-serif; font-weight: 300; text-align: center;}
#slogan-container .slogan p {text-align: center;}
#slogan-container .slogan a.bottone {margin-top: 15px;}


/* --------------------------------------------------------------------------
        FOOTER
--------------------------------------------------------------------------- */

#sponsor {position:relative; height: auto; overflow:hidden; background: #f8f8f8; padding: 30px 0 30px 0; text-align: center; width: 1100px; margin: 0 auto;}
#sponsor ul {position:relative; height: auto; overflow:hidden; text-align: center;}
#sponsor ul li {position:relative; height: auto; overflow:hidden; display: inline-block; vertical-align: middle; padding: 0 12px 0 12px;}
#footer {position:relative; height: auto; overflow:hidden; width: 1100px; font-size: 11px; margin: 20px auto 50px auto;}
#footer .wrapper .right a {color: #828485;}

/* --------------------------------------------------------------------------
        CONTATTI
--------------------------------------------------------------------------- */

#contatti-left {width: 380px;}
label {font-weight:600; color: #000;}
input {position: relative; height: auto; overflow: hidden; width: 350px; border: 1px solid #dadada; background: #FFF; font-size: 12px; color: #999999; padding: 10px; display: block; margin-bottom: 15px; border-radius: 4px;}
textarea {position: relative; height: auto; overflow: hidden; display: block; width: 350px; font-size: 13px; border: 1px solid #dadada; background: #FFF; padding: 10px; height: 170px; margin-bottom: 15px; color: #999999; border-radius: 4px;}

input.submit {background: #a9ca6e; color: #FFF; border: 0; cursor: pointer; font-weight: bold; text-transform: uppercase; font-size: 13px; letter-spacing: 2px; padding: 10px 0 10px 0; width: 150px; text-align: center;  -webkit-appearance: none; letter-spacing: 5px; font-weight:400;}
input.submit:hover {background: #9ebe64;}
input:focus, select:focus, textarea:focus, button:focus {outline: none;}


/* --------------------------------------------------------------------------
        Responsive patterns
--------------------------------------------------------------------------- */

.col-r-1 {width: 8.33%;}
.col-r-2 {width: 16.66%;}
.col-r-3 {width: 25%;}
.col-r-4 {width: 33.33%;}
.col-r-5 {width: 41.66%;}
.col-r-6 {width: 50%;}
.col-r-7 {width: 58.33%;}
.col-r-8 {width: 66.66%;}
.col-r-9 {width: 75%;}
.col-r-10 {width: 83.33%;}
.col-r-11 {width: 91.66%;}
.col-r-12 {width: 100%;}

[class*="col-r-"] {float:left; padding: 15px; position: relative; height: auto; overflow: hidden;}
[class*="col-r-"] p img {width: 100% !important; height: auto !important;}
.row::after {content: ""; clear: both; display: block;}
.row.row-no-margin {margin: -15px;}

/* ---- MASONRY ---- */
.masonry.masonry-2 {column-count: 2; column-gap: 0.3em; }
.masonry.masonry-3 {column-count: 3; column-gap: 0.3em; }
.item {width: 100%; position: relative !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;break-inside: avoid}
.item img {width: 100%; display: block;}






/* --------------------------------------------------------------------------
        RESPONSIVE
--------------------------------------------------------------------------- */

@media screen and (max-width: 900px) {

  /* ---- FLEXBOX ---- */
  .flexbox-container {display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-moz-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}
  .flexbox-container .first-div{-webkit-box-ordinal-group:2;-moz-box-ordinal-group:2;-ms-flex-order:2;-webkit-order:2;order:2}
  .flexbox-container .second-div{-webkit-box-ordinal-group:1;-moz-box-ordinal-group:1;-ms-flex-order:1;-webkit-order:1;order:1}

  .only-mobile {display: block;}
  .not-mobile {display: none;}

  .unveil {opacity: 1}

  .flex-vertical-center {display: block;}
  .flex-vertical-center.flexbox-container {display: flex;}

  .masonry.masonry-2 {column-count: 1;}
  .masonry.masonry-3 {column-count: 1;}

  [class*="col-r-"] {float: none; padding: 0 0 15px 0 !important; width: 100%;}
  [class*="col-r-"]:last-child {padding-bottom: 0 !important;}
  .row.row-no-margin {margin: 0;}

  input.checkbox {float: none; margin-bottom: 10px !important; padding: 0;}

  #container {width: 100%; padding: 20px;}
  #main-wrapper {width: 100%;}
  #top-contact {display: none;}
  #sponsor, #footer  {width: 100%}
  #sponsor ul li ul li {
	  display: inline-block;
	  width: 50%; /* Imposta larghezza al 50% della larghezza del contenitore padre */
	  box-sizing: border-box; /* Considera il padding e il bordo all'interno della larghezza */
	  padding: 5px; /* Aggiunge spazio tra gli elementi */
	  margin-bottom: 15px;
	}
	  #footer .left, #footer .right {display: block; text-align: center; float: none;}
	  #main-wrapper .colonna-dx {margin: 0; width: 100%; margin-bottom: 30px; min-height: auto}
	  #path {display: none;}

	#slogan-container .slogan {font-size: 16px; line-height: 26px;}
	#mappa {width: 100%;
    display: block;
    float: none; z-index: 1; position: relative;}
    #mappa iframe {width: 100%;}
    #container {margin-top: 30px;}

    #menu {float: right; width: 100%; z-index: 4399; margin-bottom: 15px;}
    #menu ul {height: auto; display: block; width: 100%; display: none; margin: 0; padding: 0; float: none; top: 7px; position: relative;}
    #menu ul li {display: block; text-align: center; width: 100%; padding: 10px 0; margin: 0; background: rgba(255, 255, 255, 0.9); border-bottom: 1px solid #6ca177;     display: block;
    z-index: 999;
    background: #429051;}
    #menu ul li, #menu ul li a {font-size: 14px; text-transform: none; text-decoration: none; display: block;}
    #menu ul.provvidenze li {width: 100%;}
    #social {display: none;}
    #menu ul.provvidenze {display: block;position: relative;top: 0;margin: 0; box-shadow: none; margin-top: 9px;
    margin-bottom: -11px;}
    #menu ul.provvidenze li {background: inherit}
    #container {overflow: visible;}

    #menu {text-align: center; float: none;}
    #show-hide-menu {display: inline-block !important;}
    #show-hide-menu img {filter: invert(1);}
    #top {height: auto;}
    #menu ul li, #menu ul li a, #menu ul.provvidenze li a {font-size: 18px;}

    #contatti-left {width: 100%; z-index: 3; position: relative;}
    .form-left.left {float: none;}
    input, textarea {width: 100%;}
}

