/*!
Theme Name: customTheme
Author: Cowlab
Version: 1.2.0
*/

.size-1 {
    width: 1.3rem;
}

.iol-align-center {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: .25rem;
}

@media(min-width: 768px){
    .iol-align-center {
        align-items: center;
    }
}


body {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.875rem;
    color: var(--col-grey);
}
:root {
    --col-primary: #243e6a;   
    --col-secondary: #4abdff;
    --col-black: #000000;
    --col-white: #ffffff;
    --col-grey-dark: #333333;
    --col-grey: #666666;
    --col-grey-light: #c1c1c1;
}

.poppins-regular {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
}
  
.poppins-medium {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-style: normal;
}
  
.poppins-semibold {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-style: normal;
}
  
.poppins-bold {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    font-style: normal;
}
  
  
/*--------------------------------------------------------------
## Custom theme style
--------------------------------------------------------------*/
/* ! Background color */
.back-primary {background: var(--col-primary);}
.back-secondary {background: var(--col-secondary);}
.back-black {background: var(--col-black);}
.back-white {background: var(--col-white);}
.back-grey-dark {background: var(--col-grey-dark);}
.back-grey {background: var(--col-grey)}
.back-grey-light {background: var(--col-grey-light);}

 
/* ! Colors */
.color-primary {color: var(--col-primary);}
.color-secondary {color: var(--col-secondary);}
.color-black {color: var(--col-black);}
.color-white {color: var(--col-white);}
.color-grey-dark {color: var(--col-grey-dark);}
.color-grey {color: var(--col-grey)}
.color-grey-light {color: var(--col-grey-light);}


/* ! Tipografy */
a {text-decoration: none; color: var(--col-secondary);}
a:hover {text-decoration: underline;}
.title-sez h2 {color: var(--col-primary); margin-bottom: 0;}
.title-sez h2 strong {color: var(--col-secondary); font-weight: 500;}
/* .title-sez h2::after {
    content: '';
    display: block;
    width: 100px;
    height: 1px;
    background-color: var(--col-grey-light);
    margin: 8px auto 0; 
} */
.title-sez p {
    color: var(--col-primary);
    font-size: 1.2rem;
}

/* ! Button */
.btn-primary {
    background: none;
    border-radius: 25px;
    border: 1px solid var(--col-white);
    color: var(--col-white);
    padding: 5px 2rem;
    
}
.btn-primary:hover,
.btn:focus-visible,
.btn-check:checked+.btn:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible, .btn:first-child:active:focus-visible, :not(.btn-check)+.btn:active:focus-visible,
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active
{
    background-color: var(--col-secondary);
    border-color: var(--col-secondary);
    box-shadow: none;
    text-decoration: none;
    color: var(--col-primary);
}

.btn-secondary {
    background: none;
    border-radius: 25px;
    border: 1px solid var(--col-primary);
    color: var(--col-primary);
    padding: 5px 2rem;
}
.btn-secondary:hover,
.btn:focus-visible,
.btn-check:checked+.btn:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible, .btn:first-child:active:focus-visible, :not(.btn-check)+.btn:active:focus-visible,
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active
{
    background-color: var(--col-secondary);
    border-color: var(--col-white);
    box-shadow: none;
}

.btn-light {
    background: var(--col-secondary);
    border-radius: 25px;
    border: 1px solid var(--col-secondary);
    color: var(--col-white);
    padding: 5px 2rem;
}
.btn-light:hover,
.btn:focus-visible,
.btn-check:checked+.btn:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible, .btn:first-child:active:focus-visible, :not(.btn-check)+.btn:active:focus-visible,
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active
{
    background-color: var(--col-primary);
    border-color: var(--col-primary);
    box-shadow: none;
    color: var(--col-white);
    text-decoration: none;
}


/* ! Card */

/* ! News */

/* ! Modale */
.modal {z-index: 100000;}


/* ! Swiper HP */
.swiper-button-prev,
.swiper-button-next {
    margin: auto;
}
.swiper-button-next:after {
    content: '';
    width: 0px;
    height: 0px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid var(--col-primary);
    margin: auto;
}
.swiper-button-prev:after {
    content: '';
    width: 0px;
    height: 0px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 10px solid var(--col-primary);
    margin: auto;
}
.swiper-pagination-bullet {
    border-radius: 50% !important;
    width: 10px;
    height: 10px;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {background: var(--col-primary) !important;}


/* .breadcrumb-hero {position: absolute; bottom: 10px; left: 0;}
.breadcrumb-hero #breadcrumbs a {color: var(--col-white);} */




/* ! Hero e Banner */
.image-container {
    position: relative;
    display: inline-block;
    width: 100%;
}
.image-container img {
    display: block;
    width: 100%;
    height: auto;
}
.over-sx .overlay,
.over-dx .overlay {
    position: absolute;
    top: 0;
    /* left: 0; */
    width: 100%;
    height: 100%;

}
.over-sx .over-text {position: absolute; top: 50%; left: 0; transform: translateY(-50%);}
.over-dx .over-text {position: absolute; top: 50%; right: 0; transform: translateY(-50%);}

.over-sx .over-text.over-page {position: absolute; bottom: 20px; left: 0; top: auto; transform: translateX(0);}
.over-dx .over-text.over-page {position: absolute; bottom: 50%; right: 0; top: auto; transform: translateX(0);}

.over-sx .overlay {
    left: 0;
    background: url('inc/assets/images/back_hp.png') no-repeat;
    background-size: cover;
}
.over-dx .overlay {
    right: 0;
    background: url('inc/assets/images/overlay_banner_ville_full.png') no-repeat;
    background-size: cover;
}
.over-dx .banner-text {position: absolute; top: 50%; right: 0; transform: translateY(-50%);}
.over-sx .banner-text {position: absolute; top: 50%; left: 0; transform: translateY(-50%);}
.banner-text h3 {font-size: 3rem; line-height: 3.8rem; margin-bottom: 1.5rem;}
.banner-text h4 {font-size: 1.6rem; line-height: 2.1rem; font-weight: normal; margin-bottom: 1.5rem;}

/* ! BoxCard listing */
.box-card .box-content {
    border-radius: 2%;
    overflow: hidden;
    position: relative;
}
.box-card .box-content .sup-image {
    position: absolute;
    bottom: calc(-100% + 95px);
    left: 0;
    height: 100%;
    width: 100%;
    transition: all .3s linear;
}
.box-card .box-content .sup-image.plus {
    bottom: calc(-50% + 95px);
    height: 50%;
}



.box-card:hover .box-content .sup-image {
    bottom: 0;
}

.no-over .box-card:hover .box-content .sup-image {
    bottom: calc(-100% + 95px);
}


.box-card .box-content .sup-image .info {
    color: white;
    padding-top: 60px;
    position: absolute;
    z-index: 10;
    width: 100%;
    top: 0;
    padding-left: 30px;
    padding-right: 30px;
}

.box-card .box-content .sup-image .over-info {
    background: url('inc/assets/images/box_listing_overlay.png') no-repeat;
    width: 100%;
    height: 100%;
    background-size: 100%;
}

.box-card .info h3 {
    font-size: 1.2rem;
    font-weight: normal;
}


.box-card .content-carat {
    position: absolute;
    bottom: 15px;
}

.box-card .content-carat.center {
    left: 50%;
    translate: -50%;
}

.box-card .content-carat.in-page {
    position: relative;
    bottom: auto;
}
.box-card .content-carat div {
    display: flex;
    align-items: center;
    margin-bottom: .5rem;
}
.box-card .content-carat div img {
    width: 35px;
}
.box-card .content-carat div p {
    margin: 0;
    font-size: .8rem;
}


.box-card .content-carat.in-page div p {
    font-size: 1rem;
}

.box-card hr {
    opacity: 1;
    width: 20%;
    margin: 0 auto;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border-top: var(--col-white) solid;
}


/* ! Utility */
.font-w-normal {font-weight: 400;}
.font-w-medium {font-weight: 500;}
.font-w-semibold {font-weight: 600;}
.font-w-bold {font-weight: 700;}

.font-sz-small {font-size: .8rem; line-height: 1rem;}
.font-sz-normal {font-size: 1rem; line-height: 1.2rem;}
.font-sz-big {font-size: 2rem; line-height: 2.6rem;}

.element-fluid {
    margin-left: calc( -50vw + 50%) !important; 
    margin-right: calc( -50vw + 50%) !important; 
    max-width: 100vw;
}

#breadcrumbs a {color: var(--col-white);}

.wp-block-separator {
    width: 50%;
    margin: 0 auto;
    /* margin: 1rem 0; */
    margin-bottom: 2rem;
    margin-top: 1rem;
    border-top: 1px solid;
}

.wp-embed-aspect-16-9 iframe{
    height: 250px;
}


/* ! Menu */
.navbar-toggler {border: none; }
.navbar-toggler:focus {box-shadow: none;}
.navbar-nav {margin-left: 2rem; margin-right: 2rem !important;}
.navbar-nav .nav-link {color: var(--col-white); padding: 0px 10px !important; font-size: .9rem; text-transform: uppercase;}
.navbar-nav .nav-link.active {color: var(--col-white); border: 1px solid var(--col-white); border-radius: 25px;}
.navbar-nav .nav-link.dropdown-toggle.show {color: var(--col-white);}
.navbar-nav .dropdown-item.active,
.navbar-nav .dropdown-item:active {background: var(--col-secondary);}




/* ! Swiper generico */
.swiper-pagination {position: static;}
.swiper-pagination-bullet {border-radius: 0;}
.swiper-pagination-bullet.swiper-pagination-bullet-active {background: var(--col-secondary);}


/* ! Pagination */
.page-link {
    border-radius: 0 !important;
    background-color: var(--col-white);
    color: var(--col-blu-dark);
    font-size: .8rem;
    padding: 5px 16px;
    border-radius: 20px !important;
}
.page-link.current {
    background-color: var(--col-secondary);
    color: var(--col-blu-dark);
    border-color: var(--col-secondary);
}
.page-item {
    margin-left: 4px;
    margin-right: 4px;
    width: 40px;
    height: 40px;
}

/* ! FOOTER */
footer .legal-info {font-size: .8rem;}
footer .legal-info a{color: inherit; text-decoration: none;}
footer .title-footer {
    font-size: 1.5rem;
}
footer .widget_nav_menu ul {
    list-style: none;
    padding-left: 0;
}
footer .widget_nav_menu ul li a { 
    color: var(--col-grey);
    text-decoration: none;
}
footer .widget_nav_menu ul li.current-menu-item a {
    color: var(--col-white);
}
footer .media-info img {
    max-width: 40px;
}
footer .media-info .wp-block-media-text .wp-block-media-text__content {
    padding: 0;
    line-height: 1.3rem;
}
footer .media-foot3 {
    overflow: hidden;
}

footer .media-foot3 .wp-block-media-text .wp-block-media-text__content {
    line-height: 1.3rem;
}

footer .media-foot3 a {
    color: var(--col-white);
    text-decoration: none;
}
footer .media-foot3 a:hover {
    text-decoration: none;
}

footer .social-icon a {display: inline-block;}
footer .widget_text {color: var(--col-white);}
footer .widget_text a {color: var(--col-white);}
footer .widget_text strong {font-weight: normal; font-size: 1.2rem; line-height: 1.6rem;}

.pre-header {
    background-color: #363354;
    color: var(--col-white);
    display: block;
}
header {
    background: var(--col-primary);
}
header .navbar-brand img {
    max-width: 80%;
}

.customSelect {
    color: var(--col-grey);
    border: 2px solid var(--col-secondary);
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .text_format {
        line-height: 1.3rem;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    header {
        position: fixed; 
        z-index: 10000;
        background: none;
    }
    header .navbar-brand img {
        max-width: 100%;
    }

    .navbar-nav {margin-right: auto !important;}

    .banner-text h3 {font-size: 3rem; line-height: 3.8rem; margin-bottom: .5rem;}
    .banner-text h4 {font-size: 1.6rem; line-height: 2.1rem; font-weight: normal; margin-bottom: .5rem;}

    .text_format {
        line-height: initial;
    }
    
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .wp-embed-aspect-16-9 iframe{
        height: 400px;
    }
    
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
    
}

@media (min-width: 1500px) {
    
}

/* iPad Mini in portrait */
@media only screen and (min-device-width: 768px) and (max-device-width: 768px) and (orientation: portrait) {
    /* body {
        background-color: red;
    }  */

    .image-container img {
        object-fit: cover;
        max-height: 400px;
    }
    .over-sx .overlay {
        background-size: auto;
    }

    .box-card .content-carat.tablet-none {display: none;}

    .box-card .info h3 {font-size: 1rem; line-height: 1.2rem;}

    .box-card .content-carat div img {display: none;}

    .box-card .content-carat div {margin-bottom: 0;}

    .btn-primary {font-size: .8rem; padding: 3px 2rem;}
}
@media only screen and (min-device-width: 1024px) and (max-device-width: 1024px) and (orientation: landscape) {
    /* body {
        background-color: red;
    }  */

    .image-container img {
        object-fit: cover;
        max-height: 400px;
    }
    .over-sx .overlay {
        background-size: auto;
    }


    header {
        position: static;
        z-index: 10000;
        background: var(--col-primary);
    }
    .navbar-expand-lg {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .navbar-toggler {
        display: block;
    }
    
    .navbar-expand-lg .navbar-collapse {
        flex-basis: 100% !important;
        flex-grow: 1;
        align-items: center;
        display: block !important;
    }
    .collapse:not(.show) {
        display: none !important;
    }
    .navbar-expand-lg .navbar-toggler {
        display: block;
    }

    .navbar-expand-lg .navbar-nav {
        display: block;
    }

    .text_format {display: none !important;}

    .over-dx .overlay {background-position-x: -80px;}

    .box-card .content-carat.tablet-none {display: none;}
    .box-card .info h3 {font-size: 1rem; line-height: 1.2rem;}

    .box-card .content-carat div img {display: none;}
    .box-card .content-carat div {margin-bottom: 0;}

    .btn-primary {font-size: .8rem; padding: 3px 2rem;}
}


/* iPad Air in portrait */
@media only screen and (min-device-width: 820px) and (max-device-width: 820px) and (orientation: portrait) {
    /* body {
        background-color: green;
    } */

    .image-container img {
        object-fit: cover;
        max-height: 400px;
    }
    .over-sx .overlay {
        background-size: auto;
    }
    .box-card .content-carat.tablet-none {display: none;}
    .box-card .info h3 {font-size: 1rem; line-height: 1.2rem;}

    .box-card .content-carat div img {display: none;}
    .box-card .content-carat div {margin-bottom: 0;}

    .btn-primary {font-size: .8rem; padding: 3px 2rem;}
}
@media only screen and (min-device-width: 1180px) and (max-device-width: 1180px) and (orientation: landscape) {
    /* body {
        background-color: green;
    } */

    .image-container img {
        object-fit: cover;
        max-height: 400px;
    }
    .over-sx .overlay {
        background-size: auto;
    }

    .box-card .content-carat.tablet-none {display: none;}
    .box-card .info h3 {font-size: 1rem; line-height: 1.2rem;}

    .box-card .content-carat div img {display: none;}
    .box-card .content-carat div {margin-bottom: 0;}

    .btn-primary {font-size: .8rem; padding: 3px 2rem;}





    header {
        position: static;
        z-index: 10000;
        background: var(--col-primary);
    }
    .navbar-expand-lg {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .navbar-toggler {
        display: block;
    }
    
    .navbar-expand-lg .navbar-collapse {
        flex-basis: 100% !important;
        flex-grow: 1;
        align-items: center;
        display: block !important;
    }
    .collapse:not(.show) {
        display: none !important;
    }
    .navbar-expand-lg .navbar-toggler {
        display: block;
    }

    .navbar-expand-lg .navbar-nav {
        display: block;
    }

    .text_format {display: none !important;}
}


/* start fix */

    .sup-image .info.text-center.h-100 {
        height: auto !important;
    }

   .box-card .box-content .sup-image .info {
        padding-bottom: 10px !important;
        padding-top: 0px !important;
    }
    .box-card .box-content .sup-image .info h3 {
        margin-top: 60px;
    }
    .box-card .box-content .sup-image {
      position: absolute !important;
      height: var(--altezza-card) !important;
      bottom: calc(var(--altezza-card-neg) + var(--altezza-titolo, 0px) + 75px) !important;
      transition: bottom 0.3s ease !important;
      background:url('inc/assets/images/box_listing_overlay.png') !important;
        background-size: cover !important;
        background-position: top !important;
    }
    
    .box-card:hover .box-content .sup-image {
      bottom: 0 !important;
    }
    
    .box-card .content-carat {
      position: relative !important;
      bottom: inherit !important;
    }
    .over-info {
        height: var(--altezza-card) !important;
        display: none !important;
    }
    .modal-content .iol-align-center {
        align-items: flex-start;
        display: flex !important;
        flex-direction: column;
        gap: 0;
        margin-bottom: 20px;
    }
    .modal-content br {
        display: none !important;
    }
    
    .box-card .content-carat div p {
        text-align: left !important;
        line-height: 1.2 !important;
    }
    @media (max-width: 767px) {
    .modal {
        height: calc( 100vh - 100px ) !important;
        top: 95px !important;
        /* border-radius: 15px; */
        width: 95%;
        left: 2.5%;
    }
    
    .modal-dialog {
        margin: 0 !important;
    }
    
    .modal-header, .modal-content {
      /*  border-radius: 0 !important; */
    }
    }
    /* END FIX */