@font-face {
    font-family: 'Inter';
    src: url('fonts/Stripped-Inter-VariableFont_opsz.woff2') format('woff2'), url('fonts/Stripped-Inter-VariableFont_opsz.ttf');
    font-display: swap;
}
@font-face {
    font-family: 'Inter Fallback';
    src: local('Arial'), local('Helvetica'), local('Arial');
    size-adjust: 105%;
}
/*
@font-face {
    font-family: 'Inter'; // Not stripped
    src: url('Inter-VariableFont_opsz,wght.ttf');
}*/


@font-face {
    font-family: 'Crimson Text';
    src: url('fonts/CrimsonText-Regular.woff2') format('woff2'), url('fonts/CrimsonText-Regular.ttf');
    font-display: swap;
}

@font-face {
    font-family: 'Crimson Text Fallback';
    src: local('Times New Roman'), local('Times'), local('serif');
    font-display: swap;
}


.validation-message {
    color: #E00004;
    font-size: 12px;
    margin-top: 6px;
    scroll-margin-top: 170px;
    text-indent: 0;
}

    .validation-message::before {
        content: '\f06a'; /* fa-exclamation-circle */
        font-family: 'Font Awesome 6 Pro';
        font-size: 14px;
        margin-right: 5px;
    }

.background-beige {
    background-color: #EFEBE1 !important;
}

.background-white {
    background-color: #FFF !important;
}

.background-dark-teal {
    background-color: #044752 !important;
}

:root {
}

html, body, .page {
    min-height: 100vh;
    color: #383638;
}

.page {
    display: flex;
    flex-direction: column;
    /*    overflow-x: hidden;*/
}
/* BASIC */
h1 {
    font-family: 'Crimson Text', 'Crimson Text Fallback' !important;
    font-weight: 400 !important;
    font-size: 85px !important;
    line-height: 100% !important;
}

    h1:focus-visible {
        outline: unset;
    }

h2, .h2 {
    font-family: 'Crimson Text', 'Crimson Text Fallback' !important;
    font-weight: 400 !important;
    font-size: 72px !important;
    line-height: 100% !important;
}

h3, .h3 {
    font-family: 'Inter', 'Inter Fallback' !important;
    font-weight: 600 !important;
    font-size: 38px !important;
    line-height: 120% !important;
}

h4, .h4 {
    font-family: 'Inter', 'Inter Fallback' !important;
    font-weight: 600 !important;
    font-size: 23px !important;
    line-height: 140% !important;
}

.p1 {
    font-weight: 400; /* Regular */
    font-size: 18px;
    line-height: 150%;
}

.p2 {
    font-weight: 400; /* Regular */
    font-size: 17px;
    line-height: 150%;
}

.p3 {
    font-weight: 700; /* Bold */
    font-size: 17px;
    line-height: 150%;
}

.p4 {
    font-weight: 400; /* Regular */
    font-size: 15px;
    line-height: 150%;
}

.small-text {
    font-family: 'Inter', 'Inter Fallback';
    font-weight: 400; /* Regular */
    font-size: 12px;
    line-height: 150%;
    font-weight: 400;
}

@media(max-width:991px) {
    h1 {
        font-size: 45px !important;
    }

    h2, .h2 {
        font-size: 43px !important;
    }

    h3, .h3 {
        font-size: 29px !important;
    }

    h4, .h4 {
        font-size: 20px !important;
    }
}

.card {
    border-radius: 34px !important;
    color: #383638;
}

    .card .card-body {
        padding: 40px !important;
    }

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1380px !important;
    }
}

.pointer {
    cursor: pointer;
}

.no-resize {
    resize: none;
}

@media (min-width:992px) {
    .justify-content-center-lg {
        justify-content: center;
    }
}
/* BUTTON */
.btn:not(.btn-link):not(.btn-icon) {
    --bs-btn-font-size: 18px !important;
    --bs-btn-line-height: 1 !important;
    --bs-btn-padding-y: 17.5px !important;
    --bs-btn-padding-x: 28px !important;
    font-weight: 600 !important;
    position: relative;
    max-height: 55px;
}

.btn.btn-primary {
    color: white !important;
    background-color: #D49463;
    border: unset;
    border-radius: 200px !important;
}

.btn:not(.btn-link).btn-arrow::after {
    content: '';
    width: 19px;
    height: 15px;
    display: inline-block;
    margin-left: 10px;
    background-color: white;
    -webkit-mask: url(/svg/arrow-right.svg) no-repeat;
    mask: url(/svg/arrow-right.svg) no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.btn:not(.btn-link).btn-arrow:hover::after, .btn:not(.btn-link).btn-arrow:active::after {
    width: 31px;
    /*  transition: width 0.5s linear;*/
    -webkit-mask: url(/svg/long-arrow-right.svg) no-repeat;
    mask: url(/svg/long-arrow-right.svg) no-repeat;
}

.btn.btn-primary:hover, .btn.btn-primary:active {
    background-color: #CD8650 !important;
    /*    box-shadow: 0px 7px 0px 0px #DDD5C0;*/
}

.btn.btn-secondary {
    background-color: white !important;
    color: #D49463 !important;
}

    .btn.btn-secondary.btn-arrow::after {
        background-color: #D49463 !important;
    }


.btn.btn-outline-secondary:hover, .btn.btn-outline-secondary:active {
    background-color: transparent !important;
    color: #D49463 !important;
}

.btn.btn-outline-secondary.btn-arrow::after {
    background-color: #D49463 !important;
}

.btn.btn-special-cta {
    background-color: #F16541;
    color: white;
    position: relative;
}

    .btn.btn-special-cta:hover, .btn.btn-special-cta:active {
        background-color: #EF4E24 !important;
        color: white !important;
    }

.btn.btn-icon {
    border-radius: 200px !important;
    position: relative;
    height: 60px;
    width: 60px;
    border-width: 2px;
}

@media (hover: hover) {
    .btn.btn-icon.btn-secondary:hover, .btn.btn-icon.btn-secondary:active, .accordion-button:hover > .btn.btn-icon.btn-secondary {
        color: white !important;
        background-color: #D49463 !important;
    }
}

    .btn.btn-icon i {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 22px;
    }

@media (hover: hover) {
    .btn.btn-icon:hover i, .accordion-button:hover > .btn.btn-icon i {
        font-weight: 900 !important;
        font-size: 28px;
    }
}

.btn.btn-primary.disabled {
    background-color: #F7F7F6;
    color: #A3ACAE !important;
    border-color: transparent;
}

/* LINK */

.btn-link {
    font-size: 18px !important;
    /*    line-height: 1 !important;*/
    color: #383638 !important;
    /*    text-decoration: none !important;*/
    cursor: pointer;
    position: relative;
    font-weight: 400 !important;
    padding: 0 !important;
}

    .btn-link.base-white {
        color: white !important;
    }

        .btn-link:hover, .btn-link.base-white:hover {
            color: #D49463 !important;
        }

.btn-link-thick {
    text-underline-offset: 5px;
    text-decoration-thickness: 2px;
    font-weight: 500 !important;
}

.cta-container {
    margin-top: 50px;
}

.circle-container .section {
    z-index: 1;
}
/* Section */
.section {
    margin-top: 150px;
    margin-bottom: 150px;
    /*    z-index: 1;*/
    /*    z-index:99;
*/
}

    .section .section-presentation {
        max-width: 878px;
        min-width: 878px;
    }

        .section .section-presentation .section-title {
            margin-bottom: 30px;
        }

        .section .section-presentation .section-desc {
            margin-bottom: 65px;
        }

.whitespace-pre {
    white-space: pre-line;
}

.rounded-top-corners {
    border-radius: 120px 120px 0 0;
}


@media (max-width:1399px) {
    .section .section-presentation {
        max-width: unset;
        min-width: unset;
    }
}

@media (max-width:991px) {
    .section {
        margin-top: 60px;
        margin-bottom: 60px;
    }

        .section .section-presentation .section-title {
            margin-bottom: 15px;
        }

        .section .section-presentation .section-desc {
            margin-bottom: 40px;
        }
}

.section-bottom {
    margin-bottom: 150px;
}

@media (max-width:991px) {
    .section-bottom {
        margin-bottom: 60px;
    }
}


/* Modal */
.funera-modal .modal-content {
    border-radius: 52px;
    padding: 70px !important;
}

.funera-modal .btn-close {
    position: absolute;
    top: 30px;
    right: 30px;
    z-index: 9999;
}

@media (max-width:991px) {
    .funera-modal.modal {
        padding: 0 !important;
    }

    .funera-modal .modal-content {
        padding: 35px !important;
    }
}

@media (max-width:575px) {
    .funera-modal .modal-content {
        border-radius: 34px;
        padding: 20px !important;
    }

    .rounded-top-corners {
        border-radius: 70px 70px 0 0;
    }
}

.message-modal .modal-content {
    background: #EFEBE1;
}

.message-modal .message-title {
    margin-top: 65px;
    margin-bottom: 0;
}

.message-modal .message-text {
    margin-top: 30px;
    margin-bottom: 0;
}

.message-modal .cta-container {
    margin-top: 65px;
    margin-bottom: 0;
}

    .message-modal .cta-container .row {
        --bs-gutter-y: 1.5rem;
    }

@media (max-width:374px) {
    .message-modal .cta-container .btn-primary {
        padding-left: unset;
        padding-right: unset;
    }
}


.message-modal .close-action-container {
    margin-top: 30px;
}
/*Side modal*/

.modal.side-modal .modal-dialog {
    margin-right: unset;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    height: 100%;
    animation: unset !important;
    transition: transform 1s !important;
    -webkit-transform: translate(100%,0)scale(1) !important;
    transform: translate(100%,0)scale(1) !important;
}

.modal.side-modal {
    text-align: left;
    display: block;
}

    .modal.side-modal h4 {
        margin-bottom: 20px;
    }

    .modal.side-modal:not(.show) {
        visibility: hidden;
        display: block;
    }

    .modal.side-modal.show {
        visibility: visible;
    }


        .modal.side-modal.show .modal-dialog:not(.modal-dialog-centered) {
            animation: unset !important;
        }

    .modal.side-modal .modal-content {
        height: 100%;
        border-radius: 70px 0 0 70px;
    }

    .modal.side-modal .modal-body {
        overflow-y: auto;
        padding: 0;
    }
    /*.modal.side-modal:not(.show) .modal-dialog {

}
*/
    .modal.side-modal.show .modal-dialog {
        transition: transform 1s !important;
        -webkit-transform: translate(0,0) !important;
        transform: translate(0,0) !important;
    }

    /*In mobile, bottom to top*/
@media (max-width:575px) {
    .modal.side-modal .modal-dialog {
        -webkit-transform: translate(0,100%)scale(1) !important;
        transform: translate(0,100%)scale(1) !important;
        margin-left: 0;
        margin-top: 60px !important;
        height:calc(100% - 60px);
    }

    .modal.side-modal .modal-dialog .modal-body {
        margin-top:70px;
    }

    .modal.side-modal .modal-content {
        border-radius: 34px 34px 0px 0px;
        padding: 30px 16px 20px 16px;
    }

    .modal.side-modal.show .modal-dialog {
        transition: transform 1s !important;
        -webkit-transform: translate(0,0) !important;
        transform: translate(0,0) !important;
    }
}

/*Fixed modal*/

.fixed-modal .modal-header {
    border-bottom: unset;
}

.fixed-modal .modal-footer {
    border-top: unset;
}

.fixed-modal .modal-dialog {
    min-width: 900px;
    max-width: calc(100vw - 800px);
}

.fixed-modal.modal-full .modal-dialog {
    width: 100vw;
    margin: unset;
}

.fixed-modal.modal-full .modal-content {
    width: 100vw !important;
    height: 100vh !important;
    border-radius: unset !important;
    padding: unset !important;
}

.fixed-modal.modal-full .modal-body {
    padding: unset !important;
}

.fixed-modal.modal-md .modal-dialog {
    min-width: 900px;
    max-width: calc(100vw - 800px);
}

.fixed-modal.modal-sm .modal-dialog {
    max-width: 1000px;
}

.fixed-modal.modal-xs .modal-dialog {
    width: 444px;
    min-width: unset;
    max-width: unset;
}

.fixed-modal .modal-content {
    border-radius: 52px;
    padding: 40px 50px 0px 50px !important;
    background-color: #EFEBE1;
    height: calc(100vh - 60px) !important;
}

.fixed-modal .modal-body {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}


@media(max-width:991px) {
    .fixed-modal.modal {
        padding: 0 !important;
    }

    .fixed-modal .modal-dialog {
        margin: 60px 0 0 0;
        max-width: unset !important;
        min-width: unset !important;
        width: unset !important;
    }

    .fixed-modal .modal-content {
        border-radius: 52px 52px 0 0;
        padding: 30px 10px 20px 10px !important;
    }

    .fixed-modal .modal-header {
        padding-top: 0;
        padding-bottom: 0;
    }

    .fixed-modal .modal-body {
        padding: 0;
    }

    .fixed-modal.swipe-up .modal-content {
        background: #FFF;
        border-radius: 20px 20px 0px 0px !important;
        padding: 30px 0 0 0 !important;
    }

    .fixed-modal.swipe-up.small .modal-content {
        height: calc(100vh - 300px) !important;
    }

    .fixed-modal.swipe-up.small .modal-dialog {
        margin-top: 300px;
    }


    .fixed-modal.swipe-up .modal-content .swiping-bar-container {
        padding: 0 100px 40px 100px;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .fixed-modal.swipe-up .modal-content .swiping-bar {
        position: absolute;
        top: 5px;
        left: 50%;
        width: 38px;
        height: 3px;
        background-color: #D49463;
        border-radius: 12px;
        transform: translateX(-50%);
    }
}


/* Inputs */
.form-select {
    border-radius: 300px !important;
    height: 60px;
    padding: 0px 30px !important;
    transition: unset !important;
    background-clip: unset !important;
    background-image: url(svg/chevron-down.svg) !important;
    background-position: right 1.5rem center !important;
    background-size: 25px !important;
    border-color: transparent;
    border-width: 3px;
    border-block-style: solid;
}

    .form-select:hover {
        cursor: pointer;
    }


.form-control {
    border-radius: 300px !important;
    height: 60px;
    padding: 0px 30px !important;
    transition: unset !important;
    background-clip: unset !important;
    border-color: transparent;
    border-width: 3px;
    border-block-style:solid;
}

.white-form .form-control, .white-form .form-select {
    border-color: #E6EDEE;
    border-width: 3px;
    border-block-style: solid;
}

textarea.form-control {
    border-radius: 20px !important;
    min-height: 100px !important;
    padding: 12px 30px !important;
}

.form-control:hover:not(:focus),
.input-group:hover .input-group-prepend .input-group-text,
.input-group:hover .input-group-append .input-group-text,
.form-control:hover ~ .input-group-append .input-group-text,
.input-group:hover .form-control,
.form-select:hover {
    border-color: #E4DECD;
}

.form-control:focus,
.form-control:active,
.input-group:focus-within .input-group-prepend .input-group-text,
.form-control:focus ~ .input-group-append .input-group-text,
.form-select:focus,
.form-select:active {
    border-color: #D49463 !important;
}

.input-group-prepend ~ .form-control {
    padding-left: 0px !important;
    margin-left: 0px !important;
    border-left-width: 0px !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.form-control:has(+ .input-group-append) {
    padding-right: 0px !important;
    margin-right: 0px !important;
    border-right-width: 0px !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.input-group-prepend, .input-group-append {
    height: 60px;
    z-index: 1000;
}

    .input-group-prepend i, .input-group-append i {
        font-size: 20px;
        color: #383638;
        font-weight: 300;
    }

.input-group .input-group-text {
    background-color: #fff !important;
    height: 100%;
    border-radius: 300px;
    color: #6E5E66;
    border-color: transparent;
    border-width: 3px;
    border-block-style: solid;
}

.input-group .input-group-prepend .input-group-text {
    border-right: unset !important;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    padding-left: 30px;
    padding-right: 10px;
}

.input-group .input-group-append .input-group-text {
    border-left: unset !important;
    border-radius: 300px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding-left: 10px;
    padding-right: 30px;
}

/* Form group */

.form-group, .form-check {
    font-size: 15px;
}

    .form-group:is(label) .form-control,
    .form-group:is(label) .form-select,
    .form-group label .form-control,
    .form-group label .form-select {
        margin-top: 9px;
    }

    .form-group:has(.form-control),
    .form-group:has(.form-select) {
        text-indent: 30px;
    }

.flatpickr-wrapper {
    text-indent: 0;
}

.form-group:has(.input-group-prepend) {
    text-indent: unset !important;
}

.form-check .form-check-input {
    cursor: pointer;
}

    .form-check .form-check-input:checked {
        background-color: #D49463 !important;
        border-color: #D49463 !important;
    }

    .form-check .form-check-input:focus {
        border-color: #D49463 !important;
        box-shadow: 0 0 0 .25rem rgba(212,148,99,.25) !important;
    }

.form-check .form-check-label {
    margin-left: 6px;
    cursor: pointer;
}

.was-validated .form-control:invalid, .form-control.is-invalid, .form-control.is-invalid:focus, .form-select.is-invalid:focus, .form-check-input.is-invalid, .form-control.invalid, .form-select.invalid {
    border: 2px solid #E00004 !important;
}
/* GOOGLE */

.pac-container { /* auto complete over modal */
    z-index: 1200 !important;
}

/* Accordion */
.funera-accordion .accordion-item {
    border: unset;
    border-bottom: 2px solid #E6EDEE;
    text-align: left;
}

.funera-accordion .accordion-button {
    padding-top: 0;
    padding-left: 0;
    padding-top: 20px;
    padding-bottom: 20px;
    min-height: 60px;
    font-size: 20px;
    padding-right: 100px;
    cursor:pointer;
}

    .funera-accordion .accordion-button .question-container {
        min-height: 60px;
        display: flex;
    }

        .funera-accordion .accordion-button .question-container p {
            margin-top: auto;
            margin-bottom: auto;
        }

@media (hover: hover) {
    .funera-accordion .accordion-button:hover, .funera-accordion .accordion-button:not(.collapsed):hover {
        color: #CD8650;
    }
}

    .funera-accordion .accordion-button:not(.collapsed) {
        box-shadow: unset;
        color: #383638;
        background-color: white;
        font-weight: 600;
    }

    .funera-accordion .accordion-button:focus {
        box-shadow: unset;
    }

    .funera-accordion .accordion-button::after, .funera-accordion .accordion-button:not(.collapsed)::after {
        background-image: unset !important;
    }

.funera-accordion .accordion-end {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.funera-accordion .accordion-body {
    padding-left: 0;
    font-size: 17px;
}

.rounded-circle.accordion-end:hover {
    border: none;
}

.funera-accordion .accordion-item .accordion-body {
    display: grid;
    transition: grid-template-rows 400ms;
    grid-template-rows: 0fr;
}

.funera-accordion .accordion-item .accordion-body.opened {
    grid-template-rows: 1fr;
}

.funera-accordion .accordion-item .accordion-answer {
    overflow: hidden;
    margin-bottom: 20px;
}

/*Carousel*/
/*
.carousel-container .btn-icon.prev {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    margin-left: -30px;
}

.carousel-container .btn-icon.next {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    margin-right: -30px;
}*/
.carousel-container .carousel-control-next-icon {
    background-image: unset !important;
}

.carousel-container .carousel-control-prev-icon {
    background-image: unset !important;
}

@media (max-width:575px) {
    .carousel-container .btn-icon.next, .carousel-container .btn-icon.prev {
        display: none;
    }
}
/* Stripe */
.stripe-credit-card #credit-card-number,
.stripe-credit-card .credit-card-number,
.stripe-credit-card #credit-card-expiry,
.stripe-credit-card .credit-card-expiry,
.stripe-credit-card #credit-card-cvc,
.stripe-credit-card .credit-card-cvc {
    background-color: #FFF;
    border-radius: 300px;
    height: 60px;
    line-height: 60px;
    vertical-align: middle;
    padding: 19px 30px;
    font-size: 17px;
    border: 2px solid transparent;
    box-shadow: rgba(0,0,0,.1) 0 2px 4px 0;
    color: #484848;
    font-weight: 400;
}

.stripe-credit-card #credit-card-number,
.stripe-credit-card .credit-card-number {
    padding-left: 63px;
}

    .stripe-credit-card #credit-card-number.focus,
    .stripe-credit-card .credit-card-number.focus,
    .stripe-credit-card #credit-card-expiry.focus,
    .stripe-credit-card .credit-card-expiry.focus,
    .stripe-credit-card #credit-card-cvc.focus,
    .stripe-credit-card .credit-card-cvc.focus {
        border-color: rgb(212, 148, 99) !important;
        border-width: 2px !important;
    }

.stripe-credit-card .brand {
    font-size: 24px !important;
    padding-left: 30px !important;
}

.stripe-credit-card .small-credit-part {
    width: 50%;
    display: inline-block;
    padding-right: 5px;
}

    .stripe-credit-card .small-credit-part > p {
        margin-top: 15px;
    }

    .stripe-credit-card .small-credit-part + .small-credit-part {
        padding-left: 5px;
        padding-right: 0;
    }

.stripe-credit-card #card-errors, #paypal-errors {
    display: block;
    color: #E00004;
    font-size: 16px;
    margin-bottom: 15px;
    text-align: center;
}
/* End stripe */

.g-form, .gx-form, .g-form .row > *, .gx-form .row > * {
    --bs-gutter-x: 10px !important;
}

    .g-form, .gy-form, .g-form .row > *, .gy-form .row > * {
        --bs-gutter-y: 10px !important;
    }

        .g-form > .form-group, .gx-form > .form-group, .gy-form > .form-group {
            margin-bottom: unset;
        }


.text-primary {
    color: #D49463 !important;
}

.br-52-34 {
    border-radius: 34px !important;
}

@media(min-width: 992px) {

    .br-52-34 {
        border-radius: 52px !important;
    }
}

.alert-margin {
    margin-top: 65px;
}

@media (max-width:767px) {
    .alert-margin {
        margin-top: 40px;
    }
}
