/*
 * Theme Name: DrLuisCampos Theme
 * Description: Starter Theme to use with Timber
 * Author: MS3
*/

html{scroll-behavior: smooth;}

body {
    font-family: "Lato", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    font-weight: 400;
    color: #222222;
}

.absolute{position: absolute;}
.fixed{position: fixed;}
.relative {position: relative;}

h1{font-size: 32px;}
h2{font-size: 28px;}
h3{font-size: 22px;}
h4{font-size: 18px;}

.nothing{font-family: "Nothing You Could Do", cursive; font-weight: 400; font-style: normal;}

a, a:hover{text-decoration: none; color: #f8bf00;}

.testo_bianco{color:#ffffff;}
.testo_dark{color:#222222;}

.mini_text{font-size:10px;}

.bg{background-size: cover; background-repeat: no-repeat; background-position: center;}

.bg_bianco{background-color: #fff;}
.bg_grigio{background-color:#333; color:#fff;}
.bg_light{background-color: #f5f5f5;}
.bg_dark{background-color:#222; color:#fff;}
.bg_giallo{background-color:#f8bf00;}

.circle{border-radius: 50%;}
.bordered{border: 5px solid #fff;}

.btn {
    border: 0;
    text-transform: uppercase;
    font-size: 18px;
    padding: 14px 30px;
    font-weight: 600;
}
.btn:hover{background-color: #333;}
.btn:active, .btn:focus{outline: none;box-shadow: none;}
.btn-bianco{background-color: #ffffff; color: #003E52;}
.btn-giallo{background-color: #f8bf00; color:#fff;}

.uppercase {text-transform: uppercase;}
.italic {font-style: italic;}

.light {font-weight: 300;}
.regular {font-weight: 400;}
.medium {font-weight: 500;}
.semibold {font-weight: 600;}
.bold {font-weight: 700;}
.extrabold {font-weight: 800;}
.black {font-weight: 6900;}

.overflow-h{overflow: hidden;}

header.sticky{transition: max-height 0.3s ease-out; background-color: #222;}
header.sticky .logo{transition: width 0.3s ease-out;}

header{position: relative; width: 100%; top:0; background-color: #333; z-index:101; height: 110px;}
body.home header{background-color: transparent; position: fixed;}
header.sticky, body.home header.sticky{transition: max-height 0.3s ease-out; background-color: #222;}
header.sticky .logo{transition: width 0.3s ease-out;}
header ul{list-style: none; padding-left: 0; margin-bottom: 0;}
header li{display: inline-block; margin-right: 15px;}
header li:last-child{margin-right: 0;}
header a{color:#aaa;}
header .current-menu-item a{color:#ddd;}

.top_bar{background-color: rgba(0,0,0,0.2);}

.lang-it .header .l_it{color:#f8bf00;}
.lang-en .header .l_en{color:#f8bf00;}
.lang-es .header .l_es{color:#f8bf00;}

.icone_menu img{height: 24px; cursor: pointer;}

.bg_menu{height: 100vh; width: 100%; right: 0; z-index: -1;}

.mega-menu ul{list-style: none; font-size: 1.3rem; line-height: 2.3rem;}
.mega-menu a{color:#fff;}
.mega-menu nav{margin-top: 100px;}

.mega-menu {
    transition: .3s ease-in-out;
    position: fixed;
    padding-bottom: 78px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    opacity: 0;
    display: none;
    overflow-y: auto;

    text-align: right;
}
.mega-menu nav {
    padding-top: 70px;
}
.mega-menu.reveal {
    opacity: 1;
    background:#000;
}

.hamburger_menu{width: 30px;}

.hero_campos{height: 100vh; background-position: top center;}
.hero_campos .claim{background-color: rgba(0, 0, 0, 0.4); font-size: 26px; line-height: 32px;}
.hero_campos .claim .firma{font-family: "Lato", sans-serif; font-size: 20px;}
.hero_campos .ico_chevron{width: 70px;}

.boxes .box{aspect-ratio: 1 / 1; /* Mantiene il div sempre quadrato */}
.boxes .inner_box:hover{border:1px solid #f8bf00; background-color: rgba(0, 0, 0, 0.3); transition: .4s;}
.boxes .box .title_box{font-size: 34px; line-height: 36px;}

/* The actual timeline (the vertical ruler) */
.main-timeline {
    position: relative;
}

/* The actual timeline (the vertical ruler) */
.main-timeline::after {
    content: "";
    position: absolute;
    width: 2px;
    background-color: #f5f5f5;
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left:-1px;
}

/* Container around content */
.timeline {
    position: relative;
    background-color: inherit;
    width: 50%;
}

/* The circles on the timeline */
.timeline::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    right: -5px;
    background-color: #222;
    top: 15px;
    border-radius: 50%;
    z-index: 1;
}

/* Place the container to the left */
.left {
    padding: 0px 40px 20px 0px;
    left: 0;
}

/* Place the container to the right */
.right {
    padding: 0px 0px 20px 40px;
    left: 50%;
}

/* Add arrows to the left container (pointing right) */
.left::before {
    content: " ";
    position: absolute;
    top: 18px;
    z-index: 1;
    right: 30px;
    border: medium solid white;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #f5f5f5;
}

.timeline:first-child::after{
    background-color: #f8bf00 !important;
    transform: translateY(-20px);
}
.timeline:first-child::before{
    display: none !important;
}
.timeline:last-child::after{
    background-color: #f8bf00 !important;
}

/* Add arrows to the right container (pointing left) */
.right::before {
    content: " ";
    position: absolute;
    top: 18px;
    z-index: 1;
    left: 30px;
    border: medium solid white;
    border-width: 10px 10px 10px 0;
    border-color: transparent #f5f5f5 transparent transparent;
}

/* Fix the circle for containers on the right side */
.right::after {
    left: -5px;
}

/* Media queries - Responsive timeline on screens less than 600px wide */
@media screen and (max-width: 600px) {
    /* Place the timelime to the left */
    .main-timeline::after {
        left: 31px;
    }

    /* Full-width containers */
    .timeline {
        width: 100%;
        padding-left: 70px;
        padding-right: 25px;
    }

    /* Make sure that all arrows are pointing leftwards */
    .timeline::before {
        left: 60px;
        border: medium solid white;
        border-width: 10px 10px 10px 0;
        border-color: transparent white transparent transparent;
    }

    /* Make sure all circles are at the same spot */
    .left::after,
    .right::after {
        left: 26px;
    }

    .left::before {
        right: auto;
    }

    /* Make all right containers behave like the left ones */
    .right {
        left: 0%;
    }
}

.timeline_twig .card{border:0;}
.timeline_twig .card-body{border:0; background-color: #f5f5f5;}
.timeline_twig .card-body p{font-size: 14px; color:#777; font-style: italic;}

.boxes .newsbox{aspect-ratio: 16 / 9;}
.boxes .newsbox .title_box{font-size: 20px; line-height: 22px;}

.title_line .ico{width: 30px; margin-right: 5px;}

.footer{font-size:12px;}
.footer .social_footer{list-style: none;}
.footer .social_footer li{display: inline-block; margin-right: 5px;}
.footer .social_footer li:last-child{margin-right: 0;}

.black_filter{background-color: rgba(0,0,0,0.5);}

.masonry {
    column-count: 3;
    column-gap: 15px;
}
.masonry img {
    width: 100%;
    display: block;
    margin-bottom: 15px;
}

.form-contatti input{height: 40px; padding:2px 8px; border:1px solid #ddd;}
.form-contatti textarea{border:1px solid #ddd; padding:2px 8px;}
.form-contatti .wpcf7-acceptance input{height: auto; margin-right: 5px;}
.form-contatti .wpcf7-list-item{margin-left: 0;}
.form-contatti .wpcf7-submit{text-transform:uppercase; font-weight: 600; padding:2px 15px;}

.form_contatti .form-contatti label, .form_contatti .form-contatti .wpcf7-form-control-wrap, .form_contatti .form-contatti input, .form_contatti .form-contatti textarea{width: 100%; display: block;}
.form_contatti .form-contatti .wpcf7-acceptance input{width: auto;}

.form-newsletter .input-w100 input{width: 100%;}

.dove_siamo .ico{width: 30px; margin-right: 10px;}
.dove_siamo .map_indirizzo, .dove_siamo .map_telefono, .dove_siamo .map_web{font-size: 24px; line-height: 26px;}

.social_footer li{display: inline-block; margin-right: 10px;}
.social_footer li:last-child{margin-right: 0;}
.social_footer img{width: 28px;}
header .social_footer img{width: 18px;}

ul.menu_orizzontale{list-style: none;}
ul.menu_orizzontale li{display: inline-block; margin-right: 10px; padding:0 20px;}
ul.menu_orizzontale li:last-child{margin-right: 0;}
ul.menu_orizzontale a{color:#fff}
ul.menu_orizzontale a:hover{color:#f8bf00}

.accordion .accordion-item, .accordion .accordion-button{background-color: transparent; color:#fff;}
.accordion .accordion-item{border: none;}
.accordion .accordion-button::after {margin-left: 15px;}
.accordion-button:focus{box-shadow: none;}
.accordion_inner{z-index: 1;}
.accordion{--bs-accordion-border-color: transparent;}
.accordion .accordion-collapse{border-top: 1px solid #777;}
.accordion .accordion-button::after {filter: invert(1); /* Cambia il colore della freccia */}
.accordion .accordion-button{padding-right: 0;}

.yottie-widget-header-logo{display: none !important;}
.yottie-widget-header-classic{height: auto !important;}
.yottie-widget-header-channel{position: relative !important;}
.yottie-widget-header-classic .yottie-widget-header-subscribe{top: -25px !important;}
.yottie-mw-640 .yottie-widget-header-classic .yottie-widget-header-logo + .yottie-widget-header-channel{margin-top: 0 !important;}

.menu{cursor:pointer;}



/*MOBILE*/

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

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

@media screen and (max-width: 767px) {
    .hero_campos{background-position: left center;}
    .yottie-widget-header-classic .yottie-widget-header-subscribe{display: none !important;}
}

@media screen and (max-width: 480px) {
    .hero_campos{background-position: left;}
    .hero_campos .claim{margin-bottom: 15%;}
    .boxes .box{height: 400px;}
    .masonry {column-count: 1;}
}