/****************************************************/
/* Wedding Builder */

body.page-template-template-weddingbuilder #footer { padding-bottom: 82px;}

/* Phone Button Fix */

.btn.btn_phone { cursor: default;}

.btn.btn_phone.show_desktop { display: flex !important;}
.btn.btn_phone.show_mobile { display: none !important;}

@media (max-width: 767px) {
    .btn.btn_phone.show_desktop { display: none !important;}
    .btn.btn_phone.show_mobile { display: flex !important; cursor: pointer;}
}

/* Simple Header */

#header_simple {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    height: 70px;
    position: fixed; 
    z-index: 991; 
    top: 0; left: 0; 
    background: #fff;
    box-shadow: 0 0 17px 0 rgba(0, 0, 0, 0.03), 0 0 5px 0 rgba(0, 0, 0, 0.04);
    border-bottom: 1px solid rgba(240, 240, 240, 1);
    padding: 20px;
}
body.admin-bar #header_simple { top: 32px;}
    #header_simple > div { flex: 1;}
    #header_simple > .back {}
    #header_simple > .back > a { font-size: 16px; font-weight: 600;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        gap: 4px;
    }
    #header_simple > .back > a i { display: inline-block; width: 16px; height: 16px; background: url('../svg/prev.svg') no-repeat center center; background-size: contain;}
    #header_simple > .cta {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-end;
        align-items: center;
        gap: 8px;
    }
    #header_simple > .cta .help { font-size: 16px; font-weight: 600;}
    #header_simple > .cta .btn_phone {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 4px;
        font-size: 14px; padding: 13px 12px;
    }
   #header_simple > .cta .btn_phone .ico_call { display: inline-block; width: 16px; height: 16px; background: url('../svg/wedding/phone.svg') no-repeat center center; background-size: contain;}
   
   @media (max-width: 767px) {
        #header_simple {
            height: 60px;
            padding: 0 20px;
        }
        body.admin-bar #header_simple { top: 32px;}
        #header_simple > div { flex: auto;}
        #header_simple > .back > a span { display: none;}
        #header_simple > .back > a i { width: 24px; height: 24px;}
        #header_simple > .cta .help { display: none}
        #header_simple > .cta .btn_phone span { display: none;}
        #header_simple > .cta .btn_phone .ico_call { width: 24px; height: 24px;}
   }
   
   
/* Blocks */

.wedding_builder_block { position: relative; display: block;}
    .wedding_builder_block .text_inner {
        position: relative;
        width: 100%; max-width: 1180px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: var(--space-5);
        padding: 64px 20px;
        z-index: 9;
        flex: 1;
    }
    .wedding_builder_block .text_inner > div { width: 100%;}
    .wedding_builder_block .text_inner .headline { display: block; width: 100%; text-align: center; font-size: 32px;}
    .wedding_builder_block .text_inner .headline > i { font-family: "Suisse Works", serif; font-style: normal;}
    
    .wedding_builder_block .text_inner > .text { text-align: center;}
    .wedding_builder_block .text_inner > .cta {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }
    .wedding_builder_block .text_inner > .cta .btn { font-size: 16px; padding: 16px 20px;}
    .wedding_builder_block .text_inner > .cta .btn_phone {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 4px;
    }
    .wedding_builder_block .text_inner > .cta .btn_phone .ico_call { display: inline-block; width: 24px; height: 24px; background: url('../svg/wedding/phone.svg') no-repeat center center; background-size: contain;}
    
    @media (max-width: 767px) {
        .wedding_builder_block .text_inner {
            gap: var(--space-3);
            padding: 30px 20px;
        }
        .wedding_builder_block .text_inner .headline { font-size: 20px;}
        .wedding_builder_block .text_inner > .cta { display: none;}
        .not-phone { display: none !important;}
    }

/* Hero */

.wedding_builder_block.hero_video { padding-top: 56px; background: #363A45; color: #fff;}
	
	.wedding_builder_block.hero_video .overlay { background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 44%, rgba(0, 0, 0, 0.2) 70%, rgba(255, 255, 255, 0) 88%);
 z-index: 4; opacity: 1;}
	.wedding_builder_block.hero_video video { height: 100%; width: 100%; position: absolute; top: 0; left: 0; z-index: 1; object-fit: cover;}
	.wedding_builder_block.hero_video figure { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; overflow: hidden;}
	.wedding_builder_block.hero_video figure img { max-width: none; max-height: none; height: 100%; width: 100%; object-fit: cover;}
    
    .wedding_builder_block.hero_video .text_inner > h1 { font-size: 40px; letter-spacing: -0.5px; max-width: 780px;}
    .wedding_builder_block.hero_video .text_inner > h1 > i { font-family: "Suisse Works", serif; font-style: normal;}
    .wedding_builder_block.hero_video .text_inner > .text { text-align: left;}
    .wedding_builder_block.hero_video .text_inner > .text ul { margin: 0;}
    .wedding_builder_block.hero_video .text_inner > .text ul li { list-style: none; margin: 0;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 8px;
    }
    .wedding_builder_block.hero_video .text_inner > .text.not-phone { font-weight: 600;}
    .wedding_builder_block.hero_video .text_inner > .cta { justify-content: flex-start;}
    .wedding_builder_block.hero_video .text_inner > .cta .btn.btn_hero { background: #fff; color: #363A45;}
    .wedding_builder_block.hero_video .text_inner > .cta .btn_phone .ico_call { background-image: url('../svg/wedding/phone-white.svg');}
    
    /* Cycle 2 Slideshow */
    
    .cycle-slideshow, 
    .cycle-slideshow * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
    .cycle-slideshow { height: 100%; width: 100%; min-height: 50px; overflow: hidden;}
    .cycle-slideshow .slide { width: 100%; height: 100%;}
    
    .wedding_builder_block.hero_video .cycle-slideshow { position: absolute; top: 0; left: 0; z-index: 1;}
    
    @media (max-width: 767px) {
        .wedding_builder_block.hero_video { 
            height: 470px;
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            justify-content: flex-start;
            align-items: flex-end;
        }
        .wedding_builder_block.hero_video .text_inner > h1 { font-size: 24px;}
        .wedding_builder_block.hero_video .text_inner > .text ul li { font-weight: 600;}
        
        .wedding_builder_block.hero_video video { height: 215px; top: 50px;}
        .wedding_builder_block.hero_video .cycle-slideshow { height: 215px; top: 50px;}
        .wedding_builder_block.hero_video .overlay { height: 215px; top: 50px; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 60%, #363A45 100%);}
    }

/* How it works */

.wedding_builder_block.img_boxes { background: rgba(243, 243, 244, 1);}

    .wedding_builder_block.img_boxes .grid_boxes {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: stretch;
        gap: 48px;
        padding: 16px 0;
    }
    .wedding_builder_block.img_boxes .grid_boxes .item { flex: 1; position: relative; display: block; background: #fff; border: 1px solid rgba(212, 213, 216, 1);}
    .wedding_builder_block.img_boxes .grid_boxes .item figure { position: relative; display: block; width: 100%; height: 200px; overflow: hidden;}
    .wedding_builder_block.img_boxes .grid_boxes .item figure > img { max-width: none; max-height: none; height: 100%; width: 100%; object-fit: cover;}
    .wedding_builder_block.img_boxes .grid_boxes .item .inner {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        padding: 20px;
        gap: 16px;
    }
    .wedding_builder_block.img_boxes .grid_boxes .item .inner h3 { font-size: 16px;}
    .wedding_builder_block.img_boxes .grid_boxes .item .inner .text { font-size: 14px; line-height: 1.5em;}
    
    @media (max-width: 767px) {
        .wedding_builder_block.img_boxes .grid_boxes {
            display: flex;
            flex-direction: column;
            flex-wrap: nowrap;
            justify-content: flex-start;
            align-items: flex-start;
            gap: 20px;
            padding: 16px 0;
        }
        .wedding_builder_block.img_boxes .grid_boxes .item { width: 100%;}
        .wedding_builder_block.img_boxes .grid_boxes .item figure { height: 150px;}
        .wedding_builder_block.img_boxes .grid_boxes .item .inner { gap: 8px;}
        .wedding_builder_block.img_boxes .grid_boxes .item .inner h3 { font-size: 14px;}
        .wedding_builder_block.img_boxes .grid_boxes .item .inner .text { font-size: 12px; line-height: 1.5em;}
    }

/* Offer Carousel */
    
.wedding_builder_block.hotel_offers { background: #363A45; color: #fff;}

    .wedding_builder_block.hotel_offers .item { width: 500px; display: block; position: relative; color: #fff;}
    .wedding_builder_block.hotel_offers .item figure { position: relative; display: block; width: 100%; height: 280px; overflow: hidden;}
    .wedding_builder_block.hotel_offers .item figure > img { max-width: none; max-height: none; height: 100%; width: 100%; object-fit: cover;}
    .wedding_builder_block.hotel_offers .item .inner {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: flex-start;
        padding-top: 16px;
        gap: 12px;
    }
    .wedding_builder_block.hotel_offers .item .inner .details span { font-size: 14px;}
    .wedding_builder_block.hotel_offers .item .inner .details h4 { font-size: 20px;}
    .wedding_builder_block.hotel_offers .item .inner .rating { font-size: 12px; font-weight: 600;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        gap: 8px;
    }
    .wedding_builder_block.hotel_offers .item .inner .rating .number { background: rgba(150, 136, 95, 1); padding: 0 6px; font-size: 13px; font-weight: 500; line-height: 24px;border-radius: 2px;}
    
    .wedding_builder_block.hotel_offers .text_inner > .cta .btn.btn_primary { background: #fff; color: #363A45;}
    .wedding_builder_block.hotel_offers .text_inner > .cta .btn_phone .ico_call { background-image: url('../svg/wedding/phone-white.svg');}
    
    .wedding_builder_block.hotel_offers .item.fallback { 
        background: rgba(80, 84, 96, 1);
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: 24px;
        gap: 4px;
        width: 320px;
        height: 344px;
    }
    .wedding_builder_block.hotel_offers .item.fallback p { font-weight: 600;}
    .wedding_builder_block.hotel_offers .item.fallback .btn { font-size: 16px; padding: 16px 20px;}
    .wedding_builder_block.hotel_offers .item.fallback .btn_phone {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 4px;
    }
    .wedding_builder_block.hotel_offers .item.fallback .btn_phone .ico_call { display: inline-block; width: 24px; height: 24px; background: url('../svg/wedding/phone-white.svg') no-repeat center center; background-size: contain;}
    
    @media (max-width: 767px) {
        .wedding_builder_block.hotel_offers .item { width: 280px;}
        .wedding_builder_block.hotel_offers .item figure { height: 200px;}
        .wedding_builder_block.hotel_offers .item .inner .details span { font-size: 12px;}
        .wedding_builder_block.hotel_offers .item .inner .details h4 { font-size: 18px;}
        .wedding_builder_block.hotel_offers .item.fallback { width: 250px; height: 283px;}
    }

/* Testimonials */
    
.wedding_builder_block.testimonials {}
    .wedding_builder_block.testimonials .text_inner { max-width: 980px;}
    .wedding_builder_block.testimonials .headline { font-size: 18px; font-weight: 600;}
    .wedding_builder_block.testimonials .testimonial_box { position: relative; display: block; padding: 0 100px;}
    .wedding_builder_block.testimonials .testimonial_box:before { content: ''; display: block; width: 60px; height: 60px; position: absolute; top: 0; left: 0;
        background: url('../svg/wedding/quote.svg') no-repeat center center;
        background-size: contain;
    }
    .wedding_builder_block.testimonials .testimonial_box:after { content: ''; display: block; width: 60px; height: 60px; position: absolute; top: 0; right: 0;
        background: url('../svg/wedding/quote.svg') no-repeat center center;
        background-size: contain;
        transform: rotate(180deg);
    }
    
    .wedding_builder_block.testimonials .testimonial_box .item { text-align: center;}
    .wedding_builder_block.testimonials .testimonial_box .item .quote { font-size: 20px; font-weight: 450; line-height: 1.3em; margin-bottom: 24px;}
    .wedding_builder_block.testimonials .testimonial_box .item .text { font-size: 14px; line-height: 1.5em;}
    .wedding_builder_block.testimonials .testimonial_box .item .text p { margin: 0 !important;}
    
    @media (max-width: 767px) {
        .wedding_builder_block.testimonials .headline { font-size: 20px; font-weight: 450;}
        .wedding_builder_block.testimonials .testimonial_box { padding: 0 40px;}
        .wedding_builder_block.testimonials .testimonial_box:before { width: 30px; height: 30px;}
        .wedding_builder_block.testimonials .testimonial_box:after { width: 30px; height: 30px; top: auto; bottom: 90px;}
        
        .wedding_builder_block.testimonials .testimonial_box .item .quote { font-size: 18px; margin-bottom: 24px;}
        .wedding_builder_block.testimonials .testimonial_box .item .text { font-size: 14px; line-height: 1.5em;}
    }

/* Icons Boxes */

.wedding_builder_block.ico_boxes { background: rgba(243, 243, 244, 1);}
    
    .wedding_builder_block.ico_boxes .icon_boxes {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: stretch;
        gap: 24px;
        padding: 16px 0;
    }
    .wedding_builder_block.ico_boxes .icon_boxes .item { position: relative; display: block; background: #fff; padding: 12px;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
        flex: 0 0 calc(33.333% - 24px * 2 / 3);
    }
    .wedding_builder_block.ico_boxes.count_5 .icon_boxes .item:nth-child(-n+2) { flex: 0 0 calc(50% - 24px / 2);}
    .wedding_builder_block.ico_boxes.count_5 .icon_boxes .item:nth-child(n+3) { flex: 0 0 calc(33.333% - 24px * 2 / 3);}
    .wedding_builder_block.ico_boxes .icon_boxes .item img { display: block; position: relative; width: 24px; height: 24px;}
    .wedding_builder_block.ico_boxes .icon_boxes .item .inner {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 4px;
        width: calc(100% - 36px);
    }
    .wedding_builder_block.ico_boxes .icon_boxes .item .inner h3 { font-size: 16px; font-weight: 400;}
    .wedding_builder_block.ico_boxes .icon_boxes .item .inner .text { font-size: 12px; line-height: 1.5em;}
    
    @media (max-width: 767px) {
        .wedding_builder_block.ico_boxes .icon_boxes {
            flex-direction: column;
            flex-wrap: nowrap;
            justify-content: flex-start;
            align-items: flex-start;
            gap: 12px;
            padding: 16px 0;
        }
        .wedding_builder_block.ico_boxes .icon_boxes .item { padding: 8px; gap: 8px; flex: 1; width: 100%;}
        .wedding_builder_block.ico_boxes.count_5 .icon_boxes .item:nth-child(-n+2),
        .wedding_builder_block.ico_boxes.count_5 .icon_boxes .item:nth-child(n+3) { flex: 1;}
        .wedding_builder_block.ico_boxes .icon_boxes .item .inner h3 { font-size: 14px;}
    }

/* Societe */

.wedding_builder_block.societe_block { background: #363A45; color: #fff;}
    .wedding_builder_block.societe_block .text_inner { max-width: 980px;}
    .wedding_builder_block.societe_block .logo { max-width: 275px; margin: 0 auto;}
    .wedding_builder_block.societe_block .headline { color: rgba(198, 188, 146, 1);}
    .wedding_builder_block.societe_block .icon_boxes {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: flex-start;
        gap: 64px;
        padding: 16px 0 0 0;
    }
    .wedding_builder_block.societe_block .icon_boxes .item { position: relative; display: block;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        gap: 8px;
        text-align: center;
    }
    .wedding_builder_block.societe_block .icon_boxes .item h4 { font-size: 24px; font-weight: 600;}
    /*.wedding_builder_block.societe_block .icon_boxes .item:nth-child(1) h4 { color: rgba(186, 188, 194, 1);}
    .wedding_builder_block.societe_block .icon_boxes .item:nth-child(2) h4 { color: rgba(198, 188, 146, 1);}
    .wedding_builder_block.societe_block .icon_boxes .item:nth-child(3) h4 { color: rgba(149, 166, 174, 1);}*/
    .wedding_builder_block.societe_block .icon_boxes .item:nth-child(1) h4 { color: rgba(198, 188, 146, 1);}
    .wedding_builder_block.societe_block .icon_boxes .item:nth-child(2) h4 { color: rgba(149, 166, 174, 1);}
    .wedding_builder_block.societe_block .icon_boxes .item .text { font-size: 14px;}
    
    @media (max-width: 767px) {
        .wedding_builder_block.societe_block .logo { max-width: 180px;}
    }

/* FAQ */

.wedding_builder_block.faq_block {}
    .wedding_builder_block.faq_block .text_inner { max-width: 980px;}
    .wedding_builder_block.faq_block .faq_groups { padding: 12px 0 32px 0;}
    .wedding_builder_block.faq_block .faq_nav {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 8px;
        margin-bottom: 12px;
    }
    .wedding_builder_block.faq_block .faq_nav button { display: inline-block; margin: 0; border: 1px solid rgba(175, 176, 181, 1); padding: 9px 12px; border-radius: 20px; font-size: 14px; font-weight: 400; background: none; line-height: 1em; color: #363A45;}
    .wedding_builder_block.faq_block .faq_nav button.active { font-weight: 600; border: 2px solid #363A45;}
    
    .wedding_builder_block.faq_block .toggle_item { position: relative; border-bottom: 1px solid rgba(223, 223, 225, 1);
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .wedding_builder_block.faq_block .toggle_item h3.toggle_tag { position: relative; width: 100%; font-size: 14px; font-weight: 600; padding: 18px 0; cursor: pointer;}
    .wedding_builder_block.faq_block .toggle_item h3.toggle_tag span { display: block; position: absolute; width: 24px; height: 24px; background: url('../../_assets/svg/arrow.svg') no-repeat center center; transform: rotate(90deg); background-size: contain; top: 50%; right: 0; margin-top: -10px; transition: .3s;}
    .wedding_builder_block.faq_block .toggle_item.active h3.toggle_tag span { transform: rotate(270deg);}
    .wedding_builder_block.faq_block .toggle_item .text { font-size: 14px; line-height: 1.5em; padding: 0 0 18px 0;}
    
    @media (max-width: 767px) {
        .wedding_builder_block.faq_block .faq_nav { justify-content: center;}
    }

/* Intro (Form) */

.wedding_builder_block.intro_block { padding: 120px 20px 48px 20px;}
    .wedding_builder_block.intro_block .nav_inner {
        position: relative;
        width: 100%; max-width: 840px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        z-index: 9;
        flex: 1;
        margin-bottom: 20px;
    }
    .wedding_builder_block.intro_block .nav_inner > a { font-size: 14px; font-weight: 600;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 4px;
    }
    .wedding_builder_block.intro_block .nav_inner > a i { display: inline-block; width: 16px; height: 16px; background: url('../svg/prev.svg') no-repeat center center; background-size: contain;}
    
    .wedding_builder_block.intro_block .intro_inner {
        position: relative;
        width: 100%; max-width: 840px;
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: flex-start;
        gap: 40px;
        z-index: 9;
        flex: 1;
    }
    .wedding_builder_block.intro_block .intro_inner .content { width: 50%;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 12px;
    }
    .wedding_builder_block.intro_block .intro_inner .content h1 { font-size: 40px;}
    .wedding_builder_block.intro_block .intro_inner .content .text { line-height: 1.3em;}
    .wedding_builder_block.intro_block .intro_inner .content .text ol { margin-top: 0;}
    .wedding_builder_block.intro_block .intro_inner .content .text ol li { margin: 0;}
    
    .wedding_builder_block.intro_block .intro_inner .trust_box { width: calc(50% - 40px); background: rgba(243, 243, 244, 1);
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: stretch;
    }
    .wedding_builder_block.intro_block .intro_inner .trust_box figure { position: relative; display: block; width: 120px; overflow: hidden;}
    .wedding_builder_block.intro_block .intro_inner .trust_box figure > img { max-width: none; max-height: none; height: 100%; width: 100%; object-fit: cover;}
    .wedding_builder_block.intro_block .intro_inner .trust_box .text { width: calc(100% - 120px); padding: 24px; font-size: 14px; line-height: 1.3em;}
    .wedding_builder_block.intro_block .intro_inner .trust_box .text p { margin-bottom: 10px;}
    
    @media (max-width: 767px) {
        .wedding_builder_block.intro_block { padding: 90px 20px 32px 20px;}
        .wedding_builder_block.intro_block .nav_inner { margin-bottom: 12px;}
        .wedding_builder_block.intro_block .intro_inner {
            flex-direction: column;
            flex-wrap: nowrap;
            justify-content: flex-start;
            align-items: flex-start;
            gap: 16px;
        }
        .wedding_builder_block.intro_block .intro_inner .content { width: 100%; gap: 12px;}
        .wedding_builder_block.intro_block .intro_inner .content h1 { font-size: 20px;}
        .wedding_builder_block.intro_block .intro_inner .content .text { font-size: 14px; line-height: 1.3em;}
        .wedding_builder_block.intro_block .intro_inner .trust_box { width: 100%;}
        .wedding_builder_block.intro_block .intro_inner .trust_box .text { padding: 12px; font-size: 12px; line-height: 1.3em;}
        .wedding_builder_block.intro_block .intro_inner .trust_box .text p { margin-bottom: 8px;}
    }

/* Form Block core */

.wedding_builder_block.cta_form {}
    .wedding_builder_block.cta_form .text_inner {
        max-width: 880px;
        padding: 0 20px 64px 20px;
    }
    .wedding_builder_block.cta_form .headline { font-size: 18px; font-weight: 600; text-align: left; width: 100%;}
    
    @media (max-width: 767px) {}

/* Thanks */

.wedding_builder_block.thanks_block { padding: 120px 20px 64px 20px;}
    .wedding_builder_block.thanks_block .nav_inner {
        position: relative;
        width: 100%; max-width: 840px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        z-index: 9;
        flex: 1;
        margin-bottom: 20px;
    }
    .wedding_builder_block.thanks_block .nav_inner > a { font-size: 14px; font-weight: 600;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 4px;
    }
    .wedding_builder_block.thanks_block .nav_inner > a i { display: inline-block; width: 16px; height: 16px; background: url('../svg/prev.svg') no-repeat center center; background-size: contain;}
    
    .wedding_builder_block.thanks_block .thanks_inner {
        position: relative;
        width: 100%; max-width: 840px;
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 40px;
        z-index: 9;
        flex: 1;
    }
    .wedding_builder_block.thanks_block .thanks_inner .content { width: calc(50% - 20px);
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 12px;
    }
    .wedding_builder_block.thanks_block .thanks_inner .content h1 { font-size: 32px;}
    .wedding_builder_block.thanks_block .thanks_inner .content h3 { font-size: 20px; font-weight: 400;}
    .wedding_builder_block.thanks_block .thanks_inner .content .text { font-size: 14px; line-height: 1.3em;}
    
    .wedding_builder_block.thanks_block .thanks_inner .media { display: block; width: calc(50% - 20px);}
    .wedding_builder_block.thanks_block .thanks_inner .media figure { position: relative; display: block; width: 100%; height: 350px; overflow: hidden;}
    .wedding_builder_block.thanks_block .thanks_inner .media figure > img { max-width: none; max-height: none; height: 100%; width: 100%; object-fit: cover;}
    
    @media (max-width: 767px) {
        .wedding_builder_block.thanks_block { padding: 90px 20px 64px 20px;}
        .wedding_builder_block.thanks_block .thanks_inner {
            flex-direction: column;
            flex-wrap: nowrap;
            justify-content: flex-start;
            align-items: flex-start;
            gap: 24px;
        }
        .wedding_builder_block.thanks_block .thanks_inner .content { width: 100%; order: 2;}
        .wedding_builder_block.thanks_block .thanks_inner .content h1 { font-size: 24px;}
        .wedding_builder_block.thanks_block .thanks_inner .content h3 { font-size: 16px;}
        .wedding_builder_block.thanks_block .thanks_inner .content .text { font-size: 12px; line-height: 1.3em;}
        
        .wedding_builder_block.thanks_block .thanks_inner .media { width: 100%; order: 1;}
        .wedding_builder_block.thanks_block .thanks_inner .media figure { height: 200px;}
    }

/****************************************************/
/* Fixed CTA */

#fixed_cta { position: fixed; display: block; z-index: 991; bottom: 0; left: 0; width: 100%; background: #fff; box-shadow: 0 -5px 10px 0 rgba(0, 0, 0, 0.05), 0 -2px 4px 0 rgba(0, 0, 0, 0.05);}
    #fixed_cta .inner {
        position: relative;
        width: 100%; max-width: 1180px;
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: center;
        gap: 24px;
        padding: 20px 20px;
        flex: 1;
        min-height: 82px;
    }
    #fixed_cta .inner .text { font-size: 20px; font-weight: 450; text-align: right;}
    #fixed_cta .inner > .cta {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }
    #fixed_cta .inner > .cta .btn { font-size: 14px; padding: 13px 12px;}
    #fixed_cta .inner > .cta .btn_phone {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 4px;
    }
    #fixed_cta .inner > .cta .btn_phone .ico_call { display: inline-block; width: 16px; height: 16px; background: url('../svg/wedding/phone.svg') no-repeat center center; background-size: contain;}
    
    @media (max-width: 767px) {
        #fixed_cta .inner {
            justify-content: center;
            align-items: center;
            gap: 12px;
            padding: 12px 20px;
            flex: 1;
        }
        #fixed_cta .inner .text { font-size: 14px; font-weight: 600; text-align: center;}
        #fixed_cta .inner > .cta {
            flex-wrap: nowrap;
            justify-content: center;
            gap: 8px;
            width: 100%;
        }
        #fixed_cta .inner > .cta .btn { width: 50%; border: 1px solid #363A45;}
    }

/****************************************************/
/* Gravity Form Inputs */

/* Phone Dropdown */
.wedding_builder_block .iti.iti--allow-dropdown { display: block; width: 100%;}
.wedding_builder_block .iti.iti__flag {}
.wedding_builder_block .iti__country-list { }
.wedding_builder_block .iti--allow-dropdown .iti__flag-container .iti__selected-flag { background: #fff;}
.wedding_builder_block .gform_wrapper.gravity-theme .custom_phone [type="tel"] { padding-left: 85px !important;}

.wedding_builder_block .gform_wrapper.gravity-theme .gfield_header_item, 
.wedding_builder_block .gform_wrapper.gravity-theme .gform_fileupload_rules, 
.wedding_builder_block .gform_wrapper.gravity-theme .ginput_complex label,
.wedding_builder_block .gform_wrapper.gravity-theme .gfield_label {
    font-size: 14px;
    font-weight: 600;
    padding: 0;
    margin: 0 0 4px 0;
}

.wedding_builder_block .gform_wrapper.gravity-theme .description, 
.wedding_builder_block .gform_wrapper.gravity-theme .gfield_description, 
.wedding_builder_block .gform_wrapper.gravity-theme .gsection_description, 
.wedding_builder_block .gform_wrapper.gravity-theme .instruction {
    font-size: 12px;
    font-weight: 400;
    padding: 0;
    margin: 4px 0 0 0;
    color: rgba(126, 129, 136, 1);
    line-height: 1.3em;
}

.wedding_builder_block .gform_wrapper.gravity-theme #field_1_6 .gfield_label {
    font-size: 18px;
    font-weight: 600;
    margin: 24px 0 0 0;
    display: block;
    width: 100%;
    padding-top: 32px;
    border-top: 1px solid rgba(212, 213, 216, 1);
}

.wedding_builder_block .gform_wrapper.gravity-theme .field_description_above .description, 
.wedding_builder_block .gform_wrapper.gravity-theme .field_description_above .gfield_description, 
.wedding_builder_block .gform_wrapper.gravity-theme .field_description_above .gsection_description, 
.wedding_builder_block .gform_wrapper.gravity-theme .field_description_above .instruction {
    padding-bottom: 24px;
}

.wedding_builder_block .gform_wrapper.gravity-theme .gfield.gfield_html h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 24px 0 0 0;
}

.wedding_builder_block .gform_wrapper.gravity-theme .gfield_required { display: none;}
.wedding_builder_block .gform_wrapper.gravity-theme .gfield_validation_message, 
.wedding_builder_block .gform_wrapper.gravity-theme .validation_message {
    background: none;
    border: none;
}

.wedding_builder_block textarea,
.wedding_builder_block input[type="text"],
.wedding_builder_block input[type="password"],
.wedding_builder_block input[type="datetime"],
.wedding_builder_block input[type="datetime-local"],
.wedding_builder_block input[type="date"],
.wedding_builder_block input[type="month"],
.wedding_builder_block input[type="time"],
.wedding_builder_block input[type="week"],
.wedding_builder_block input[type="number"],
.wedding_builder_block input[type="email"],
.wedding_builder_block input[type="url"],
.wedding_builder_block input[type="search"],
.wedding_builder_block input[type="tel"],
.wedding_builder_block input[type="color"] {
    padding: 12px 16px !important;
    line-height: 24px;
    border: 1px solid rgba(223, 223, 225, 1);
    box-shadow: none;
    font-size: 16px;
}

.wedding_builder_block textarea { 
    height: auto;
    height: 120px;
    line-height: 1.5em;
}

.wedding_builder_block form input[type="button"],
.wedding_builder_block form input[type="submit"],
.wedding_builder_block form button { 
    -webkit-appearance: none;
    width: auto; 
    border: none; 
    cursor: pointer; 
    transition:.5s;
    background: #363A45;
    color: #fff; 
    font-size: 16px; 
    padding: 16px 12px; 
    border-radius: 3px;
    font-weight: 700;
    line-height: 1em;
    height: auto;
    margin: 0 auto;
}
.wedding_builder_block form input[type="button"]:hover, 
.wedding_builder_block form input[type="submit"]:hover,
.wedding_builder_block form button:hover {
    color: #fff; 
    background: #000;
}

/* Gravity Form Checkboxes */

.advanced_checkbox_group {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    gap: 24px;
}
/*.advanced_checkbox { flex: 0 0 calc(50% - 24px / 2);}
.advanced_checkbox:nth-child(n+3) { flex: 0 0 calc(33.333% - 24px * 2 / 3);}*/
.advanced_checkbox { flex: 0 0 calc(33.333% - 24px * 2 / 3);}

/* --- Label styles --- */
.advanced_checkbox label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px;
    box-shadow: 0 0 0 1px rgba(231, 232, 234, 1);
    border-radius: 12px;
    cursor: pointer;
    background: #fff;
    transition: all 0.25s ease;
    position: relative;
}

/* --- Hide native checkbox --- */
.advanced_checkbox input[type="checkbox"] {
    display: none;
}

/* --- Custom icon box --- */
.advanced_checkbox .icon {
    width: 40px;
    height: 40px;
    display: inline-block;
    position: relative;
    margin-bottom: 8px;
    background: no-repeat;
}

/* --- Check icon box --- */
.advanced_checkbox .checker {
    width: 24px;
    height: 24px;
    background-image: url('../svg/wedding/check.svg');
    background-size: contain;
    display: block;
    position: absolute;
    top: 16px; right: 16px;
    transition: 0.3s;
    opacity: 0;
}

/* --- Heading and tagline --- */
.advanced_checkbox .heading {
    font-weight: 600;
    font-size: 16px;
}

.advanced_checkbox .tagline {
    font-weight: 400;
    font-size: 14px;
    line-height: 1.3em;
    color: rgba(134, 137, 147, 1);
}

/* --- Selected state --- */
.advanced_checkbox label:has(input[type="checkbox"]:checked) {
    box-shadow: 0 0 0 2px #363A45;
}
.advanced_checkbox input[type="checkbox"]:checked ~ .checker {
    opacity: 1;
}

/* --- Add unique icons per box --- */
.advanced_checkbox:nth-child(1) .icon {
    background-image: url('../svg/wedding/form-wedding.svg');
    background-size: contain;
}
.advanced_checkbox:nth-child(2) .icon {
    background-image: url('../svg/wedding/form-bed.svg');
    background-size: contain;
}
.advanced_checkbox:nth-child(3) .icon {
    background-image: url('../svg/wedding/form-flight.svg');
    background-size: contain;
}
.advanced_checkbox:nth-child(4) .icon {
    background-image: url('../svg/wedding/form-transfer.svg');
    background-size: contain;
}
.advanced_checkbox:nth-child(5) .icon {
    background-image: url('../svg/wedding/form-gift.svg');
    background-size: contain;
}
.advanced_checkbox:nth-child(6) .icon {
    background-image: url('../svg/wedding/form-star.svg');
    background-size: contain;
}

@media (max-width: 767px) {
    .advanced_checkbox_group {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 20px;
    }
    .advanced_checkbox { flex: 1; width: 100%;}
    /*.advanced_checkbox:nth-child(n+3) { flex: 1;}*/
    .advanced_checkbox label {
        padding: 16px 60px;
    }
    .advanced_checkbox .icon {
        width: 32px;
        height: 32px;
        display: block;
        position: absolute;
        top: 50%; left: 16px;
        margin: -16px 0 0 0;
    }
    .advanced_checkbox .checker {
        top: 50%; right: 16px;
        margin: -12px 0 0 0;
    }
    .advanced_checkbox .heading { font-size: 14px;}
}