/******************
Fonts 
******************/

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProLight/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProLight/font.woff") format("woff");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProLightOblique/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProLightOblique/font.woff") format("woff");
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProBook/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProBook/font.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProBookOblique/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProBookOblique/font.woff") format("woff");
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProRoman/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProRoman/font.woff") format("woff");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProOblique/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProOblique/font.woff") format("woff");
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProMedium/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProMedium/font.woff") format("woff");
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProMediumOblique/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProMediumOblique/font.woff") format("woff");
    font-weight: 800;
    font-style: italic;
}

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProHeavy/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProHeavy/font.woff") format("woff");
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProHeavyOblique/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProHeavyOblique/font.woff") format("woff");
    font-weight: 800;
    font-style: italic;
}

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProBlack/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProBlack/font.woff") format("woff");
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: "Avenir";
    src: url("/assets/fonts/AvenirLTProBlackOblique/font.woff2") format("woff2"),
    url("/assets/fonts/AvenirLTProBlackOblique/font.woff") format("woff");
    font-weight: 900;
    font-style: italic;
}

/******************
General
******************/

:root {
    --orange: #af6247;
    --plyr-color-main: var(--orange);
    --red: #bc2b29;
    --pink: #ea348d;
    --sale: #ca5b4a;
    --sale-2: #f1ed94;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Avenir";
    margin: 0;
}

body.noScroll {
    overflow: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    outline: none;
    border: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-size: unset;
}

img,
picture {
    display: block;
    width: 100%;
    height: auto;
}

dialog {
    padding: 0;
    max-width: none;
    max-height: none;
    border: none;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    display: none;
    position: fixed;
    top: 0;
    left: 0;
}

dialog[open] {
    display: flex;
}

/******************
Containers & Buttons
******************/

.container {
    margin: auto;
    max-width: 1100px;
}

.container.w1300 {
    max-width: 1300px;
}

.container.w1200 {
    max-width: 1200px;
}

.container.w1000 {
    max-width: 1000px;
}

.container.w900 {
    max-width: 900px;
}

.container.w800 {
    max-width: 800px;
}

.button {
    color: #ffffff;
    font-size: 15px;
    text-transform: uppercase;
    padding: 15px 28px 12px;
    display: block;
    width: max-content;
    cursor: pointer;
    position: relative;
    white-space: nowrap;
    font-weight: 900;
    letter-spacing: 1px;
    appearance: none;
}

.button.small {
    font-size: 13px;
}

.button.center {
    margin: 0 auto;
}

.button.long {
    padding: 12px 60px;
}

.button.gray {
    background-color: #c7ad9f;
}

.button.orange {
    background-color: var(--orange);
}

.button.pink {
    background-color: #cf9691;
    color: white;
}

.button.light-gray {
    background-color: #e0d2c4;
    color: black
}

.button.yellow {
    color: white;
    background-color: #EE9F31;
}

.button.brown {
    background-color: #cdb6ab;
    color: black;
}

.button.dark-brown {
    background-color: #b38c72;
}

.button.maroon {
    background-color: #995244;
}

.button.white {
    background-color: white;
    color: black;
}

.button > svg {
    margin-left: 5px;
}

.loading {
    position: relative;
    pointer-events: none;
    color: transparent !important;
}

.loading .strike {
    display: none;
}

.loading svg {
    visibility: hidden;
}

.loading::selection {
    color: transparent !important;
}

.loading::after {
    content: "";
    position: absolute;
    width: 22px;
    height: 22px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: 4px solid transparent;
    border-top-color: white;
    border-radius: 50%;
    animation: loading 1s ease infinite;
}

@keyframes loading {
    from {
        transform: rotate(0turn);
    }

    to {
        transform: rotate(1turn);
    }
}

/******************
Highlight and Crossout 
******************/
.highlight {
    display: inline-block;
    position: relative;
    z-index: 2
}

.highlight::before {
    position: absolute;
    height: 20px;
    width: 100%;
    max-width: 100%;
    bottom: 0px;
    display: block;
    content: "";
    transition: max-width 0.2s ease-in-out;
    transition-delay: 5s;
    z-index: -1;
}

.highlight.pink::before {
    background-color: #d0958f;
}

.highlight.yellow::before {
    background-color: #e1ccad;
}

.highlight.light-pink::before {
    background-color: rgba(204, 158, 149, .5);
}

.highlight.gray::before {
    background-color: #d4c4bc;
}

.highlight.brown::before {
    background-color: #9b6e58;
}

.highlight.light-brown::before {
    background-color: #c9b0a2;
}

.highlight.white {
    background-color: #fff7ee;
}

.strike {
    position: relative;
}

.strike::after {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    right: 0;
    border-top: 3px solid;
    border-color: inherit;
    transform: rotate(315deg);
    opacity: 0.8;
}

/******************
Bullets
******************/

.bullet {
    display: flex;
    margin-bottom: 15px;
}

.bulletCheck {
    color: #ee9f31;
    margin-right: 10px;
}

.bulletDescription {
    font-size: 16px;
    line-height: 2;
}

/******************
Yotpo
******************/

#yotpo {
}

#yotpoInner {
    padding: 50px 20px;
}

.yotpoTitle {
    font-size: 37px;
    text-align: center;
    margin-bottom: 20px;
}

#yotpoDescription {
    text-align: center;
    font-size: 21px;
    max-width: 900px;
    margin: 0 auto 40px;
}


@media (min-width: 750px) {
    #yotpo .yotpo-custom-questions-wrapper {
        row-gap: 10px !important;
    }

    #yotpo .yotpo-custom-questions-title,
    #yotpo .yotpo-custom-questions-value {
        font-size: 11px !important;
        line-height: 1.2;
    }
}

/**********
Toogle
 */

.toggle {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}

.toggleButton {
    background-color: transparent;
    color: black;
    border: 2px solid var(--orange);
    white-space: normal;
}

.toggleButton.active {
    background-color: var(--orange);
    color: white;
}

.toggleWrapper {
    display: none;
}

.toggleWrapper.active {
    display: block;
}

@media (max-width: 750px) {
    .toggleButton {
        font-size: 14px;
        text-align: center;
        padding: 10px;
    }
}

/***********
Sample
 */

.plyr {
    border-radius: 15px;
}

.sample {
    display: none;
    background-color: rgba(0, 0, 0, 0.95);
    position: fixed;
    z-index: 9999999999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.sample.active {
    display: flex;
}

.sampleVideo {
    border-radius: 15px;
    display: block;
    width: 100%;
    height: auto;
    max-width: 1280px;
}

.sampleExit {
    position: absolute;
    top: 30px;
    right: 30px;
    background-color: white;
    border-radius: 50%;
    height: 48px;
    width: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

@media (max-width: 800px) {
    .sampleVideo {
        border-radius: 10px
    }
}

/******
Gift Certificate
 */

.swal2-styled.swal2-confirm {
    background-color: #af6248;
}

.swal2-styled.swal2-confirm:focus {
    box-shadow: 0 0 0 3px rgba(175, 98, 72, .5);
}

.swal2-loading {
    border-color: var(--orange) rgba(0, 0, 0, 0) var(--orange) rgba(0, 0, 0, 0);
}

.swal2-radio {
    flex-wrap: wrap;
    gap: 10px 0;
}

.swal2-label {
    white-space: nowrap;
}

/****************
Banner
***************/

#banner {
    max-height: 95vh;
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    background-color: #edebe7;
    cursor: pointer;
}

@media (max-width: 800px) {
    #banner {
        max-height: none;
    }
}

/*********
Add
 */

picture[add],
img[add] {
    cursor: pointer;
}

/*********
Klaviyo Form
 */

.klaviyoForm {
    display: grid;
    grid-template-columns: 2fr 1fr;
    max-width: 450px;
    width: 100%;
    position: relative;
}

.klaviyoForm.success {
    display: block;
    background-color: var(--orange);
    color: white;
    padding: 20px 10px;
    border-radius: 5px;
    font-weight: 900;
    text-align: center;
    font-size: 18px;
    max-width: 500px;
}

.klaviyoForm input[type="email"] {
    background-color: white;
    height: 60px;
    padding: 0 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    outline: none;
    appearance: none;
    color: #9f8573;
    font-weight: 800;
    text-align: center;
    font-size: 16px;
    width: 100%;
}

.klaviyoForm input[type="email"]::placeholder {
    color: inherit;
    font-weight: 800;
}

.klaviyoForm button {
    height: 60px;
}

@media (max-width: 800px) {
    .klaviyoForm {
        grid-template-columns: 1fr;
        row-gap: 10px;
        max-width: none;
    }

    .klaviyoForm.success {
        margin: auto;
    }

    .klaviyoForm button {
        width: 100%;
    }
}

/***************** Slideshow ************/

#slideshow {
    --swiper-theme-color: var(--orange);
}

#slideshow .swiper-slide {
    cursor: pointer;
}

@media (min-width: 801px) {
    #slideshowMobile {
        display: none;
    }
}

@media (max-width: 800px) {
    #slideshowDesktop {
        display: none;
    }
}


/*** Sticky ATC ***/
#stickyATC {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 20px;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 5;
    padding: 10px 20px;
    background: #e5e5e5;
    border-top: 1px solid #b1b1b1;
}

#stickyATCText {
    color: black;
}

#stickyATCButton {
    height: 50px;
    border-radius: 10px;
    background: var(--orange);
    color: white;
}

html.sale #stickyATCButton {
    background: var(--sale);
}

@media (max-width: 800px) {
    #stickyATC {
        display: none;
        background: transparent;
        bottom: 20px;
        padding: 0 20px;
        border: none;
    }

    #stickyATC.active {
        display: flex;
    }

    #stickyATCText {
        display: none;
    }

    #stickyATCButton {
        width: 100%;
        background: black;
    }
}