/* CSS
1. GENERAL
2 .COLORS
5. Menu
6. cta-quotes
7. icon-boxes
8. service
9. form
10. footer

11. home

*/


/* 1. GENERAL */
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
html,body {font-family: Montserrat, sans-serif; font-weight: 400;
  scroll-behavior:smooth;overflow-x:hidden;}
.f-montserrat {font-family: Montserrat, sans-serif;}
a {text-decoration: none;color: #0880e8;}
a:hover {color: #2b99f8;text-decoration: none;}
.text-primary { color: #1B3D6F !important; }
.text-green { color: green !important; }
.border-green { border: 1px solid green; }

@media (min-width: 1400px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1140px;
  }
  .display-3 {
    font-size: 3rem;
  }
}
.btn-primary,.btn-outline-primary:hover{    
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.875rem;
  align-self: center;
  text-align: center;
  border-style: solid;
  font-weight: 700;
  color: white;
  background-color: #136768;
  border: 1px solid #136768;
  padding: 16px 24px;
}
.btn-outline-primary,.btn-primary:hover{  
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.875rem;
  align-self: center;
  text-align: center;
  border-style: solid;
  font-weight: 700;
  color: #136768;
  background-color: white;
  border: 1px solid #136768;
  padding: 16px 24px;
}
.btn-blue, .btn-blue.disabled, .btn-blue:disabled{ 
  background-color: #193d70;
  color: white;
  padding: 0.6em;
  border-radius: 0;
}
.btn-blue:hover{ background-color: green;color: white;}
.rounded-pill{
  border-radius: 35px;
}
.fw-700 {font-weight: 700;}
.fw-800 {font-weight: 800;}
.text-blue{ color: #1B3D6F;}
.text-lightblue{ color: #005FAA;}
.bg-blue{ background-color: #193d70;}
.bg-lightgrey{ background-color: #f2f2f2;}
.bg-lightblue{ background-color: #005FAA;}
.bg-lighterblue{ background-color: #69a0c5;}
.bg-cover{background-size: cover}
.green-border{  border: 1px solid green;}
.img-logo {padding: 10px 0; height: 10vh;}
.container-fluid {margin: 0; padding: 0;}
.fs-5-5 {font-size: 1.125em;}
.display-4 {font-size: 2.5rem;}
.img-circle {border-radius: 50%; display: flex; align-items: center}
.img-circle-1 {height: 5vh;width: 5vh;} .img-circle-1 img {height: 4vh;width: 4vh;margin: 0 auto;}
.img-circle-2 {height: 7vh;width: 7vh;}.img-circle-2 img {height: 5vh;width: 5vh;margin: 0 auto;}
.img-circle-3 {height: 12vh;width: 12vh;}.img-circle-3 img {height: 8vh;width: 8vh;margin: 0 auto;}
.pageWrapper{
  margin-top:5em;
  overflow:hidden;/*non sforare a causa di animazioni aos*/
}
.mt-5e{
  margin-top:5em;
}
@media (max-width: 768px) {
  .pageWrapper{
    margin-top:1em;
  }
  .display-4 {
    font-size: 2rem;
  }
  .fs-5-5{
    font-size:1em !important;
  }
  .mt-5e{
    margin-top:4em;
  }
}

.scroll-mt-100{
  scroll-margin-top: 100px;
}
/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 996;
  background: #0880e8;
  width: 40px;
  height: 40px;
  border-radius: 50px;
  transition: all 0.4s;
}
.back-to-top i {
  font-size: 28px;
  color: #fff;
  line-height: 0;
}
.back-to-top:hover {
  background: #2194f7;
  color: #fff;
}
.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: #fff;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #0880e8;
  border-top-color: #bfe0fd;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  -webkit-animation: animate-preloader 1s linear infinite;
  animation: animate-preloader 1s linear infinite;
}

@-webkit-keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .main-menu > .container{
    margin-top: -0.375em;
  }
  .img-logo {height: 8vh;}
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}


/* 2. COLORS */
.bg-bluette {background: linear-gradient(rgba(5, 74, 133, 0.8), rgba(5, 74, 133, 0.9));}
.bg-mygreen {background-color: #387E34;}
.bg-mygreen-1 {background-color: #EBF2EA;}
.bg-mygreen-2 {background-color: #D7E5D6;}
.bg-mygreen-3 {background-color: #C3D8C1;}
.bg-mygreen-4 {background-color: #AFCBAE;}
.bg-mygreen-5 {background-color: #9CBF9A;}
.bg-mygreen-6 {background-color: #87B185;}
.bg-mygreen-7 {background-color: #387E34;}
.text-mygreen {color: #387E34;}
.text-mygreen-1 {color: #EBF2EA;}
.text-mygreen-2 {color: #D7E5D6;}
.text-mygreen-3 {color: #C3D8C1;}
.text-mygreen-4 {color: #AFCBAE;}
.text-mygreen-5 {color: #9CBF9A;}
.text-mygreen-6 {color: #87B185;}
.text-mygreen-7 {color: #387E34;}
.text-myblue {color: #05365F;}


/* 5. MENU */
.main-menu {height: 10vh;}
.main-menu .container{padding-left: 0; padding-right: 0;}
.nav-scroller {
  position: relative;
  z-index: 2;
  height: 2.75rem;
  overflow-y: hidden;
}

.nav-scroller .nav {
  display: flex;
  flex-wrap: nowrap;
  padding-bottom: 1rem;
  margin-top: -1px;
  overflow-x: auto;
  text-align: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.nav-scroller .nav-link {
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: .875rem;
}
.nav-item{
  padding:0 0.5em;
}
.nav-link{
  color: #1B3D6F;
  border:1px solid transparent;
  font-weight: bold;
}
.nav-link:hover, .nav-link.active{
  color: green !important; 
  border:1px solid #1B3D6F;
}

.mobile-menu .nav-link{
  border:none;
  padding-top: 1em;
}
.mobile-menu .nav-link a{
  color: white;
}
.mobile-menu .nav-link a:hover{
  color: green;
}
.mobile-menu .nav-link:hover{
  border:none;
}
/* mobile */
.mobileMenu{
  display:none;
  background-color: #1B3D6F;
  color: white;
  z-index: 2000;
  position: fixed;
  width: 100%;
  height: 100%;
}
#closeMenu{
  font-size: 1.5em;
  opacity: 1;
  color:white;
}


/* 11. HOME */
.hero {margin-top: 10vh;}
.hero {
  min-height: 60vh;
  background-image: url('https://assets.nicepagecdn.com/23ccbeec/6646188/images/header.jpg');
  background-size: cover;
  background-position: center;
  position: relative;
}
@media (max-width: 768px) {
  .hero {
    background-position: right;
  }
}

/* overlay scuro per leggibilità */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
}

/* porta il contenuto sopra overlay */
.hero .container {
  position: relative;
  z-index: 2;
}
.hero a {background-color: #05365F; color: #fff !important; font-weight: 300;}
.hero a:hover {border-radius: 0; background-color: #fff; color: #05365F !important; font-weight: bolder;}
.main-topic {
  background-image: url(../img/main_page.jpg);
  background-position: center top; 
  background-size: cover;
  min-height: 70vh;  
}

.certificati-img{ 
  aspect-ratio: 1;
  width: 90%;
  max-width: 400px;
  object-fit:cover;
}

/* 7. icon-boxes */
.icon-box{
  width: 64px;
  height: 64px;
  background: #1B3D6F;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75em;
}

.icon-box img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.midpadding{  
  padding: 0.75em 1.25em !important;
}
#vantaggi .rounded-4{
  transition: all .3s ease;
}

#vantaggi .rounded-4:hover{
  transform: translateY(-6px);
  box-shadow: 0 1rem 2rem rgba(0,0,0,.08)!important;
}

/* 8. service */
.service {background: #EAEAEA; min-height: 10vh; margin: 0; border: 10px solid white;}
.service img {width: 150px; height: 150px; 
  position: relative; top: -50px;
}
.service p {padding: 10px; height: 10vh; 
  position: relative; top: -50px;
}
.servicesTextImg{
  max-height: 92px; object-fit: contain; margin-top: 33px;
}

@media screen and (max-width: 768px) {
  .service p {width: 80%;}
  .servicesTextImg{
    margin-top: 0;
  }
}
/* 9. FORM */
#contactForm .form-control{
  border-radius: 0 !important;
}
#contactForm .btn{
  border-radius: 0 !important;
}

#contactForm > a:hover {background-color: #30699A; color: white !important; }


/* 10 footer */
footer{
  background-color: #1B3D6F;
}
.footer-list li {
  padding: 4px 0;
  color: rgba(255,255,255,0.75);
  transition: 0.2s;
}

.footer-list li:hover {
  color: #ffffff;
  transform: translateX(4px);
}

footer a:hover {
  color: #ffffff !important;
}
.copyright,.credits {font-size: 0.9rem;}
footer {margin: 0;}
#footer .footer-top {
  background: #065fad;
  padding: 60px 0 30px 0;
}
#footer .footer-top .footer-info {
  margin-bottom: 30px;
}
#footer .footer-top .footer-info h3 {
  font-size: 18px;
  margin: 0 0 20px 0;
  padding: 2px 0 2px 0;
  line-height: 1;
  font-weight: 700;
}
#footer .footer-top .footer-info p {
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 0;
  font-family: "Raleway", sans-serif;
  color: #fff;
}
#footer .footer-top .social-links a {
  font-size: 16px;
  display: inline-block;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  line-height: 1;
  padding: 10px 0;
  margin-right: 4px;
  border-radius: 50%;
  text-align: center;
  width: 36px;
  height: 36px;
  transition: 0.3s;
}
#footer .footer-top .social-links a:hover {
  background: #f6b024;
  color: #fff;
  text-decoration: none;
}
#footer .footer-top h4 {
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 12px;
}
#footer .footer-top .footer-links {
  margin-bottom: 30px;
}
#footer .footer-top .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#footer .footer-top .footer-links ul i {
  padding-right: 2px;
  color: #5db1f9;
  font-size: 18px;
  line-height: 1;
}
#footer .footer-top .footer-links ul li {
  padding: 10px 0;
  display: flex;
  align-items: center;
}
#footer .footer-top .footer-links ul li:first-child {
  padding-top: 0;
}
#footer .footer-top .footer-links ul a {
  color: rgba(255, 255, 255, 0.75);
  transition: 0.3s;
  display: inline-block;
  line-height: 1;
}
#footer .footer-top .footer-links ul a:hover {
  color: #fff;
}
#footer .footer-top .footer-contact {
  margin-bottom: 30px;
}
#footer .footer-top .footer-contact p {
  line-height: 26px;
}
.copyright {
  text-align: center;
  padding-top: 30px;
}
.credits {
  padding-top: 5px;
  text-align: center;
  font-size: 13px;

}
.credits, .credits a {
  color: #f6b024;
}

.skill {width: 30%;}

.mt-12{
  margin-top: -12em;
}
.mt-16{
  margin-top: -16em;
}

/*CED*/
.ced360_hero{
  position: absolute;
  inset: 0;

  background:linear-gradient(rgba(255,255,255,0.6), rgba(255,255,255,0.6)),  url('/themes/tresessanta/img/PresentazioneCED1.jpg');

  background-size: cover;
  background-position: center;
  min-height:90vh;
}
.ced360_hero h2{
  line-height: 1.5em;
}
@media (max-width: 768px) {
  .ced360_hero h1{
    font-size: 1.5em;
  }
  .ced360_hero h2{
    font-size: 1em;
    line-height: 1.125em;
  }
}
#how-it-works i.bi{
  color: white;
  background-color: #005FAA;
  border-radius: 50%;
  padding: 1px 1px 0px 2px;
}

/*ECO 360*/
.eco360_hero{
  position: absolute;
  inset: 0;

  background:linear-gradient(rgba(255,255,255,0.6), rgba(255,255,255,0.6)),  url('/themes/tresessanta/img/eco360_top.jpg');

  background-size: cover;
  background-position: center;
  min-height:90vh;
}
.eco360_hero h2{
  line-height: 1.5em;
}
@media (max-width: 768px) {
  .eco360_hero h1{
    font-size: 1.5em;
  }
  .eco360_hero h2{
    font-size: 1em;
    line-height: 1.125em;
  }
}

.service-card{
  background-color:#f7ae4a;
  transition:all .3s ease;
}
.bg-orange{
  background-color:#f7ae4a;
}
.bg-green{
  background-color:#16932c;
}
.service-card:hover{
  transform:translateY(-6px);
}

.service-icon{
  max-width:90px;
}
.bg-cover{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.min-vh-50{
  min-height: 420px;
}

@media(max-width:991px){
  .min-vh-50{
    min-height: 300px;
  }
}

/*area riservata*/
.ar-btn-1,.ar-btn-2{
    background-color: white;
    color: #193d70;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 2px;
}
.ar-btn-1:hover{
  background-color: green;
  color: white;
}
.ar-btn-2:hover{
  background-color: #193d70;
  color: white;
}