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

:root {
    --white: rgba(255,255,255,1); /* #fff */
    --black: rgba(0,0,0,1); /* #000 */
    --grey: rgba(202,202,202,1); /* #cacaca */
    --darkgrey: rgba(50,50,50,1); /* #323232 */
    --blue: rgba(36,86,121,1); /* #245679 */
    --brown: rgba(191,167,143,1); /* #BFA78F */
}

* {box-sizing: border-box;}
*, a, a:hover {transition: all .5s;}

body {font-family: 'Montserrat', sans-serif;}
.container {max-width: 1300px;}


h1 {margin: 0; padding: 0; font-size: 70px; line-height: 80px; color: var(--black); font-weight: 400;}
h2 {margin: 0; padding: 0; font-size: 50px; line-height: 65px; color: var(--blue); font-weight: 600;}
h3 {margin: 15px 0 0; padding: 0; font-size: 28px; line-height: 32px; color: var(--blue); text-transform: uppercase; font-weight: 600;}
h4 {margin: 0; padding: 0; font-size: 20px; line-height: 28px; color: var(--black); font-weight: 400;}
p {margin: 20px 0 0; padding: 0; font-size: 16px; line-height: 22px; color: var(--black); font-weight: 400;}
ul, ol {margin: 0; padding: 0;}
label {}
.form-check {padding-left: 10px;}
.form-check label {margin-top: 0;}
input.form-control {border: 1px solid var(--white); border-radius: 3px; background-color: var(--white); color: var(--black); margin-top: 15px;}
select.form-select {border: 1px solid var(--white); border-radius: 3px; background-color: var(--white); color: var(--black); margin-top: 15px;}
textarea.form-control {border: 1px solid var(--white); border-radius: 3px; background-color: var(--white); color: var(--black); margin-top: 15px; resize: none; min-height: 130px; max-height: 130px;}
.form-check-input {border: var(--bs-border-width) solid var(--grey);}

.btn.btn-primary {background: var(--blue); color: var(--white); border: none; border-top-left-radius: 10px; border-bottom-right-radius: 10px;}
.btn.btn-primary:hover {background: var(--grey); color: var(--blue); border-top-left-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 10px; border-top-right-radius: 10px;}

.btn.btn-secondary {background: var(--grey); color: var(--blue); border: none; border-top-left-radius: 10px; border-bottom-right-radius: 10px;}
.btn.btn-secondary:hover {background: var(--blue); color: var(--white); border-top-left-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 10px; border-top-right-radius: 10px;}

.btn.btn-third {background: var(--white); color: var(--black); border: none; border-top-left-radius: 10px; border-bottom-right-radius: 10px;}
.btn.btn-third:hover {background: var(--blue); color: var(--white); border-top-left-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 10px; border-top-right-radius: 10px;}

.btn.btn-info {background: var(--blue); color: var(--white); border: 1px solid var(--blue); border-top-left-radius: 10px; border-bottom-right-radius: 10px;}
.btn.btn-info:hover {background: var(--white); color: var(--blue); border: 1px solid var(--blue); border-top-left-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 10px; border-top-right-radius: 10px;}

.btn.btn-primary, .btn.btn-secondary, .btn.btn-info {padding: 15px 30px; font-size: 16px; line-height: 16px; font-weight: 500; transition: all .5s; margin-top: 30px;}
.btn.btn-third {padding: 15px 30px; font-size: 22px; line-height: 22px; font-weight: 500; transition: all .5s;}

::placeholder {color: var(--black); opacity: 1;}
:-ms-input-placeholder {color: var(--black);}
::-ms-input-placeholder {color: var(--black);}

/** NAVBAR **/
nav.navbar {padding: 35px 0;}
nav.navbar a.navbar-brand {padding-top: 0; padding-bottom: 0;}
nav.fixed-top a.navbar-brand img {max-width: 230px; filter: brightness(0) invert(1);}
nav.fixed-top {background: transparent;}
ul.navbar-nav {margin-top: 0;}
.navbar-nav li.active .nav-link.active, .navbar-light .navbar-nav .nav-link {font-size: 16px; line-height: 16px; font-weight: 400; color: var(--white); text-transform: uppercase; padding: 10px 25px; margin: 0 5px; text-shadow: none; border-radius: 5px; transition: all .5s;}
.navbar.bg-light {background: rgba(0,0,0,.5) !important; padding: 20px 0;}
.navbar.bg-light a.navbar-brand img {max-width: 180px; filter: none;}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav li.active .nav-link.active {color: var(--white);}

nav.navbar-light .navbar-nav .nav-link::after {content: ''; display: block; width: 0; height: 1px; background: var(--white); transition: width .3s; margin-top: 5px;}
nav.navbar-light.int .navbar-nav .nav-link::after {background: var(--white);}
nav.navbar-light.bg-light .navbar-nav .nav-link::after {background: var(--white);}
nav.navbar-light .navbar-nav .nav-link:hover::after,
nav.navbar-light .navbar-nav .nav-link.active::after {width: 100%;}
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav li.active .nav-link.active {color: var(--white);}

button.navbar-toggler span {display: block; width: 20px; height: 1px; background-color: var(--white);}
button.navbar-toggler.collapsed span {transform: rotate(0); position: relative; margin: 5px 0;}
button.navbar-toggler.collapsed span:first-child {transform: rotate(0);}
button.navbar-toggler span:first-child {transform: rotate(45deg);}

button.navbar-toggler.collapsed span:last-child {transform: rotate(0); margin-top: 0;}
button.navbar-toggler span:last-child {transform: rotate(130deg); margin-top: -1px;}
button.navbar-toggler.collapsed span:nth-child(2) {background-color: var(--white);}
button.navbar-toggler.collapsed span:nth-child(2) {display: block;}
button.navbar-toggler span:nth-child(2) {display: none;}

/** SLIDE **/
.cnt-slide .carousel {background: #f1f1f1; position: relative;}
.cnt-slide .carousel .overlay {position: absolute; width: 100%; height: 100%; background: rgba(0,0,0,.5);}
.cnt-slide .carousel .carousel-item {background-size: cover !important; background-repeat: no-repeat !important; height: 100vh; background-position: center bottom !important;}
.cnt-slide .carousel .carousel-caption {left: auto; right: auto; position: relative; text-align: left; display: flex; align-items: center; height: 100vh;}
.cnt-slide .carousel .carousel-caption {left: auto; right: auto; position: relative; text-align: left; display: flex; align-items: center; height: 100vh;}
.cnt-slide .carousel .carousel-caption h1 {color: var(--light); font-size: 50px; line-height: 50px; margin-top: 50px;}
.cnt-slide .carousel .carousel-caption h2 {font-size: 28px; line-height: 35px; font-weight: 300; color: var(--white); margin-top: 20px; max-width: 70%;}.cnt-slide .carousel .carousel-control-next, .cnt-slide .carousel .carousel-control-prev {top: 50%; margin-top: -35px; border-radius: 50%; height: 70px; width: 70px; background: none;}
.cnt-slide .carousel .carousel-control-next {margin-right: 35px;}
.cnt-slide .carousel .carousel-control-prev {margin-left: 35px;}
.cnt-slide .carousel-control-next-icon, .cnt-slide .carousel-control-prev-icon {width: 15rem; height: 15rem;}

/*** Back to top ***/
#btn-back-to-top {position: fixed; bottom: 25px; right: 20px; display: none; z-index: 9999; transition: all .5s; border-radius: 50%; background: var(--blue); border: 1px solid var(--white); color: var(--white);}
#btn-back-to-top:hover {transition: all .5s; bottom: 35px; box-shadow: 0 0 15px 1px #000;}

/** CONTENT **/
.content.grey {background: var(--grey); padding: 5% 0;}
.content.brown {background: var(--brown); padding: 5% 0;}
.content img.b-radius {border-radius: 50%;}
.content .card {background: transparent; border: none;}
.content ul.gallery {list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap;}
.content ul.gallery li {margin: 5px; padding: 0; max-width: 48%; display: flex; align-items: center; justify-content: center;}
.content ul.gallery li img {transition: 1.5s all;}
.content ul.gallery li img:hover {transform: rotateY(360deg); transition: 1.5s all;}

.content-pattern {background: url(../img/pattern1.png) no-repeat center var(--grey); padding: 5% 0;}
.content-pattern .box {position: relative; overflow: hidden; transition: all 0.5s;}
.content-pattern .box img {width: 100%; height: 100%; object-fit: cover; display: block;}
.content-pattern .box .text {position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: rgba(0, 0, 0, 0.5); color: #fff; text-align: center; transition: all 0.5s; opacity: 1; padding: 35px 25px;}
.content-pattern .box h4 {margin: 0; z-index: 99; font-size: 1.5em; opacity: 1; color: var(--white); font-weight: 600; text-transform: uppercase;}
.content-pattern .box p {margin: 20px 10px 0; font-size: 1em; display: none; color: var(--white);}
.content-pattern .box:hover .text {opacity: 1; transition: all 0.5s;}
.content-pattern .box:hover p {display: block;}

.content-servizi {background: var(--grey); padding: 5% 0;}
.content-servizi img {border-radius: 20px; margin-top: 50px;}
.content-servizi h4 {margin-top: 20px; font-size: 25px; line-height: 35px; font-weight: 600; color: var(--blue); border-bottom: 2px solid var(--blue);}

.content ul {margin: 10px 0 15px 15px; padding: 0; font-size: 16px; line-height: 22px; color: var(--black); font-weight: 400;}
.content ul li {margin: 0 0 10px; padding: 0;}

/** SERVIZI **/
section.box-services {background: var(--blue); padding: 100px 0;}
section.box-services h2 {font-size: 35px; line-height: 40px; color: var(--white);}
section.box-services a {font-size: 16px; line-height: 20px; font-weight: 800; display: inline-block; text-transform: uppercase; color: var(--light); text-decoration: none; margin-top: 20px;}
section.box-services a i {margin-left: 10px; color: var(--white);}
section.box-services .box {position: relative; background-repeat: no-repeat !important; background-position: center !important; background-size: cover !important; border-radius: 30px; position: relative; padding: 30px 35px 60px; margin-bottom: 30px;}
section.box-services .box:after {position: absolute; content: ""; top: 0; left: 0; width: 100%; height: 100%; background: rgb(0,0,0); background: -webkit-linear-gradient(left, rgba(0,0,0,.8) 30%, rgba(0,0,0,.2) 100%); background: -o-linear-gradient(left, rgba(0,0,0,.8) 30%, rgba(0,0,0,.2) 100%); background: linear-gradient(to right, rgba(0,0,0,.8) 30%, rgba(0,0,0,.2) 100%); border-radius: 30px;}
section.box-services .box img, section.box-services .box h4, section.box-services .box p, section.box-services .box a {position: relative; z-index: 1;}
section.box-services h2, section.box-services .box h4, section.box-services p {color: var(--white);}
section.box-services .box h4 {font-size: 35px; font-weight: 500; margin-top: 20px;}
section.box-services .box p {font-size: 15px; font-weight: 300; margin-top: 20px; max-width: 65%;}
section.box-services .box img {filter: brightness(0) invert(1); min-height: 70px; max-height: 70px;}
section.box-services .box:hover img {transform: rotate(360deg);}
section.box-services .box a {font-size: 30px; float: right; margin-top: -80px;}
section.box-services a:hover i {transform: rotate(360deg);}

/** CALL TO ACTION **/
.box-cta {background-repeat: no-repeat !important; background-position: center !important; background-size: cover !important; background-attachment: fixed; padding: 4% 0;}

/** NUMERI **/
.box-numbers {background: var(--grey); padding: 80px 0; text-align: center;}
.box-numbers img {min-height: 75px;}
.box-numbers span {font-size: 70px; line-height: 70px; display: inline-block; font-weight: 800; color: var(--white); margin: 0 5px;}
.box-numbers h4 {text-transform: uppercase; font-weight: 600; margin-top: 25px; color: var(--black);}
.box-numbers p {font-weight: 400; margin-top: 10px; color: var(--white);}
.box-numbers .box {border-radius: 25px; background: rgba(36,86,121,.6); padding: 3% 8%; margin: 0 10%;}

/** TESTIMONIAL **/
.box-testimonial {background: url(../img/bkg-testimonial.jpg) no-repeat center; background-size: cover; padding: 4% 0;}
.box-testimonial h2 {color: var(--white);}
.box-testimonial h4 {color: var(--white); font-weight: 500;}
.box-testimonial .box {display: flex; justify-content: space-between; align-items: center;}
.box-testimonial .box .text {background: var(--white); padding: 20px 35px; border-radius: 25px; text-align: left; max-width: 80%;}
.box-testimonial .box .text h5 {text-transform: uppercase; color: var(--blue); font-weight: 600;}
.box-testimonial .box .text p {margin-top: 5px;}
.box-testimonial .box img {max-width: 110px; border-radius: 50%;}
.box-testimonial .slide-arrow.prev-arrow.slick-arrow,
.box-testimonial .slide-arrow.next-arrow.slick-arrow {position: absolute; right: 0; top: 0; height: 100%; border: none; background: transparent; font-size: 25px; color: var(--white); font-weight: 300 !important; padding: 0 25px;}
.box-testimonial .slide-arrow.prev-arrow.slick-arrow {left: -10%; z-index: 999; right: auto;}
.box-testimonial .slide-arrow.next-arrow.slick-arrow {position: absolute; right: -10%; top: 0;}

/** HEADER INTERNO **/
.hd-internal {background-repeat: no-repeat !important; background-size: cover !important; background-position: 50% 100% !important; min-height: 50vh; position: relative;}
.hd-internal:after {position: absolute; content: ""; width: 100%; height: 100%; background: rgba(0,0,0,.3); top: 0; left: 0;} 
.hd-internal .col-lg-12 {display: flex; min-height: 50vh; flex-direction: column; justify-content: flex-end;}
.hd-internal h1 {bottom: 0; position: relative; z-index: 999; color: var(--white); font-weight: 600; margin-bottom: 15px;}

/** CONTATTI **/
.contatti {margin-top: 50px;}
.contatti h4 {font-size: 25px; color: var(--white);}
.contatti h4 i {font-size: 35px; margin-right: 15px;}
.contatti p {margin: 5px 0 40px 0;}
.form h4 {font-weight: 600; font-size: 30px;}

/** MAPPA **/
.mappa, .mappa iframe {height: 450px;}

/** FOOTER **/
footer {background: var(--darkgrey);}
footer img {max-width: 150px !important; filter: brightness(0) invert(1);}
footer h4 {font-size: 18px; line-height: 25px; color: var(--white); text-transform: uppercase; font-weight: 600;}
footer p {font-size: 14px; line-height: 22px; color: var(--white); margin-top: 10px;}
footer p a {color: var(--white); text-decoration: none;}

footer ul {color: var(--white); font-size: 14px; margin: 10px 0 0 15px; line-height: 22px;}
footer ul li {margin-top: 0;}
footer ul li a {color: var(--white); text-decoration: none;}
footer .social {display: flex; font-size: 25px; justify-content: space-between; width: 40%; margin: 25px 0 0; list-style: none;}
footer .social a i {font-size: 35px; color: var(--white);}
footer .social a {display: block; color: var(--black); text-align: center; transform: rotate(-360deg); transition: all .5s;}
footer .social a:hover {transform: rotate(360deg); transition: all .5s;}

footer .copy {border-top: 2px solid var(--grey);}
footer .copy p {font-size: 13px; line-height: 18px; color: var(--white); text-align: center; margin: 0;}
footer .copy p a {color: var(--white); text-decoration: underline;}


