@import url('https://fonts.googleapis.com/css2?family=Rethink+Sans:ital,wght@0,400..800;1,400..800&display=swap');

:root {
  --colore_1: rgb(25, 70, 25);
  --colore_2: #81AD00;
  --colore_3:  #151515;
  --colore_1_alpha2: rgba(25, 70, 25,.2);
  --colore_testo_1: #666666;
  --bianco: #ffffff;
  --nero: #000000;
  --errore: #B22222;
  --placeholder: #999999;
  --dark: #141213;
}

/*GENERALI*/
html,body{overflow-x: hidden!important}
button:focus,a:focus {outline: 0;}
h1, h2, h3, h4, h5, h6{font-family: "Rethink Sans", sans-serif;font-optical-sizing: auto;color:var(--colore_1);font-weight: 500;}
h1{font-size: 60px;}
@media (max-width: 1199px) {
  h1{font-size: 50px;}
}
@media (max-width: 991px) {

  h1{font-size: 50px;}
}
@media (max-width: 768px) {
  h1{font-size: 40px;}
}
@media (max-width: 480px) {
  h1{font-size: 30px;}
}
h1>span,h2>span{color:var(--colore_2);}
h2{font-size: 40px;font-weight: 400;}
h3{font-size: 35px;}
p,input,ul,li,label,table,tr,td, button{font-family: "Rethink Sans", sans-serif;font-optical-sizing: auto;font-weight: 400;color:var(--colore_testo_1);font-size: 16px;line-height: 24px}
label{line-height: 30px}
tr{border:1px solid #707070;}
td{border-right:1px solid #707070;padding: 10px;}

a{transition: all 0.3s ease;color:var(--colore_1);}
a:hover{color:var(--colore_1);}
dl, ol, ul {margin-top: 0;margin-bottom: 0;}
footer .studio09{max-width: 100px;width: 200px;}
footer{
	justify-content: space-between;
align-items: flex-start;
align-self: stretch;
	background-color: var(--colore_3);
	padding: 80px;
	position: relative;
}
footer::after {
	content:"";
	position:absolute;
	background:#151515;
	top:-50px;
	left:0;
	width:100%;
	height:50%;
	z-index: -1;
}
footer p, footer a{
	color: var(--bianco);
}
@media (max-width: 768px) {
  footer{
	    padding: 50px 10px;
  }
}
.wow{visibility: hidden;}
ul{padding-inline-start: 0px;}

.pretitolo{
	color: var(--colore_1);
font-size: 14px;
font-style: normal;
line-height: 125%; /* 17.5px */
letter-spacing: 1.4px;
text-transform: uppercase;
margin-bottom: 15px;
}
.white{color: var(--bianco);}
.bg_colore_1{
	background-color: var(--colore_1);
}

.bg_form::after {content:"";
	position:absolute;
	background:var(--bianco);
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index: -1;
}
.home .bg_form::after{
	background:var(--colore_1);
}
.bg_form{
	position: relative;
	padding: 55px;
	background:  url(../img/DSC00512.jpg) no-repeat center center;
	background-size: cover;
}
.bg_map{
	position: relative;
}
.bg_map iframe{
	border-radius: 30px;
}
.bg_form *{
	position: relative;
	z-index: 1;
}
@media (max-width: 768px) {
  .bg_form{
	padding: 25px 15px;
}
}

.inner-form{border-radius: 30px;border: 1px solid #dddddd;padding: 50px;}

.colore_3{
color: #EBF3D7;
}
.colore_1{
	color:var(--colore_1);
}
.colore_2{
	color:var(--colore_2);
}
.light-green{
	color:var(--colore_2);
}

.bg-header{
	padding: 55px;
	background: url(../img/bg-home.jpg) no-repeat center center;
	background-size: cover;
	position:relative;
}
.bg-header::after {
	content:"";
	position:absolute;
	background:#194619;
	top:0;
	left:0;
	width:100%;
	height:50%;
	z-index: -1;
}
@media (max-width: 768px) {
  .bg-header{
	padding: 25px 15px;
}
}


.bg-header-page{position: relative;background-color: #ffffff;}
.bg-header-page::after {
	content:"";
	position:absolute;
	background: rgba(25, 70, 25, 0.1);
	top:0;
	left:0;
	width:100%;
	height:50%;
	z-index: -1;
}

.box-contatti{position: absolute;top: 300px;z-index: 10;}
@media (max-width: 991px) {
  .box-contatti {
    position: absolute;
    top: 400px;
    z-index: 10;
    right: 15px;
}
}

@media (max-width: 480px) {
  .box-contatti {
        position: absolute;
        top: 460px;
        z-index: 10;
        right: 60px;
        width: calc(80% - 30px);
    }
	.icona-orario{margin-bottom: 14px;}
}
.tasto-appuntamento{
	padding: 32px;
	text-transform: uppercase;
	background: url(../img/freccia-down.svg) no-repeat center right 15px;
	background-size: 70px;
	background-color: var(--colore_2);
	color: #ffffff;
	letter-spacing: 0.65px;
	font-size: 22px;
	line-height: 1.1;
	border-radius: 0 0 20px 20px;
	display: block;
    text-decoration: none;
}
.tasto-appuntamento:hover{
background-color: var(--colore_1);
color: var(--bianco);
}
@media (max-width: 768px) {
  .tasto-appuntamento{
	font-size: 18px;
	background-size: 60px;
	}
}
@media (max-width: 480px) {
    .tasto-appuntamento {
        font-size: 16px;
        background-size: 60px;
        padding: 20px;
    }
}
.inner-appuntamento{
	padding: 50px 32px;
	background-color: rgba(255,255,255,1);
	border-radius: 20px 20px 0 0;
}
.inner-appuntamento p{
	color: var(--colore_1);
	font-weight: 500;
	font-size: 20px;
}
@media (max-width: 768px) {
  .inner-appuntamento p {
    color: var(--colore_1);
    font-weight: 500;
    font-size: 16px;
}
}
@media (max-width: 480px) {
  .inner-appuntamento{
	padding: 30px 30px;
  }
}
.icona-telefono{
	margin-bottom: 24px;
	padding-left: 40px;
	background: url(../img/icona-telefono.svg) no-repeat left center;
	background-size: 32px;

}
.icona-orario{
	margin-bottom: 24px;
	padding: 2px 0px 2px 40px;
	background: url(../img/icona-orologio.svg) no-repeat left center;
	background-size: 32px;
}
.icona-indirizzo{
	margin-bottom: 0px;
	padding: 0px 0px 0px 40px;
	background: url(../img/icona-indirizzo.svg) no-repeat left top 2px;
	background-size: 32px;
}
.icona-email{
	margin-bottom: 24px;
	padding: 0px 0px 0px 40px;
	background: url(../img/icona-email.svg) no-repeat left top -3px;
	background-size: 32px;
}
footer .icona-indirizzo {
    margin-bottom: 0px;
    padding: 1px 0px 1px 40px;
    background: url(../img/icona-indirizzo.svg) no-repeat left top -3px;
    background-size: 32px;
}
.social{width:45px;}
.border-radius-30{border-radius: 30px;}
.border-radius-30-0{border-radius: 30px 30px 0px 0px;}
.border-radius-16{border-radius: 16px;}
.navbar-brand img{max-width: 106px;border-radius: 100px;}
.navbar-toggler{background:#ffffff!important; width: 45px;height: 45px;border-radius: 60px;text-align: center;padding: 0}
.navbar-toggler-linea{transition: all 0.3s ease;border-radius:15px;background:var(--colore_1)!important;height: 2px;width: 25px;margin-bottom: 5px;display:block;margin:0px auto 5px;position:relative;top:0;}
.navbar-toggler-linea:nth-child(3){margin-bottom: 0px; }
.menu-toggle-open .navbar-toggler-linea:nth-child(1){transform: rotate(45deg) translate(6px,6px);}
.menu-toggle-open .navbar-toggler-linea:nth-child(2){transform: translate(40px);opacity: 0;}
.menu-toggle-open .navbar-toggler-linea:nth-child(3){transform: rotate(-45deg) translate(4px,-4px);}

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: none;
}
/*MARGIN-TOP*/
.mt-10{margin-top: 10px;}.mt-20{margin-top: 20px;}.mt-30{margin-top: 30px;}.mt-40{margin-top: 40px;}.mt-50{margin-top: 50px;}.mt-60{margin-top: 60px;}.mt-70{margin-top: 70px;}.mt-80{margin-top: 80px;}.mt-90{margin-top: 90px;}.mt-100{margin-top: 100px;}.mt-120{margin-top: 120px;}
/*MARGIN-BOTTOM*/
.mb-10{margin-bottom: 10px;}.mb-20{margin-bottom: 20px;}.mb-30{margin-bottom: 30px;}.mb-40{margin-bottom: 40px;}.mb-50{margin-bottom: 50px;}.mb-60{margin-bottom: 60px;}.mb-70{margin-bottom: 70px;}.mb-80{margin-bottom: 80px;}.mb-90{margin-bottom: 90px;}.mb-100{margin-bottom: 100px;}.mb-120{margin-bottom: 120px;}

@media (max-width: 768px) {
  .mt-100{margin-top: 60px;}
  .mb-100 {
    margin-bottom: 60px;
}
}

/*PADDING-TOP*/
.pt-10{padding-top: 10px;}.pt-20{padding-top: 20px;}.pt-30{padding-top: 30px;}.pt-40{padding-top: 40px;}.pt-50{padding-top: 50px;}.pt-60{padding-top: 60px;}.pt-70{padding-top: 70px;}.pt-80{padding-top: 80px;}.pt-90{padding-top: 90px;}.pt-100{padding-top: 100px;}.pt-120{padding-top: 120px;}
/*PADDING-BOTTOM*/
.pb-10{padding-bottom: 10px;}.pb-20{padding-bottom: 20px;}.pb-30{padding-bottom: 30px;}.pb-40{padding-bottom: 40px;}.pb-50{padding-bottom: 50px;}.pb-60{padding-bottom: 60px;}.pb-70{padding-bottom: 70px;}.pb-80{padding-bottom: 80px;}.pb-90{padding-bottom: 90px;}.pb-100{padding-bottom: 100px;}.pb-120{padding-bottom: 120px;}


.due-colonne{column-count: 2;column-gap: 50px;}
.tre-colonne{column-count: 3;column-gap: 50px;}


.fs-20{font-size: 20px;line-height: normal}
.fs-22{font-size: 22px;line-height: normal}
.fs-24{font-size: 24px;line-height: normal}
.fs-26{font-size: 26px;line-height: normal}
.fs-28{font-size: 28px;line-height: normal}
.fs-30{font-size: 30px;line-height: normal}



.fw-b{font-weight: 500}
.br-5{border-radius: 5px;}
.br-10{border-radius: 10px;}
.br-15{border-radius: 15px;}
.br-25{border-radius: 25px;}
.br-30{border-radius: 30px;}
.br-40{border-radius: 40px;}


/*.privacy {display: none;}*/


.nav-link{color: var(--colore_1);}
.nav-link:focus, .nav-link:hover {
    color: var(--colore_2);
}
@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}

/* BOTTONI */

.btn-success,
.btn-success:hover,
.btn-success.focus,
.btn-success:focus,
.btn-success:not(:disabled):not(.disabled).active,
.btn-success:not(:disabled):not(.disabled):active,
.show > .btn-success.dropdown-toggle {
	background-color: var(--colore_2);
	border-color: var(--colore_2);
	color: #ffffff;
	border-radius: 40px;
	padding-left: 2rem;
	padding-right: 2rem;
	padding-top: 0.6rem;
	padding-bottom: 0.6rem;
}

.btn-success {
	position: relative;
	transition: box-shadow .3s ease-in-out;
	transition-delay: 0;
}

.btn-success::after {
	display: inline-block;
	content:"";
	background:url(../img/arrow-up-right.svg) no-repeat center right;
	background-size:100%;
	top:0;
	left:0;
	width:24px;
	height:24px;
	vertical-align: bottom;
	transition: all 0.5s cubic-bezier(.215, .61, .355, 1);
}
.btn-success:hover::after {
	transform: rotate(45deg);
}

.btn-success:hover,
.btn-success.focus,
.btn-success:focus {
	box-shadow: var(--colore_1_alpha2) 0 0 0 6px;
}



/* FORMS */
.message {display: none;}
.form-check{position: relative;}
.form-group-material {
	margin-bottom: .625rem;
	padding-top: 1rem;
	position: relative;
}

.form-group-material .label {
	position: absolute;
	left: .75rem;
	font-size: 16px;
	color: var(--placeholder);
	pointer-events: none;
	transform-origin: left top;
	transition: all .3s ease-in-out;
}




.form-group-material .form-control {
	border-radius: 0;
	color: var(--nero);
}


.form-border-bottom .form-group-material .form-control {
	border: 0;
	border-bottom: 1px solid #000000;
	padding-left: 0px;
}

.form-border-bottom .form-group-material .label {
	color: #888888 !important;
	z-index: 10;
	left: 0px;
	transform: scale(1)!important;
	top:20px!important;
}

.form-group-material .form-control:not(textarea) {
	height: calc(1.5em + 1rem + 1px);
}


.form-group-material.active .label {
	color: var(--colore_1)!important;
	transform: scale(.77777778)!important;
	top: -7px!important;
}

.form-group-material .form-control:focus {
	outline: none;
	box-shadow: none;
}
.invalid-tooltip{padding: .03rem .3rem;font-size: 12px;top: 98%;border-radius: 0 0 .25rem .25rem}
label.error {
	margin-top: .5rem;
	margin-bottom: 0;
	color: var(--errore);
    width: 100%;
    font-size: 90%;
}

.form-control.error,
.form-control.error:focus {
	border-color: var(--errore);
	color: var(--errore);
}

.control-file {
	margin-top: 1.625rem;
	margin-bottom: 2.5rem;
	position: relative;
}

.control-file i {
	position: absolute;
	left: -.25rem;
	top: .5625rem;
	font-size: 1.625rem;
}

.control-file .file-path-wrapper {
	overflow: hidden;
}

.control-file input.file-path {
	padding: 0 0 0 2.125rem;
	border: none;
	border-radius: 0;
	background: transparent;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 1.125rem;
}

.control-file input.file-path::-moz-placeholder {
	color: var(--placeholder);
	text-decoration: underline;
	opacity: 1;
	transition: color .3s ease;
}

.control-file:hover input.file-path::-moz-placeholder {
	color: var(--colore_1);
}

.control-file input.file-path:-ms-input-placeholder {
	color: var(--placeholder);
	text-decoration: underline;
	transition: color .3s ease;
}

.control-file:hover input.file-path:-ms-input-placeholder {
	color: var(--colore_1);
}

.control-file input.file-path::-webkit-input-placeholder {
	color: var(--placeholder);
	text-decoration: underline;
	transition: color .3s ease;
}

.control-file:hover input.file-path::-webkit-input-placeholder {
	color: var(--colore_1);
}

.control-file input[type=file] {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 10;
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 1.125rem;
	cursor: pointer;
	opacity: 0;
	filter: alpha(opacity=0)
}
.form-check-label{font-size: 13px;}
/*
.custom-checkbox .custom-control-label::before {border-radius: 0;border: var(--colore_1) solid 2px;}
.custom-control-input:checked~.custom-control-label::before {color: var(--bianco);border-color: var(--colore_1);background-color: var(--colore_1);}
*/
.control-file input[type=file]::-webkit-file-upload-button {
	display: none;
}
.custom-checkbox .custom-control-label::before {border-radius: 0;border: var(--colore_1) solid 2px;}
.custom-control-input:checked~.custom-control-label::before {color: var(--bianco);border-color: var(--colore_1);background-color: var(--colore_1);}

.inner-contatti{
	background-color: #ffffff;
	padding: 50px;
	border-radius: 20px;
}


/* RESPONSIVE */

@media (max-width: 1199px) {
    .invalid-tooltip{font-size: 11px}

}



@media (max-width: 991px) {
    a,p,input,ul,li,table,tr,td{font-size: 16px;line-height: 24px}
}



@media (max-width: 767px) {
    .due-colonne,.tre-colonne{column-count: 1;column-gap: 0px;}
    a,p,input,ul,li,label,table,tr,td{font-size: 15px;line-height: 22px}

}


@media (max-width: 575px) {
	.fs-xs-20{font-size: 20px;}
	.mt-80{margin-top: 50px;}
	.mb-80{margin-bottom: 50px;}
}



.home header{
	background: #194619;
	color: #ffffff;
}

.home .nav-link, .home h1{
	color: #ffffff;
}

.contatti header{
	background: #194619;
	color: #ffffff;
}

.contatti .nav-link, .contatti h1{
	color: #ffffff;
}
.contatti .bg-header-page::after{
	background: rgba(25, 70, 25, 1);
}

.page header{
	background: rgba(25, 70, 25, 0.1);
}


.text-mute{color: #797B7E!important;}
.rounded-30{border-radius: 30px;}
.border {
    border: 1px solid #dddddd !important;
}
.p-50{padding: 50px;}

@media (min-width: 768px) { /* breakpoint md di Bootstrap */
  .border-md-end {
    border-right: 1px solid #dddddd;
  }
  .home .border-bottom{
	border-bottom:0!important;
  }

}

@media (max-width: 768px) {
    .p-50{padding: 30px;}

}

.time{position:relative;padding-left: 90px;padding-top: 5px;padding-bottom: 5px;}
.time::after {content:"";
	position:absolute;
	background:url(../img/time.svg) no-repeat center center;
	background-size:70px;
	top:0;
	left:0;
	width:70px;
	height:100%;
}

.check{position:relative;padding-left: 80px;padding-top: 5px;padding-bottom: 5px;}
.check::after {content:"";
	position:absolute;
	background:url(../img/check.svg) no-repeat center center;
	background-size:60px;
	top:0;
	left:0;
	width:60px;
	height:100%;
}
.check2{position:relative;padding-left: 60px;padding-top: 5px;padding-bottom: 5px;}
.check2::after {content:"";
	position:absolute;
	background:url(../img/check.svg) no-repeat center center;
	background-size:40px;
	top:0;
	left:0;
	width:50px;
	height:100%;
}



/* CONTENITORE TIMELINE */
    .timeline {
      position: relative;
      padding: 3rem 0;
    }

    /* LINEA VERTICALE */
    .timeline::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      width: 2px;
      background: #8bb400; /* verde */
      left: 20px;          /* su mobile: a sinistra */
    }

    /* OGNI BLOCCO EVENTO */
    .timeline-item {
      position: relative;
      margin-bottom: 4rem;
      padding-left: 3.5rem; /* spazio a destra della linea su mobile */
    }

    /* PALLINO SULLA LINEA */
    .timeline-dot {
      position: absolute;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      border: 3px solid #8bb400;
      background: #fff;
      left: 20px;
      top: 50%;
      transform: translate(-50%, -50%);
	  padding: 0;
    }

    /* CARD ANNO (sostituisce le immagini) */
    .year-card {
      display: inline-block;
      padding: 1.75rem 2.5rem;
      border-radius: 12px;
      background: var(--colore_1_alpha2);
      border-left: 4px solid var(--colore_2);
      text-align: center;
      max-width: 100%;
    }
    .year-card .year {
      display: block;
      font-family: "Rethink Sans", sans-serif;
      font-size: 80px;
      font-weight: 700;
      line-height: 1;
      color: var(--colore_1);
      letter-spacing: -2px;
    }
    .year-card .year-label {
      display: block;
      margin-top: 0.75rem;
      font-size: 13px;
      letter-spacing: 1.4px;
      text-transform: uppercase;
      color: var(--colore_1);
      font-weight: 600;
    }
    @media (max-width: 768px) {
      .year-card { padding: 1.25rem 1.75rem; }
      .year-card .year { font-size: 56px; }
    }

    /* BOX IMMAGINE “GRIGIO” DI ESEMPIO */
    .placeholder-box {
		float: right;
      background: #e3e3e3;
      border-radius: 8px;
      width: 70%;
      padding-top: 55%; /* 4:3 */
    }

	.timeline-content-right .placeholder-box {
		float: left;
    }

    @media (min-width: 768px) {
      /* su desktop linea al centro */
      .timeline::before {
        left: 50%;
        transform: translateX(-50%);
      }

      .timeline-item {
        padding-left: 0;
      }

      .timeline-dot {
        left: 50%;
      }

      .timeline-content-left {
        text-align: right;
        padding-right: 3rem;
      }

      .timeline-content-right {
        padding-left: 3rem;
      }
    }


	@media (max-width: 768px) {
	  h2 {
			font-size: 30px;
		}
		.pb-100 {
		padding-bottom: 50px;
		}
.pt-100 {
    padding-top: 50px;
}
	.inner-contatti {
		padding: 30px;
	}
h3 {
    font-size: 28px;
}
	}