/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* ************************************ Global ************************************ */

*,
*::after,
*::before {
    outline: none !important;
}


#main-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100svh;
}

:where(p) {
    margin: 0 0 1em;
}

:where(p:last-of-type) {
    margin-bottom: 0;
}

.action_span span {
    color: var(--action);
}

.border_image img {
    padding-top: 7%;
    padding-right: 7%;
}

.border_image::after {
    position: absolute;
    width: 93%;
    height: 93%;
    right: 0;
    top: 0;
    border: 1px solid var(--action);
    content: '';
    z-index: -1;
}

.brxe-button.bricks-button:hover {
    background-color: var(--tertiary) !important;
}

body .fancybox-content {
    width: 100% !important;
    max-width: 1280px;
    height: auto !important;
    aspect-ratio: 1280/720;
}

/* ************************************ Global ************************************ */

/* ************************************ Header ************************************ */

/* .home #brx-header section {
    background: transparent;
    transition: all .3s ease;
} */

/* .home header#brx-header.cust_sticky .site_logo img,
.home header#brx-header.cust_sticky button.open_btn,
.home header#brx-header.cust_sticky .group_icons,
.home header#brx-header.cust_sticky .header_menu {
    filter: unset;
    transition: all .3s ease;
} */

/* .home header#brx-header button.open_btn,
.home header#brx-header .group_icons,
.home header#brx-header .header_menu {
    filter: brightness(0) invert(1);
} */

/* .home header#brx-header.cust_sticky section {
    background-color: var(--accent);
} */

.home header#brx-header {
    position: fixed;
    top: 0;
    z-index: 99;
    width: 100%;
}

.service_list>a.service_list_item:last-child {
    border: 0;
    /*     padding-right: 0; */
    /*     width: auto; */
}

.service_list>a.service_list_item:first-child {
    /*     padding-left: 0; */
    /*     width: auto; */
}

#brx-header {
    transition: all .3s ease;
}

#brx-header.cust_sticky {
    position: sticky;
    top: 0;
    z-index: 99;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
}

.cust_sticky .site_logo,
.cust_sticky .header_icon {
    transform: scale(0.9);
    transform-origin: center;
}

.header_menu .bricks-nav-menu a[aria-current="page"] {
    border-color: var(--secondary) !important;
}

/* ************************************ Header ************************************ */

/* ************************************ Service ************************************ */

body {
    counter-reset: section;
}

.service_card_count span::after {
    counter-increment: section;
    content: "0"counter(section);
}

.service_card_image {
    transition: all .8s ease-in-out;
    transform: scale(1.01);
}

.service_card:hover .service_card_image {
    transform: scale(1.1);
}

/* ************************************ Service ************************************ */

/* ************************************ Service Detail Page ************************************ */

.brxe-post-content>*:first-child {
    margin-top: 0 !important;
}

.brxe-post-content>*:last-child {
    margin-bottom: 0 !important;
}

.service_info {
    margin-block: var(--space-xxl);
}

.service_info {
    max-width: 1283px;
    display: grid !important;
    grid-template-rows: 1fr;
    grid-template-columns: 54.88% 37.34%;
    align-items: flex-start !important;
    justify-content: space-between;
}

.service_info_left {
    position: relative;
    aspect-ratio: 704/635;
}

.service_info_img_top {
    position: absolute;
    height: auto;
    margin: 0;
    width: 65.33%;
    aspect-ratio: 460/525;
}

.service_info_img_bottom {
    position: absolute;
    margin: 0;
    width: 52.15%;
    right: 0;
    aspect-ratio: 367/431;
    bottom: 0;
}

.service_info_img_top img,
.service_info_img_bottom img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.service_info_right {
    padding-top: 18.82%;
}

.service_info_heading {
    color: var(--tertiary);
    text-transform: uppercase;
    font-size: var(--text-m);
    line-height: 1;
    font-weight: 700;
    font-family: "Lato";
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}

.service_info_sub_heading {
    font-size: var(--h2);
    line-height: 1.22;
    letter-spacing: -0.02em;
    margin-bottom: 0.67em;
}

.info_link a {
    gap: 1.3rem !important;
    line-height: var(--text-m-lh);
    color: var(--action);
    letter-spacing: 0.05em;
    font-size: var(--text-m);
    padding: 0 !important;
    display: flex;
    background: transparent;
    align-items: center;
    transition: 0.2s all ease;
}

.info_link a:hover {
    color: var(--tertiary);
}

.info_link a:hover::after {
    filter: brightness(0) saturate(100%) invert(54%) sepia(70%) saturate(276%) hue-rotate(36deg) brightness(92%) contrast(86%);
}

.info_link a::after {
    content: url("https://alberinvolo.rrulb.com/wp-content/uploads/2024/07/text-link-arrow.svg");
    transition: 0.2s all ease;
}

.service_info_btn {
    margin-top: var(--space-l);
}

.post_video {
    display: grid !important;
    grid-template-columns: 39.66% 46.88%;
    grid-template-rows: 1fr;
    justify-content: space-between;
    align-items: center !important;
}

.video_btn {
    margin-top: calc(var(--space-m) * 1.25);
}

.custom_video {
    position: relative;
}

.custom_video .custom_poster {
    aspect-ratio: 675/363;
    min-height: 300px;
    width: 100%;
    object-fit: cover;
}

.custom_video .custom_play_icon {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
}

/* ************************************ Service Detail Page ************************************ */

/* ************************************ Chi Samo ************************************ */

.work_slider .splide__track {
    overflow: visible;
}

.work_slider::after {
    content: '';
    position: absolute;
    width: 100vw;
    background: white;
    height: 100%;
    top: 0;
    right: 100%;
}

.work_card:hover .work_card_inner {
    transform: translateX(0);
    opacity: 1;
}

.work_slide:nth-child(odd) {
    width: 36.7% !important;
}

.work_slide:nth-child(even) {
    width: 56.2% !important;
}

/* ************************************ Chi Samo ************************************ */


/* ************************************ Contatti ************************************ */
.contatti_intro_sec_img_wrapper img:nth-child(2n+1) {
    transform: translateY(-38px);
}

/* ************************************ Contatti ************************************ */

/*# Service block #*/

.service_block {
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between;
    margin: calc(var(--space-m) * 2.5) 0;
    background: var(--accent);
    gap: 0 !important
}

.service_block .service_block_left {
    width: 47.03%;
}

.service_block .service_block_left .service_block_img {
    margin: 0;
    aspect-ratio: 677/608;
    height: 100%;
}

.service_block .service_block_left,
.service_block .service_block_right {
    flex-grow: unset !important;
    flex-basis: unset !important;

}

.service_block .service_block_left .service_block_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service_block .service_block_right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    /* gap: 3.6rem; */
    width: 53%;
    padding: var(--space-l) calc(var(--space-m) * 2.820) var(--space-l) calc(var(--space-m) * 2.820);
    margin: auto 0;
}

.service_block_heading {
    margin-bottom: 3.6rem;
}

.service_block .service_block_right .service_block_heading strong {
    font-weight: 400;
    color: var(--action);
}

.service_block .service_block_right .service_block_btn {
    margin-top: 3.6rem;
}

.service_block .service_block_right .service_block_btn a {
    font-size: var(--text-l);
    line-height: var(--text-l-lh);
    align-items: baseline;
    text-align: left;
}

.service_block .service_block_right .service_block_btn a::after {
    content: "";
    background-image: url("https://alberinvolo.rrulb.com/wp-content/uploads/2024/07/text-link-arrow.svg");
    width: 13px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    height: 13px;
}

/*# Service block #*/

/* ************************************ Responsive ************************************ */

@media(max-width:1024px) {

    .service_list>a.service_list_item:first-child,
    .service_list>a.service_list_item:last-child {

        width: 100%;
    }

    .service_list>a.service_list_item:first-child {
        padding-left: 2rem;
    }

    .service_list>a.service_list_item:last-child {
        padding-right: 2rem;
    }

    .service_list>a.service_list_item:nth-child(3n) {
        border-right: 0;
    }

    .service_info {
        grid-template-columns: 54.88% 40%;
    }

    .post_video {
        grid-template-columns: 45% 50%;
    }

    .service_info {
        margin-block: var(--space-xl);
    }

    .service_block .service_block_right {
        padding: var(--space-l);
    }
}

@media(max-width:767px) {
    .border_image img {
        padding-top: 5%;
        padding-right: 5%;
    }

    .service_info,
    .post_video {
        grid-template-columns: 1fr;
        gap: var(--space-m);
    }

    .service_info_right {
        padding-top: var(--space-s);
    }

    .service_info_sub_heading {
        margin-bottom: 1.6rem;
    }

    .post_video .wp-block-column:first-child {
        order: 2;
    }

}

@media(max-width:781px) {
    .service_block .service_block_left {
        order: 1;
    }

    .service_block .service_block_right {
        /* gap: 2.4rem; */
        order: 2;
    }

    .service_block_heading {
        margin-bottom: 2.4rem;
    }

    .service_block .service_block_right .service_block_btn {
        margin-top: 2.4rem;
    }

    .service_block .service_block_left .service_block_img {
        aspect-ratio: 550/350;
    }
}

@media(max-width:575px) {
    .service_list>a.service_list_item:nth-child(3n) {
        border-right: 1px solid #c9c9c9;
    }

    .service_list>a.service_list_item:nth-child(2n) {
        border-right: 0;
    }

    .work_slide:nth-child(odd),
    .work_slide:nth-child(even) {
        width: 100% !important;
    }

    .service_info_btn,
    .video_btn {
        margin-top: var(--space-m);
    }

    .service_block .service_block_right {
        padding: var(--space-m);
        /* gap: 1.6rem; */
    }

    .service_block .service_block_right .service_block_btn {
        margin-top: 1.6rem;
    }

    .service_block_heading {
        margin-bottom: 1.6rem;
    }

    .service_block {
        margin: 50px 0;
    }
}

@media(max-width:480px) {
    .brxe-block.contact_wrap {
        width: 100% !important;
    }
}