/*
    
    1 - FONTS
    2 - GENERAL HTML SETTINGS
    3 - COMMON STUCTURES
    4 - INDIVIDUAL PAGES

*/

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            1 - FONTS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@font-face {
    font-family: Brandon;
    src: url('../fonts/Brandon.ttf');
}

@font-face {
    font-family: Brandon-Shadow;
    src: url('../fonts/Brandon-Shadow.ttf');
}

@font-face {
    font-family: Gotham-Regular;
    src: url('../fonts/Gotham-Book.otf');
}

@font-face {
    font-family: Gotham-Medium;
    src: url('../fonts/Gotham-Medium.otf');
}

@font-face {
    font-family: Farmer;
    src: url('../fonts/Farmer.woff');
}

@font-face {
    font-family: Thirsty;
    src: url('../fonts/ThirstyRoughReg.otf');
}

@font-face {
    font-family: Rust;
    src: url('../fonts/IntroRust-Base.otf');
}




/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    2 - GENERAL HTML SETTINGS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
    overflow-y: auto;
}

html.stop_scroll {
    overflow: hidden;
}

:root {
    font-size: 15px;
    --main-color: #000;
    --main-orange: #d85c14;
    --main-blue: #272b4b;
    --main-green: #827951;
    --main-red: #8b0c24;
    --main-beige: #e5e2d9;
    --brandon: 'Brandon', sans-serif;
    --brandon-shadow: 'Brandon-Shadow', sans-serif;
    --gotham: 'Gotham-Regular', sans-serif;
    --gotham-medium: 'Gotham-Medium', var(--gotham);
    --farmer: 'Farmer', var(--brandon);
    --thirsty: 'Thirsty', var(--gotham-medium);
    --rust: 'Rust', var(--brandon);
    --max-body-width: 1300px;
    --cut-width: 45px;
    --side-padding: calc((100vw - var(--max-body-width)) / 2);
}

body {
    margin: 0;
    width: 100vw;
    font-family: var(--gotham);
    line-height: 1.3;
    background-image: url(../img/background.webp);
    background-size: 100vw auto;
    background-repeat: repeat-y;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body:before {
    content: '';
    top: 0;
    position: fixed;
    background-color: #fff;
    left: 0;
    right: 0;
    bottom: -50vh;
    opacity: 0.31;
    z-index: -1;
}

::selection {
    color: var(--main-beige);
    background-color: rgba(0, 0, 0, 0.85);
}

h1 {
    font-family: var(--farmer);
    font-size: 5.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    position: relative;
}

h2 {
    font-family: var(--brandon);
    font-size: 1.6rem;
    letter-spacing: 0;
    text-transform: uppercase;
    position: relative;
}

h3 {
    font-family: var(--brandon);
    font-size: 1.25rem;
    letter-spacing: 0;
    position: relative;
}

h4 {
    font-family: var(--gotham-medium);
    font-size: 1.2rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

h5 {
    font-family: "Manier-Bold", serif;
    font-size: 2rem;
    letter-spacing: 0.1em;
    margin-bottom: 0.65rem;
}

a {
    position: relative;
    color: var(--main-color);
}

a:hover {
    color: #000;
    text-decoration: none;
}

b, strong {
    font-family: var(--gotham-medium);
    font-weight: unset;
}

button {
    border: none;
    background-color: transparent;
    padding: 0;
}

button:focus, input:focus, textarea:focus {
    outline: none;
}

p:last-child {
    margin-bottom: 0 !important;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        3 - COMMON STUCTURES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ----- Custom classes ----- */
.in_red {
    color: var(--main-red);
}

.in_blue {
    color: var(--main-blue);
}

.in_orange {
    color: var(--main-orange);
}

.cut_corners {
    clip-path: polygon(
        var(--cut-width) 0,
        calc(100% - var(--cut-width)) 0,
        100% var(--cut-width),
        100% calc(100% - var(--cut-width)),
        calc(100% - var(--cut-width)) 100%,
        var(--cut-width) 100%,
        0 calc(100% - var(--cut-width)),
        0 var(--cut-width)
    );
    -webkit-clip-path: polygon(
        var(--cut-width) 0,
        calc(100% - var(--cut-width)) 0,
        100% var(--cut-width),
        100% calc(100% - var(--cut-width)),
        calc(100% - var(--cut-width)) 100%,
        var(--cut-width) 100%,
        0 calc(100% - var(--cut-width)),
        0 var(--cut-width)
    );
}

.has-medium-font-size {
    font-size: 1.6em !important;
}

a.underline-anim, .underline-anim a:not(.button, .wp-element-button, .wp-block-button__link) {
    --underline-height: 0.1em;
    color: var(--main-color);
    display: inline !important;
    background-image: linear-gradient(var(--main-color), var(--main-color));
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 0% var(--underline-height);
}

a.underline-anim:hover, .underline-anim a:not(.button, .wp-element-button, .wp-block-button__link):hover {
    color: var(--main-color);
    background-size: 100% var(--underline-height);
    background-position: bottom left;
}

a.underline-anim, .underline-anim a:not(.button, .wp-element-button, .wp-block-button__link), a.underline-anim:hover, .underline-anim a:not(.button, .wp-element-button, .wp-block-button__link):hover {
    transition: background-size 0.4s, color 0.4s, background-image 0.4s ease;
    -webkit-transition: background-size 0.4s, color 0.4s, background-image 0.4s ease;
    -moz-transition: background-size 0.4s, color 0.4s, background-image 0.4s ease;
    -o-transition: background-size 0.4s, color 0.4s, background-image 0.4s ease;
}

.mobile-only {
    display: none;
}

.full-width {
    width: 100%;
}

.img_wrapper {
    margin-bottom: 0;
}

.img_wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ratioed_img {
    position: relative;
}

.ratioed_img:before {
    content: '';
    display: block;
}

.ratioed_img img {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    position: absolute;
}

.clearfix {
    display: block;
    width: 100%;
    height: 1px;
}

.side_padding {
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
}

/* Regular buttons */
.button, .wp-element-button {
    font-family: var(--gotham-medium);
    font-size: 1.1rem;
    line-height: 1.3;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #000;
    border-radius: 0;
    border-bottom: 3px solid var(--main-orange);
    background-color: transparent;
    padding: 0.85em 1.25em 0.5em;
    display: block;
    width: max-content;
    position: relative;
    z-index: 1;
}

.button:before, .wp-element-button:before {
    content: '';
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    background-color: var(--main-orange);
    z-index: -1;
    transform-origin: bottom;
    transform: scaleY(0);
}

.button:hover, .wp-element-button:hover, .hoverable_zone:hover .button, .hoverable_zone:hover .wp-element-button {
    color: #fff;
}

.button:hover:before, .wp-element-button:hover:before, .hoverable_zone:hover .button:before, .hoverable_zone:hover .wp-element-button:before {
    transform: scaleY(1);
}

.button, .wp-element-button, .button:hover, .wp-element-button:hover, .bordered_bttn, .bordered_bttn:hover {
    transition: color 0.4s, background-color 0.4s ease;
}

.bordered_bttn {
    font-family: var(--brandon);
    font-size: 12px;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: var(--main-blue);
    border-radius: 0;
    border: 1px solid var(--main-blue);
    background-color: transparent;
    padding: 6px 10px;
}

@media (hover:hover) {
    .bordered_bttn:hover {
        color: var(--main-beige);
        background-color: var(--main-blue);
    }
}

/* Close button */
.close_bttn {
    --diameter: 46px;
    width: var(--diameter);
    height: var(--diameter);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    border-radius: 100%;
}

.close_bttn, .close_bttn:hover {
    transition: transform 0.4s ease;
}

@media (hover:hover) {
    .close_bttn:hover, .cat_heading.info_section .return_bttn:hover .close_bttn {
        transform: scale(0.8);
    }
}

.close_bttn span {
    width: 100%;
    display: block;
    border-bottom: 1px solid #000;
    position: absolute;
}

.close_bttn span:nth-of-type(1) {
    transform: rotate(45deg);
}

.close_bttn span:nth-of-type(2) {
    transform: rotate(-45deg);
}


/* ----- Transitions ----- */
/* transform */
*:before, *:hover:before, *:focus:before, *:after, *:hover:after, *:focus:after {
    transition: transform 0.4s ease-in-out;
    -webkit-transition: transform 0.4s ease-in-out;
    -moz-transition: transform 0.4s ease-in-out;
    -o-transition: transform 0.4s ease-in-out;
}

/* all */
.anim-all, .anim-all:hover, .anim-all:focus, input, input:hover, input:focus, textarea, textarea:hover, textarea:focus, ::placeholder {
    transition-property: color, background-color, background-size, transform, width, clip-path, opacity, top, left, right, background-size, background-image;
    transition-duration: 0.4s;
    transition-timing-function: ease;
}

/* Parallaxes */
.parallax-anim {
    transition: all 0.5s ease-out;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
}


/* ******************************************
                    NAVBAR
******************************************* */
.navbar {
   /* padding: 40px calc(var(--side-padding) + var(--cut-width));*/
    padding: 40px var(--side-padding);
    margin-bottom: 40px;
}

.custom-logo-link {
    display: block;
}

.custom-logo-link img {
    width: 100%;
    height: auto;
}

.navbar .custom-logo-link {
    width: 240px;
    mix-blend-mode: multiply;
}

.call_bttn {
    font-family: var(--brandon);
    font-size: 15.5px;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background-color: var(--main-blue);
    border: 3px solid var(--main-blue);
    border-radius: 50px;
    top: 40px;
    /*right: calc(var(--side-padding) + var(--cut-width));*/
    right: calc(var(--side-padding) + 70px);
    position: absolute;
    overflow: hidden;
}

.call_bttn, .call_bttn:hover, .call_bttn:focus {
    transition: transform 0.35s ease;
}

.call_bttn .icon {
    width: 20px;
    margin-right: 10px;
    margin-left: 11px;
    display: block;
}

.call_bttn .label {
    border-radius: 50px;
    padding: 8px 1em 8px 0.75em;
    color: var(--main-blue);
    background-color: #fff;
}

@media (hover:hover) {
    .call_bttn:hover, .call_bttn:focus {
        transform: scale(1.05);
    }

    .call_bttn:hover .label, .call_bttn:focus .label {
        background-color: var(--main-blue);
        color: #fff;
    }
}


/* ******************************************
                    MENU
******************************************* */
.menu {
    margin-top: auto;
    margin-left: auto;
}

.menu .menu-page-list {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.menu .menu-page-list li {
    list-style-type: none;
}

.menu .menu-page-list li a, .lang_changer ul a {
    color: #000;
    display: block;
    padding: 0 0.775em;
    font-family: var(--brandon);
    font-size: 17px;
    letter-spacing: 0.005em;
    text-transform: uppercase;
    position: relative;
}

.menu .menu-page-list li a:after {
    content: '';
    left: 4px;
    right: 4px;
    bottom: -10px;
    border-bottom: 6px solid var(--main-orange);
    position: absolute;
    pointer-events: none;
    transform: scaleX(0);
    transform-origin: right;
}

@media (hover:hover) {
    .menu .menu-page-list li a:hover:after {
        transform: scaleX(1);
        transform-origin: left;
    }
}

.menu .menu-page-list li.current-menu-item a:after {
    transform: scaleX(1);
}

/* Lang changer */
.lang_changer {
    --single-height: 2rem;
    max-height: var(--single-height);
    top: 45px;
    right: var(--side-padding);
    position: absolute;
    background-color: transparent;
    box-shadow: 0 0 0 2px transparent;
    transition: box-shadow .5s, background-color .5s, max-height .25s ease;
}

@media (min-width: 1200px) {
    .lang_changer {
        overflow: hidden;
    }

    .lang_changer:hover {
        max-height: 100%;
        background-color: #fff;
        box-shadow: 0 0 0 2px var(--main-blue);
        transition: box-shadow .25s, background-color .25s, max-height .6s ease;
    }
}

.lang_changer ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0;
    margin: 0;
    margin-top: auto;
    position: relative;
    transition: clip-path 0.4s, -webkit-clip-path 0.4s ease;
}

@media (max-width: 1200px) {
    .lang_changer ul {
        clip-path: polygon(0 0, 100% 0, 100% var(--single-height), 0 var(--single-height));
        -webkit-clip-path: polygon(0 0, 100% 0, 100% var(--single-height), 0 var(--single-height));
    }
}

.lang_changer:hover ul, .lang_changer:focus ul {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.lang_changer ul li {
    list-style-type: none;
    padding: 0;
}

.lang_changer ul a {
    font-weight: unset !important;
    height: var(--single-height);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.lang_changer ul li:not(.current_lang) {
    order: 1;
}

.lang_changer ul li.current_lang {
    order: 0;
}

.lang_changer ul li:not(.current_lang) a {
    color: var(--main-green);
}

.lang_changer ul li.current_lang a {
    pointer-events: none;
}

.lang_changer ul li:not(.current_lang) a:hover {
    color: #000;
}

.lang_changer ul a, .lang_changer ul a:hover {
    transition: color 0.4s ease;
}


/* ******************************************
                    FOOTER
******************************************* */
footer {
    margin-top: 7.5rem;
    padding-top: 30px;
    padding-bottom: 30px;
}

footer:before {
    content: '';
    top: 0;
    left: var(--side-padding);
    right: var(--side-padding);
    border-bottom: 2px solid #000;
    position: absolute;
}

footer h3 {
    font-family: var(--brandon);
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 0.5em;
}

footer h3:not(:first-child) {
    margin-top: 1.5em;
}

.footer_cols {
    padding: 0 var(--cut-width);
}

.footer_cols .footer_col {
    font-size: 1.1rem;
    letter-spacing: 0.01em;
    padding-top: 4.5rem;
    padding-bottom: 3rem;
}

.footer_cols .footer_col:not(#footer-col-3) {
    border-right: 2px solid #000;
}

.footer_cols .footer_col p {
    margin-bottom: 0;
}

#footer-col-1 {
    font-family: var(--gotham-medium);
}

#footer-col-1 .inner_wrapper {
    width: 100%;
    max-width: 20em;
}

#footer-col-1 .social_media {
    margin-top: 2rem;
}

#footer-col-2 .inner_wrapper, #footer-col-3 .inner_wrapper {
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
}

/* Social media */
.social_media {
    display: flex;
    flex-direction: row;
    margin: auto -3px 0;
}

.media-link {
    --diameter: 39px;
    width: var(--diameter);
    height: var(--diameter);
    font-size: 19px;
    color: #000;
    margin: 0 3px;
    padding-top: 1px;
    border-radius: 50%;
    border: 2px solid #000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.media-link:hover, .media-link:focus {
    color: var(--main-beige);
    background-color: #000;
}

a.design {
    font-size: 10px;
    letter-spacing: 0.05em;
    position: absolute;
    left: calc(var(--cut-width) + 15px);
    top: calc(100% - 1rem);
    color: #000;
}

a.design:before, a.design:after {
    content: '';
    position: absolute;
    border-bottom: 1px solid #000;
    left: 0;
}

a.design:before {
    width: 15px;
    top: -8px;
}

a.design:after {
    right: 0;
    bottom: -1px;
    transform-origin: right;
    transform: scaleX(0);
}

a.design:hover:after {
    transform-origin: left;
    transform: scaleX(1);
}


/* ******************************************
                    INPUTS
******************************************* */
input, textarea {
    color: #000;
    border: none;
    border-radius: 0;
    background-color: transparent;
}

input:hover::placeholder, textarea:hover::placeholder, input:focus::placeholder, textarea:focus::placeholder {
    color: #5e5e5e;
}

input:not([type="submit"], [type="checkbox"]), textarea {
    width: 100%;
    font-family: var(--gotham);
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    border-bottom: 1px solid #000;
    padding: 1.1rem 8px;
}

input:not([type="submit"], [type="checkbox"])[readonly="readonly"], textarea[readonly="readonly"] {
    color: #979487;
    cursor: auto;
}

textarea {
    height: 8rem;
    padding-top: 1.5rem !important;
}

.wpcf7-spinner {
    position: absolute;
}

::placeholder {
    color: #000;
}

/* Acceptance CF7 */
.wpcf7-acceptance {
    font-size: 0.9rem;
    letter-spacing: 0.3px;
    padding-left: 10px;
    margin-top: 1.25em;
    display: block;
    position: absolute;
    right: 0;
    margin-top: 1rem;
}

.wpcf7-acceptance input {
    display: none;
}

.wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}

.wpcf7-acceptance a {
    --main-color: #000;
}

.wpcf7-acceptance .wpcf7-list-item-label:before {
    content: 'X';
    width: 17px;
    height: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding-top: 1px;
    color: transparent;
    margin-right: 9px;
    border: 1px solid #000;
    cursor: pointer;
}

.wpcf7-acceptance input:checked + .wpcf7-list-item-label:before {
    color: #000;
}

/* Contact Form 7 - CF7 */
form.wpcf7-form br {
    display: none;
}

form.wpcf7-form .wpcf7-form-control-wrap {
    display: block;
}

.wpcf7-not-valid-tip {
    font-size: 12px;
    letter-spacing: 0;
    padding: 0 8px;
    margin-top: 6px;
}

.wpcf7 form .wpcf7-response-output {
    border: none;
    text-align: left;
    padding: 0;
    font-family: var(--gotham-bold);
    font-size: 0.9rem;
    line-height: 1.2rem;
    margin: 2rem 0 0 0;
}

.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
    color: #d81717;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    color: #e6a803;
}

.wpcf7 form.sent .wpcf7-response-output {
    color: #46b450;
}


/* ******************************************
                    POPUPS
******************************************* */
@keyframes openPopup {
    from {
        clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 0, 0 0);
        -webkit-clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 0, 0 0);
    }

    to {
        clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 100%, 0 100%);
        -webkit-clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 100%, 0 100%);
    }
}

@keyframes closePopup {
    from {
        clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 100%, 0 100%);
        -webkit-clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 100%, 0 100%);
    }

    to {
        clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 0, 0 0);
        -webkit-clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 0, 0 0);
    }
}

@keyframes animFade {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes animFadeOut {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

/* Popup background overlay */
[data-popup-bg], .bg_overlay {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    position: fixed;
    touch-action: none;
    z-index: 998;
}

[data-popup-bg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    pointer-events: none;
    overflow-y: auto;
    padding: 50px 0;
    opacity: 0;
}

[data-popup-bg].popup_active {
    pointer-events: all;
    touch-action: pan-y;
}

[data-popup-bg].popup_active:not(.closing), .bg_overlay.popup_active {
    opacity: 1;
    -webkit-animation: animFade .4s cubic-bezier(.33,1,.68,1);
    animation: animFade .4s cubic-bezier(.33,1,.68,1);
}

[data-popup-bg].closing, .bg_overlay.closing {
    opacity: 0;
    -webkit-animation: animFadeOut .4s cubic-bezier(.33,1,.68,1);
    animation: animFadeOut .4s cubic-bezier(.33,1,.68,1);
}

.bg_overlay {
    display: none;
}

.bg_overlay.popup_active {
    display: block;
}

/* Popup modal */
.popup_modal {
    width: 100%;
    height: auto;
    max-width: 850px;
    margin: auto;
    background-color: #fff;
    position: relative;
    clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 0, 0 0);
    -webkit-clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 0, 0 0);
}

.popup_modal::-webkit-scrollbar {
    width: 8px;
}

.popup_modal::-webkit-scrollbar-track {
    background: transparent;
    margin: 0;
}

.popup_modal::-webkit-scrollbar-thumb {
    background: rgba(44, 44, 42, 0.3);
}

.popup_modal::-webkit-scrollbar-thumb:hover {
    background: rgba(44, 44, 42, 0.5);
}

.popup_modal::-webkit-scrollbar-thumb:active {
    background: rgba(44, 44, 42, 0.7);
}

[data-popup-bg].popup_active:not(.closing) .popup_modal {
    clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 100%, 0 100%);
    -webkit-clip-path: polygon(0 0, calc(100% + 50px) 0, calc(100% + 50px) 100%, 0 100%);
    -webkit-animation: openPopup .4s cubic-bezier(.33,1,.68,1) forwards;
    animation: openPopup .4s cubic-bezier(.33,1,.68,1) forwards;
}

[data-popup-bg].closing .popup_modal {
    -webkit-animation: closePopup .4s cubic-bezier(.33,1,.68,1) forwards;
    animation: closePopup .4s cubic-bezier(.33,1,.68,1) forwards;
}


/* ====== Ajax popup  ============== */
/* Posts container */
[data-ajax-container] .lds-ring {
    top: 0;
}

[data-ajax-container].loading [data-ajax-content] {
    opacity: 0;
    pointer-events: none;
}

/* Popup */
[data-popup-bg] .lds-ring div {
    border: 4px solid #fff;
    border-color: #fff transparent transparent transparent;
}

[data-ajax-modal] {
    display: none;
    margin: 0 auto;
    max-width: 850px;
    background-color: #fff;
    position: relative;
    z-index: 2;
}

[data-ajax-modal] button[data-close] {
    --diameter: 25px;
    width: var(--diameter);
    height: var(--diameter);
    display: block;
    position: absolute;
    top: calc(3.5rem - var(--diameter) / 2);
    right: 50px;
    z-index: 2;
}

[data-ajax-modal] button[data-close]:hover {
    transform: scale(1.2);
}

[data-ajax-modal] .popup_content {
    padding-top: 3.5rem;
    padding-bottom: 4rem;
    position: relative;
}

[data-ajax-modal] .modal_header, [data-ajax-modal] .wp_content {
    --side-padding: 50px;
    padding-left: var(--side-padding);
    padding-right: var(--side-padding);
}

[data-ajax-modal] .modal_header {
    padding-bottom: 2rem;
}

[data-ajax-modal] figure.img_wrapper {
    height: 450px;
}

[data-ajax-modal] figure.img_wrapper img {
    object-fit: cover;
}

[data-ajax-modal] .wp_content {
    padding-top: 3rem;
}

/* ====== Loading spinner  ============== */
.lds-ring {
    display: inline-block;
    position: absolute;
    width: 50px;
    height: 50px;
    top: calc(50% - 26px);
    left: calc(50% - 26px);
    opacity: 0;
    pointer-events: none;
}

.lds-ring div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 45px;
    height: 45px;
    margin: 5px;
    border: 4px solid #000;
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #000 transparent transparent transparent;
}

.lds-ring div:nth-child(1) {
    animation-delay: -0.45s;
}

.lds-ring div:nth-child(2) {
    animation-delay: -0.3s;
}

.lds-ring div:nth-child(3) {
    animation-delay: -0.15s;
}

@keyframes lds-ring {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
}

.loading > .lds-ring {
    opacity: 1;
}


/* ******************************************
                SLIDERS
******************************************* */
.slider {
    overflow: hidden;
    touch-action: pan-y;
}

.swiper-wrapper {
    display: flex;
    flex-direction: row;
}

.swiper-slide {
    flex-shrink: 0;
}


/* ******************************************
                COOKIES
******************************************* */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
    max-width: 400px;
    min-width: unset;
    right: 10px;
    bottom: 10px;
    background-color: #fff;
    padding: 1.75rem 1.5rem 1rem;
    box-shadow: 0 0 11px rgb(0 0 0 / 7%);
    z-index: 99999999999;
    transition: margin 0.6s ease, opacity 0.6s ease;
    will-change: margin;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-dismissed {
    margin-bottom: -50px;
    opacity: 0;
    display: grid;
    pointer-events: none;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
    width: 100%;
    font-family: var(--brandon);
    font-size: 1rem;
    text-transform: uppercase;
    display: block;
    grid-column-start: 1;
    grid-column-end: 3;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
    font-size: 10px;
    font-family: var(--gotham-medium);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.5;
    height: unset !important;
    transition: background-color 0.4s ease;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:not(.cmplz-accept) {
    background-color: #f2f2f2;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:not(.cmplz-accept):hover {
    background-color: #e5e5e5;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close {
    margin-top: -13px;
    transition: 0.4s ease transform;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:hover {
    font-size: inherit;
    transform: rotate(90deg);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close svg path {
    stroke: #fff;
    stroke-width: 60px;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title {
    font-family: var(--gotham-bold);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links.cmplz-information {
    display: none !important;
}

@media (max-width: 576px) {
    /* Cookies */
    #cmplz-cookiebanner-container .cmplz-cookiebanner {
        left: 10px;
        right: 10px;
        margin: 0 auto;
        width: calc(100% - 20px);
    }
}

/* Page button */
#cmplz-manage-consent .cmplz-manage-consent {
    display: none !important;
}


/* Cookies Policy Page */
main #cmplz-document {
    max-width: 100%;
}

#cmplz-document a {
    text-decoration: underline;
}

#cmplz-document h2, .editor-styles-wrapper .cmplz-unlinked-mode h2, #cmplz-document h3, .editor-styles-wrapper .cmplz-unlinked-mode h3 {
    font-size: 1.3rem;
    letter-spacing: 0;
    padding: 0;
    text-transform: uppercase;
    margin-bottom: 0.4rem;
    margin-top: 2rem;
}

#cmplz-document p, .editor-styles-wrapper .cmplz-unlinked-mode p, #cmplz-document li, .editor-styles-wrapper .cmplz-unlinked-mode li, #cmplz-document td, .editor-styles-wrapper .cmplz-unlinked-mode td {
    font-size: 1rem;
}

#cmplz-document .cmplz-subtitle, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-subtitle {
    font-weight: 100;
    font-family: var(--gotham-medium);
    font-size: 1.1rem;
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
}

#cmplz-cookies-overview .cmplz-dropdown summary h3, #cmplz-document .cmplz-dropdown summary h3, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary h3 {
    font-family: var(--gotham-medium);
    font-size: 1rem;
}

#cmplz-cookies-overview .cmplz-dropdown h4, #cmplz-document .cmplz-dropdown h4, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown h4 {
    font-family: var(--gotham-bold);
    letter-spacing: 0;
}

#cmplz-cookies-overview .cmplz-dropdown p, #cmplz-document .cmplz-dropdown p, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown p, #cmplz-cookies-overview .cmplz-dropdown h4, #cmplz-document .cmplz-dropdown h4, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown h4, #cmplz-cookies-overview .cmplz-dropdown ul, #cmplz-document .cmplz-dropdown ul, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown ul {
    padding: 0;
}

#cmplz-document h5, .editor-styles-wrapper .cmplz-unlinked-mode h5 {
    font-family: var(--gotham-medium);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 12px;
}



/* ******************************************
                FRAMED CONTAINER
******************************************* */
.framed_img_text {
    padding-left: var(--cut-width);
    padding-right: var(--cut-width);
}

.framed_img_text .img_col .img_border, .framed_img_text .img_col .inner_border {
    border: 3px solid var(--main-green);
}

.framed_img_text .img_col .img_border {
    padding: 5px;
}

.framed_img_text .img_col .inner_border {
    padding: 9%;
}

.framed_img_text .img_col figure {
    overflow: hidden;
}

.framed_img_text .img_col figure:before {
    padding-bottom: 117%;
}

.framed_img_text  .text_col {
    padding-top: 7rem;
}

.framed_img_text .text_col .text_container {
    width: 100%;
    max-width: 500px;
    font-size: 1.1rem;
    letter-spacing: 0.01em;
    margin-left: auto;
}

.framed_img_text .text_col .text_container .has-medium-font-size {
    margin-bottom: 1.25em;
}

.framed_img_text h2, .framed_img_text h3 {
    color: var(--main-blue);
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    4 - INDIVIDUAL PAGES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* ******************************************
                    HOMEPAGE
******************************************* */
/* Slides */
.home_slides {
    margin-bottom: 11rem;
}

.home_slides .slider_container {
    display: grid;
}

.home_slides .slider, .home_slides .slider_bg {
    grid-row-start: 1;
    grid-row-end: 2;
    grid-column-start: 1;
    grid-column-end: 2;
}

.home_slides .slider_bg {
    mix-blend-mode: multiply;
    position: relative;
}

.home_slides .slider_bg:before {
    content: '';
    background-color: var(--main-beige);
    opacity: 0.47;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
}

.home_slides .slider {
    position: relative;
    z-index: 2;
}

.home_slides .swiper-slide {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: calc(var(--cut-width) + 3.5rem) 8%;
}

.home_slides .swiper-slide.swiper-slide-active {
    z-index: 2;
}

.home_slides .slide_title {
    font-family: var(--farmer);
    font-size: min(23vw, 23.5rem);
    font-weight: 100;
    line-height: 0.825;
    text-transform: none;
    letter-spacing: 0;
    color: #74693d;
    margin-top: 9px;
}

.slide_title:not(.switch_sizes) .line_1, .slide_title.switch_sizes .line_2 {
    font-size: 1em;
    line-height: 0.765;
    margin-left: -0.025em;
}

.slide_title:not(.switch_sizes) .line_2, .slide_title.switch_sizes .line_1 {
    font-family: var(--brandon);
    font-size: min(max(0.1em, 1.5rem), 2.5rem);
    position: relative;
}

.slide_title:not(.switch_sizes) .line_2:after, .slide_title.switch_sizes .line_1:after {
    content: '';
    width: 110px;
    height: 0.7em;
    background-image: url(../img/slide_title_line.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    display: inline-block;
    position: relative;
    margin-left: 20px;
}

.slide_caption {
    font-size: 1.3rem;
    line-height: 1.25;
    width: 100%;
    max-width: 19em;
}

.slide_caption:not(:first-child) {
    margin-top: 1.5em;
}

.home_slides .swiper-slide .button {
    margin-top: auto;
    margin-left: auto;
    z-index: 5;
}

.home_slides .slide_img {
    width: 53.75%;
    top: 0;
    right: calc(var(--cut-width) + 3%);
    position: absolute;
    z-index: -1;
}

.home_slides .slide_img.in_front {
    z-index: 1;
}

.home_slides .slide_img:before {
    padding-bottom: 90%;
}

.home_slides .slide_stamp:before {
    padding-bottom: 100%;
}

.home_slides .slide_stamp {
    width: 22.5%;
    top: calc(var(--cut-width) + 3.5rem);
    right: 6.25%;
    position: absolute;
    z-index: 2;
}

.home_slides .slide_stamp img {
    object-fit: contain;
    object-position: top center;
}

.home_slides .slider_controls {
    --extra: 80px;
    --height: 75px;
    width: calc(100% + var(--extra) * 2);
    height: var(--height);
    left: calc(var(--extra) * -1);
    top: calc(50% - var(--height) / 2);
    position: absolute;
    z-index: 2;
}

.slider_controls {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
} 

.slider_controls button {
    --diameter: 55px;
    width: var(--diameter);
    height: var(--diameter);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: all;
}

.slider_controls button:not(.swiper-button-disabled) {
    cursor: pointer;
}

.slider_controls button svg {
    width: 100%;
    height: 100%;
}

.slider_controls button.swiper-button-lock svg {
    opacity: 0;
}

.slider_controls button.swiper-button-disabled:not(.swiper-button-lock) svg {
    opacity: 0.25;
}

.slider_controls button:not(.swiper-button-lock) svg {
    opacity: 0.62;
}

@media (hover:hover) {
    .slider_controls button:not(.swiper-button-disabled):hover svg {
        opacity: 1;
    }
}

/* About */
.home_about {
    margin-bottom: 14rem;
}

.home_about h2 {
    font-family: var(--brandon-shadow);
    font-size: 5rem;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0;
}

.home_about h3 {
    font-family: var(--brandon-shadow);
    font-size: 2.15rem;
    letter-spacing: 0;
    margin-bottom: 1.15em;
}

.home_about .wp-block-buttons {
    margin-top: 3.25em;
}

/* Meat */
.home_meat {
    display: grid;
    margin-bottom: 14.25rem;
}

.home_meat, .product_header.meats, .product_header.halal {
    --bg-cut-width: 1290px;
}

.home_meat .content_wrapper {
    padding-top: 9rem;
    padding-bottom: 3.75rem;
    padding-left: var(--cut-width);
    padding-right: var(--cut-width);
    z-index: 2;
}

.home_meat .content_background {
    mask-image: url(../img/meat_stamp_cut_top.svg);
    mask-size: var(--bg-cut-width) auto;
    mask-repeat: no-repeat;
    mask-position: center top;
    -webkit-mask-image: url(../img/meat_stamp_cut_top.svg?v=1);
    -webkit-mask-size: var(--bg-cut-width) auto;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    mix-blend-mode: multiply;
    position: relative;
}

.home_meat .content_background:before {
    content: '';
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    background-color: var(--main-beige);
    opacity: 0.47;
}

.home_meat .content_wrapper, .home_meat .content_background {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2;
}

.home_meat .stamp {
    --width: calc(var(--bg-cut-width) * 0.15);
    width: var(--width);
    top: -57px;
    left: calc(49.8% - var(--width) / 2);
    position: absolute;
}

.home_meat .illustration {
    max-width: 880px;
    margin-bottom: 35px;
}

.home_meat .content_container {
    font-size: 1.1rem;
}

.home_meat .content_container .text_wrapper {
    max-width: 29em;
}

.home_meat .company_name {
    font-family: var(--brandon-shadow);
    font-size: 1.65rem;
    text-transform: uppercase;
    letter-spacing: 0;
}

.home_meat h2 {
    font-family: var(--farmer);
    font-size: 7.1rem;
    letter-spacing: 0;
    line-height: 0.92;
    text-transform: none;
    margin-bottom: 4px;
}

.home_meat .button {
    margin-top: 1.25em;
    padding-top: 11px;
    padding-bottom: 6px;
}

/* Seafood */
.home_seafood {
    margin-bottom: 11.25rem;
}

.home_seafood .package_img {
    width: 72.5%;
    margin: 0 auto;
    position: relative;
    left: 4.5%;
}

.home_seafood .info_col {
    font-size: 1.75rem;
    line-height: 1.15;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-bottom: 4rem;
}

.home_seafood .info_col .inner_wrapper {
    width: 100%;
    max-width: 19em;
    margin: 0 auto;
}

.home_seafood .info_col .button {
    margin-top: 1.5em;
}

.home_seafood .seafood_logo svg {
    width: 78%;
}

.home_seafood .seafood_logo .prelogo {
    font-family: var(--brandon-shadow);
    fill: var(--main-orange);
    font-size: 29px;
}

.home_seafood .seafood_logo figure {
    width: 90%;
    margin-bottom: 3rem;
}

/* Recipes */
.home_recipes .recipes_heading {
    display: grid;
    margin-bottom: 35px;
}

.home_recipes .recipes_heading > * {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2;
}

.home_recipes .recipes_heading .heading_background {
    background-color: var(--main-beige);
    mix-blend-mode: multiply;
    position: relative;
    z-index: -1;
}

.home_recipes .text_col .inner_wrapper {
    font-size: 1.1rem;
    padding: 3rem 35px 3rem 16%;
    margin: auto;
}

.home_recipes .text_col h2 {
    font-family: var(--farmer);
    font-size: 11.5rem;
    text-transform: none;
    letter-spacing: 0;
    line-height: 0.8;
    margin-left: -0.03em;
    margin-bottom: 0.1em;
}

.home_recipes .img_col {
    padding-left: 0;
}

.home_recipes .img_col figure:before {
    padding-bottom: 79%;
}

.home_recipes .see_more_bttn {
    margin-top: 2rem;
}

.home_recipes .recipe_post {
    margin-bottom: 0;
}

.recipe_post {
    margin-bottom: 7rem;
}

.recipe_post a {
    color: #000;
}

.recipe_post figure:before {
    padding-bottom: 66%;
}

.recipe_post figure img {
    transition: transform 0.6s ease;
}

@media (hover:hover) {
    .recipe_post .content_wrapper:hover figure img {
        transform: scale(1.1);
    }
}

.recipe_post .content {
    padding: 1.9rem 7% 0;
}

.recipe_post .recipe_title {
    font-family: var(--gotham);
    font-size: 1.45rem;
    letter-spacing: -0.01em;
    text-transform: unset;
    margin: 0;
}



/* ******************************************
                ABOUT US
******************************************* */
/* Header */
.about_header {
    padding-top: 10.5rem;
    position: relative;
    left: -30px;
}

.about_header .text_wrapper {
    width: max-content;
    margin: 0 auto;
    left: -2%;
}

.about_header h1 {
    font-family: var(--farmer);
    font-size: 17rem;
    letter-spacing: 0;
    line-height: 0.7;
    text-transform: none;
    color: var(--main-green);
    width: max-content;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.about_header h1.split_chars .word {
    overflow: unset;
    clip-path: polygon(0 -1em, 100% -1em, 100% 100%, 0 100%);
    -webkit-clip-path: polygon(0 -1em, 100% -1em, 100% 100%, 0 100%);
}

.about_header .word:first-child .char:nth-child(3):before {
    content: '';
    width: 100%;
    height: 82px;
    bottom: 100%;
    left: 5px;
    right: 0;
    background-image: url(../img/chicken.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    position: absolute;
    z-index: -1;
}

.about_header .company_name {
    font-family: var(--brandon-shadow);
    font-size: 2.45rem;
    text-transform: uppercase;
    margin: 0 auto;
    display: block;
    margin-top: 0.5em;
}

.about_header .animal {
    display: block;
    position: absolute;
}

.about_header .top_animal {
   width: 65px;
   left: 30%;
   bottom: 100%;
}

.about_header .left_animal {
    width: 250px;
    right: calc(100% + 20px);
    bottom: -10px;
}

.about_header .right_animal {
    width: 350px;
    left: calc(100% + 10px);
    bottom: -10px;
}

.about_header .bottom_animals {
    width: 38%;
    margin-top: 45px;
    margin-left: auto;
    margin-right: 6%;
    margin-bottom: -50px;
}

/* Premium meats */
.about_meats {
    margin-top: 7rem;
    margin-bottom: 7rem;
    padding-top: 1.5rem;
}

.about_meats h2 {
    font-family: var(--thirsty);
    font-size: 4.25rem;
    text-align: center;
    text-transform: none;
    transform-origin: center;
    transform: rotate(-14deg);
    letter-spacing: -0.01em;
    --width: 420px;
    width: var(--width);
    margin: 0;
    position: absolute;
    top: 0;
    left: calc(50% - var(--width) / 2);
}

.about_meats h2 .line {
    display: block;
}

.about_meats h2:not(.switch_order) .line_1 {
    padding-right: 1.75em;
}

.about_meats h2:not(.switch_order) .line_2 {
    margin-top: -0.15em;
    padding-left: 0.4em;
}

.about_meats h2:not(.switch_order) .line_2, .about_meats h2.switch_order .line_1 {
    font-size: 1.65em;
}

.about_meats h2.switch_order .line_1 {
    margin-bottom: -0.15em;
}

.about_meats figure {
    mix-blend-mode: multiply;
    position: relative;
    left: -20px;
}

.about_meats .info_col {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.about_meats .info_col .text_wrapper {
    font-size: 1.5rem;
    max-width: 16em;
    margin-top: 2em;
    margin-left: auto;
    margin-right: calc(15px + 5%);
    margin-bottom: 0;
}

/* Origins */
.about_animals {
    margin-bottom: 8.5rem;
    background-color: #d0892d;
    color: #fff;
}

.about_animals figure {
    margin-bottom: 6.5rem;
}

.about_animals figure:before {
    padding-bottom: 41%;
}

.about_animals .content {
    font-size: 1.1rem;
    padding: 0 8.5%;
    padding-bottom: 8rem;
}

.about_animals .heading_col .inner_wrapper {
    width: 100%;
    max-width: 16.5em;
}

/* Seafood */
.about_seafood .fish_decor {
    width: 105px;
    margin-bottom: 2rem;
}

.about_seafood .seafood_title {
    font-family: var(--farmer);
    font-size: 14rem;
    line-height: 0.8;
    text-align: center;
    text-transform: none;
    letter-spacing: 0;
}

.about_seafood .quality_stamp {
    font-family: var(--rust);
    font-size: 1.45rem;
    text-transform: uppercase;
    margin-top: 1.1rem;
}

.about_seafood .quality_stamp.switch_order {
    flex-direction: column-reverse !important;
}

.about_seafood .quality_stamp.switch_order svg {
    margin-top: 6px;
}

.about_seafood .quality_stamp svg {
    width: 210px;
    margin-bottom: -3px;
}

.about_seafood .framed_img_text {
    margin-top: 8.75rem;
}

.about_seafood .framed_img_text .logo {
    width: 100%;
    max-width: 325px;
    margin-left: -15px;
    margin-bottom: 3rem;
}

/* Our partners */
.about_partners {
    margin: 9rem auto 0;
}

.about_partners .inner_wrapper {
    width: 100%;
    max-width: 750px;
}

.about_partners .partners_title {
    font-family: var(--farmer);
    font-size: 9rem;
    line-height: 1;
    text-align: center;
    text-transform: none;
    letter-spacing: 0;
    color: var(--main-green);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.about_partners .partners_title .line_1 {
    font-family: var(--brandon);
    font-size: 1.75rem;
    text-transform: uppercase;
}

.about_partners .accordion .partner_logo {
    width: auto;
    max-height: 120px;
    margin-bottom: 1.25rem;
}

.about_partners .accordion .partner_logo img {
    width: auto;
    height: auto;
    max-width: 240px;
    max-height: 120px;
    object-position: top left;
}

.about_partners .accordion .accordion_body img:not(.partner_img) {
    width: 100%;
}

/* Accordions */
.accordions .accordion:first-child {
    border-top: 3px solid var(--main-green);
}

.accordions .accordion {
    width: 100%;
    border-bottom: 3px solid var(--main-green);
}

.accordion .accordion_header, .accordion .accordion_body {
    padding-left: 20px;
}

.accordion .accordion_header {
    --arrow-width: 30px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-right: 20px;
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.accordion .accordion_header .title {
    width: calc(100% - var(--arrow-width));
    font-family: var(--gotham);
    font-size: 1.75rem;
    letter-spacing: 0.03em;
    text-transform: none;
    margin: 0;
}

.accordion .accordion_header .toggle {
    width: var(--arrow-width);
    height: var(--arrow-width);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.accordion .accordion_header .toggle span {
    width: 100%;
    position: absolute;
    border-bottom: 2px solid #000;
    transition: transform 0.4s ease;
}

.accordion .accordion_header:not(.open) .toggle span:nth-child(2) {
    transform: rotate(-90deg);
}

.accordion .accordion_body {
    font-size: 1.1rem;
    line-height: 1.4;
    padding-right: 55px;
    padding-bottom: 2rem;
    display: none;
}


/* ******************************************
               PREMIUM MEATS PAGE
******************************************* */
/* Header */
.product_header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 7.75rem;
}

.product_header figure:before {
    padding-bottom: 41%;
}

.product_header .content {
    width: 100%;
    padding: 3rem 9%;
    color: #fff;
    position: absolute;
    z-index: 2;
}

.product_header .page_title, .single_recipe_header .title {
    font-family: var(--farmer);
    font-size: 10.75rem;
    letter-spacing: 0;
    text-transform: none;
    line-height: 0.82;
    margin: 0;
}

.product_header .page_title span {
    display: block;
}

.product_header .page_title:not(.switched_sizes) .line_2, .product_header .page_title.switched_sizes .line_1 {
    /*font-size: 0.68em;*/
    font-family: var(--brandon);
    font-size: 0.325em;
}

.product_header .page_title.switched_sizes .line_1 {
    margin-bottom: 10px;
}

.product_header .page_title:not(.switched_sizes) .line_2 .word, .product_header .page_title.switched_sizes .line_1 .word {
    overflow: unset;
    clip-path: polygon(0 -100%, 100% -100%, 100% 130%, 0 130%);
    -webkit-clip-path: polygon(0 -100%, 100% -100%, 100% 130%, 0 130%);
}

.product_header .header_stamp {
    position: absolute;
}

.product_header.meats figure.banner, .product_header.halal figure.banner {
    mask-image: url(../img/meats_banner_cut.svg);
    mask-size: var(--bg-cut-width) auto;
    mask-repeat: no-repeat;
    mask-position: center bottom;
    -webkit-mask-image: url(../img/meats_banner_cut.svg);
    -webkit-mask-size: var(--bg-cut-width) auto;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center bottom;
}

.product_header.meats .header_stamp, .product_header.halal .header_stamp {
    --width: calc(var(--bg-cut-width) * 0.15);
    width: var(--width);
    top: calc(100% - 70px);
    left: calc(49.5% - var(--width) / 2);
}

/* Products intro */
.products_intro  {
    font-size: 1.15rem;
    max-width: 36em;
}

/* Filter */
.icon_prod_filter {
    margin-top: 4.25rem;
    margin-bottom: 6rem;
}

.icon_prod_filter .filter_title {
    font-family: var(--brandon);
    font-size: 1.15rem;
    letter-spacing: 0;
    line-height: 1.1;
    color: var(--main-green);
    text-align: center;
    max-width: 15em;
    margin: 0 auto;
    margin-bottom: 2em;
}

.icon_prod_filter ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.icon_prod_filter ul li {
    margin: 0 40px;
    list-style-type: none;
    border-radius: 100%;
    box-shadow: 0 0 0 0 var(--main-green);
    position: relative;
}

.icon_prod_filter ul li a.active {
    box-shadow: 0 0 0 5px var(--main-green);
}

@media (hover:hover) {
    .icon_prod_filter ul li a:hover {
        box-shadow: 0 0 0 5px var(--main-green);
    }
}

.icon_prod_filter ul li a {
    --diameter: 135px;
    width: var(--diameter);
    height: var(--diameter);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #e3e1db;
    mix-blend-mode: multiply;
    border: 4px solid #fff;
    border-radius: 100%;
    color: var(--main-blue);
    overflow: hidden;
    top: 0;
    opacity: 1;
}

.icon_prod_filter ul li a, .icon_prod_filter ul li a:hover {
    transition: box-shadow 0.4s, top 0.6s, opacity 0.6s ease;
}

.icon_prod_filter ul li a.active {
    pointer-events: none;
}

.icon_prod_filter ul li .icon {
    width: 87px;
    margin-top: 5px;
    margin-bottom: 7px;
    position: relative;
}

.icon_prod_filter ul li .icon:after {
    content: '';
    left: 5px;
    right: 5px;
    bottom: -1px;
    position: absolute;
    border-bottom: 2px solid var(--main-blue);
    border-radius: 10px;
}

.icon_prod_filter ul li .label {
    font-family: var(--brandon);
    font-size: 1.15rem;
    text-transform: uppercase;
    text-align: center;
}

.icon_prod_filter ul.smaller_font li .label {
    font-size: 13px;
}

/* Product categories */
.prod_cat_title {
    font-family: var(--brandon);
    font-size: 3rem;
    text-align: center;
    line-height: 1.15;
    letter-spacing: 0;
    color: var(--main-green);
    max-width: 10em;
    margin: 5rem auto 2rem;
}

/* Product container */
.product_list {
    padding: 0 var(--cut-width);
}

.product_wrapper {
    margin-bottom: 6rem;
}

.product_wrapper a {
    color: #000;
}

.product_wrapper figure {
    margin: 0 auto;
    overflow: hidden;
}

.product_wrapper figure:before {
    padding-bottom: 100%;
}

.product_wrapper figure img {
    transform-origin: bottom;
    transition: transform 0.45s ease;
}

@media (hover:hover) {
    .product_wrapper > a:hover figure img {
        transform: scale(1.05);
    }
}

.product_wrapper .product_content {
    margin-top: 1rem;
}

.product_wrapper .product_title {
    font-family: var(--brandon);
    font-size: 1.55rem;
    text-align: center;
    letter-spacing: 0;
    max-width: 13em;
    margin: 0 auto;
}

.product_wrapper.meats figure:before {
    padding-bottom: 85%;
}

.end_banner_cat {
    margin-top: 5.5rem;    
}

.end_banner_cat figure:before {
    padding-bottom: 40.5%;
}

.end_banner_cat .banner_content {
    color: #fff;
    position: absolute;
    z-index: 2;
}

.end_banner_cat .banner_content h2 {
    font-family: var(--farmer);
    font-size: 17rem;
    font-weight: 100;
    text-transform: none;
    letter-spacing: 0;
    line-height: 0.8;
    margin-bottom: 0;
}

.end_banner_cat .banner_content h2 .line_1 {
    font-family: var(--brandon);
    width: 1.5em;
    margin: 0 auto 5px;
}

.end_banner_cat .banner_content h2 textPath {
    font-size: 17px;
    fill: #fff;
}

.end_banner_cat .banner_content .button {
    color: #fff;
    border-color: #fff;
}

.end_banner_cat .banner_content .button:before {
    background-color: #fff;
}

.end_banner_cat .banner_content .button:hover {
    color: #000;
}


/* ******************************************
                SEAFOOD PAGE
******************************************* */
.product_header.seafood {
    --bg-cut-width: 1300px;
}

.product_header.seafood figure.banner {
    mask-image: url(../img/seafood_banner_cut.svg);
    mask-size: var(--bg-cut-width) auto;
    mask-repeat: no-repeat;
    mask-position: center bottom;
    -webkit-mask-image: url(../img/seafood_banner_cut.svg);
    -webkit-mask-size: var(--bg-cut-width) auto;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center bottom;
}

.product_header.seafood .header_stamp {
    --width: calc(var(--bg-cut-width) * 0.21);
    width: var(--width);
    top: calc(100% - var(--width) * 0.275);
    left: calc(50.1% - var(--width) / 2);
}

.products_intro.seafood {
    margin-bottom: 6rem;
}

/* Products */
.product_wrapper.seafood figure {
    width: 94%;
}


/* ******************************************
                SINGLE PRODUCT
******************************************* */
.product_page .colored_title {
    color: var(--main-blue);
    fill: var(--main-blue);
}

.product_page.meats .colored_title, .product_page.halal .colored_title {
    color: var(--main-red);
    fill: var(--main-red);
}

.product_page.seafood .colored_title {
    color: var(--main-blue);
    fill: var(--main-blue);
}

.product_page.appliances .colored_title {
    color: var(--main-orange);
    fill: var(--main-orange);
}

/* Product image */
.prod_img {
    width: calc(104.5% + 30px);
    display: grid;
}

.prod_img > * {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2;
}

.prod_img .img_wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.prod_img .img_wrapper img {
    width: 64%;
}

.prod_img .prod_img_bg {
    background-color: var(--main-beige);
    position: relative;
    mix-blend-mode: multiply;
    opacity: 0.49;
}

.prod_img .prod_img_bg:before {
    content: '';
    display: block;
    padding-bottom: 76%;
}

/* Product info - Heading */
.product_info_col .info_section {
    width: 100%;
    max-width: 550px;
    margin-left: auto;
    padding-left: 30px;
    padding-right: 15px;
    position: relative;
}
/*
.product_info_col .info_section:first-child {
    border-top: 1px solid #000;
}*/

.product_info_col .info_section:before {
    content: '';
    top: 0;
    left: 0;
    right: 0;
    position: absolute;
    border-bottom: 1px solid #000;
    transform-origin: left;
}

.cat_heading.info_section {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding-top: 7px;
    padding-bottom: 7px;
    --close-width: 135px;
}

.cat_heading.info_section .cat_wrapper {
    width: calc(100% - var(--close-width));
    padding-right: 15px;
}

.cat_heading.info_section .cat_title {
    --border-height: 8px;
    font-family: var(--brandon);
    font-size: 1.5rem;
    text-transform: uppercase;
    width: 100%;
    max-width: 270px;
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-left: -15px;
    margin-bottom: -7px;
    padding-top: 10px;
    padding-left: 25px;
    border-bottom: var(--border-height) solid transparent;
    position: relative;
}

.appliances .cat_heading.info_section .cat_wrapper {
    margin-top: auto;
}

.appliances .cat_heading.info_section .cat_title {
    width: fit-content;
    max-width: unset;
    padding-right: 20px;
}

.cat_heading.info_section .cat_title:after {
    content: '';
    left: 0;
    right: 0;
    bottom: calc(var(--border-height) * -1);
    position: absolute;
    transform-origin: left;
    transition-duration: 0.65s;
    border-bottom: var(--border-height) solid var(--main-blue);
}

.cat_heading.info_section .cat_title figure {
    width: 75px;
    height: 60px;
    margin-right: 25px;
}

.cat_heading.info_section .cat_title figure img {
    object-position: right center;
}
        
.cat_heading.info_section .close_wrapper {
    width: var(--close-width);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    border-left: 1px solid #000;
}

.cat_heading.info_section .return_bttn {
    font-family: var(--brandon);
    font-size: 12.5px;
    color: var(--main-blue);
    display: flex;
    flex-direction: row;
    align-items: center;
}

.cat_heading.info_section .close_bttn {
    --diameter: 45px;
    margin-right: 6px;
}

.cat_heading.info_section .close_bttn span {
    border-bottom: 4px solid var(--main-blue);
}

/* Product info - Content */
.title_section.info_section {
    padding-top: 2.25rem;
    padding-bottom: 1.75rem;
}

.product_page .prod_title {
    font-family: var(--brandon);
    font-size: 3rem;
    text-transform: uppercase;
    letter-spacing: 0;
    line-height: 1.05;
    margin: 0;
    max-width: 10em;
}

.description.info_section {
    font-size: 1.1rem;
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
}

.description.info_section h2, .description.info_section h3 {
    font-family: var(--brandon);
    font-size: inherit;
    text-transform: uppercase;
    letter-spacing: 0;
    margin: 0;
    color: #000;
}

.description.info_section h2:not(:first-child), .description.info_section h3:not(:first-child) {
    margin-top: 1.15em;
}

.description.info_section.underline-anim a {
    --main-color: var(--main-orange);
}

.description.info_section ul, .description.info_section ol {
    padding-left: 1.15em;
}

.description.info_section .product_stamps {
    margin-bottom: 2rem;
}

.product_stamps figure {
    display: inline-block;
    width: auto;
    height: 55px;
}

.product_stamps figure img {
    width: auto;
}

.get_quote.info_section {
    padding-top: 1.25rem;
}

/* More products */
.more_prods {
    margin-top: 8.5rem;
}

.more_prods .more_title {
    font-family: var(--farmer);
    font-size: 6rem;
    text-transform: none;
    letter-spacing: 0;
    line-height: 0.8;
    text-transform: none;
    margin-bottom: 4rem;
}

.more_prods .more_title .line_1 {
    font-family: var(--brandon);
    width: 2.75em;
    margin-bottom: 7px;
}

.more_prods .more_title .line_1 textPath {
    font-size: 26px;
    letter-spacing: 0.05em;
}


/* ******************************************
                SINGLE MEATS
******************************************* */
.product_page.meats .prod_img .img_wrapper {
    padding-bottom: 40px;
}

.product_page.meats .cat_heading.info_section .cat_title figure img {
    object-position: right bottom;
}

.product_page.meats .cat_title.quail img, .product_page.meats .cat_title.lamb img {
    transform-origin: center bottom;
    transform: scale(1.25);
}


/* ******************************************
                SINGLE SEAFOOD
******************************************* */
.product_page.seafood .cat_title figure img {
    transform-origin: right top;
    transform: scale(0.9);
}

.nutrition_facts_popup .popup_modal {
    max-width: 320px;
}

.nutrition_facts_popup.is_horizontal .popup_modal {
    max-width: 600px;
}

.nutrition_facts_popup .close_bttn {
    --diameter: 40px;
    background-color: #fff;
    border-radius: 0;
    position: absolute;
    left: 100%;
    transform: unset !important;
}

.nutrition_facts_popup .close_bttn span {
    border-bottom: 4px solid var(--main-blue);
    width: 70%;
}

.nutrition_facts_popup .close_bttn:hover {
    background-color: var(--main-blue);
}

.nutrition_facts_popup .close_bttn:hover span {
    border-color: #fff;
}

.nutrition_facts_popup .close_bttn, .nutrition_facts_popup .close_bttn span, .nutrition_facts_popup .close_bttn:hover {
    transition: background 0.4s, border 0.4s ease;
}


/* ******************************************
                RECIPES PAGE
******************************************* */
/* Header */
.product_header.recipes {
    margin-bottom: 3.75rem;
}

.product_header.recipes .content {
    color: var(--main-orange);
}

.product_header.regular_header .page_title, .single_recipe_header span.title {
    font-size: 13.75rem;
}

.product_header.regular_header .page_title .line_2 {
    font-family: var(--gotham);
    font-size: 2.6rem;
    letter-spacing: 0.01em;
    /*margin-top: 0.25em;*/
    padding-left: 0.1em;
}

.products_intro.recipes {
    max-width: 27em;
}

/* Searchform */
.recipes_search {
    width: 100%;
    max-width: 570px;
    margin: 5rem auto 9rem;
}

.recipes_search .search_query {
    margin-top: 3rem;
}

.recipes_search .clear_search {
    font-family: var(--brandon);
    font-size: 14px;
    letter-spacing: 0;
    text-transform: uppercase;
    line-height: 1.7;
    color: #000;
    --underline-height: 3px;
}

.searchform input {
    border-bottom: 4px solid var(--main-orange);
    font-family: var(--gotham-medium);
    font-size: 2rem;
    letter-spacing: 0.025em;
    text-align: center;
    padding-left: 45px;
    padding-right: 45px;
    padding-bottom: 10px;
}

.searchform input, .searchform input:not(:hover)::placeholder {
    color: #252220;
}

.searchform #searchsubmit {
    width: 30px;
    top: 0;
    right: 5px;
    bottom: 0;
    position: absolute;
    opacity: 0;
    pointer-events: none;
    z-index: 2;
}

.searchform #searchsubmit:hover {
    transform: scale(0.9);
    transition-duration: 0.25s;
}

.searchform input:not(:placeholder-shown) + #searchsubmit {
    opacity: 1;
    pointer-events: all;
}

/* Pagination */
.pagination {
    margin-top: -2rem;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.pagination .page-numbers {
    font-family: var(--gotham-medium);
    font-size: 1.1rem;
    --diameter: 2em;
    width: var(--diameter);
    height: var(--diameter);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    border: 3px solid transparent;
    margin: 0 3px;
}

.pagination .page-numbers.current, .pagination .page-numbers:hover {
    border-color: var(--main-orange);
}

.pagination .page-numbers, .pagination .page-numbers:hover {
    transition: border 0.4s ease;
}


/* ******************************************
                SINGLE RECIPE
******************************************* */
/* Header */
.single_recipe_header {
    margin: 11rem 0 11.75rem;
}

.single_recipe_header .subheading {
    font-size: 2.55rem;
    letter-spacing: 0.02em;
}

.single_recipe_header .left_svg {
    width: 27.75%;
    top: 11px;
    left: calc(var(--cut-width) - 15px);
    position: absolute;
}

.single_recipe_header .right_svg {
    width: 31%;
    right: calc(var(--cut-width) + 1%);
    bottom: 13px;
    position: absolute;
}

/* Content */
.product_page.recipes {
    padding: 0 var(--cut-width);
}

.product_page.recipes .product_info_col .info_section {
    padding-left: 15px;
}

.product_page.recipes .product_img_col figure:before {
    padding-bottom: 68%;
}

.product_page.recipes .cat_heading.info_section {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.product_page.recipes .cat_heading.info_section .cat_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.product_page.recipes .prod_title {
    font-size: 2.75rem;
}

.product_page.recipes .description.info_section h2:not(:first-child), .product_page.recipes .description.info_section h3:not(:first-child) {
    margin-top: 2.25em;
}

.recipe_icon {
    font-family: var(--brandon);
    font-size: 12.5px;
    position: relative;
    --icon-spacing: 30px;
}

.recipe_icon:nth-child(2) {
    padding-left: var(--icon-spacing);
}

.recipe_icon:nth-child(2):before {
    content: '';
    top: 0;
    left: 0;
    bottom: 0;
    border-left: 1px solid var(--main-blue);
    position: absolute;
}

.recipe_icon:not(:first-child) {
    margin-left: var(--icon-spacing);
}

.recipe_icon .icon {
    width: 34px;
    margin-right: 18px;
}

.recipe_icon .number {
    font-size: 2.5em;
    line-height: 0.8;
    margin-top: 2px;
}

.share_media {
    margin-top: 24px;
    padding-left: 5px;
}

.share_media .share_title {
    font-family: var(--brandon);
    font-size: 1.15rem;
    margin-bottom: 13px;
    display: block;
}

.share_media .media_icons {
    display: flex;
    margin-left: -3px;
}

.share_media .media-link {
    --diameter: 48px;
    font-size: 23px;
    margin: 0 3px;
    color: var(--main-blue);
    border: 2px solid var(--main-blue);
    transition-property: color, background-color;
}

.share_media .media-link:hover, .share_media .media-link:focus {
    color: var(--main-beige);
    background-color: var(--main-blue);
}


/* ******************************************
                CONTACTS
******************************************* */
.product_header.regular_header.contacts .page_title .line_2 {
    font-size: 3.5rem;
}

/* Contact info */
.contact_info_form  h2 {
    color: #000;
}

.contact_info_form .text_col .text_container {
    padding-right: 15px;
}

.contact_info_form .text_container h2 {
    font-family: var(--brandon);
    font-size: 1em;
    letter-spacing: 0;
    margin-bottom: 0;
}

.contact_info_form .contact_form {
    margin-top: 7rem;
}

.contact_info_form .contact_form h2 {
    font-size: 1.7rem;
    margin-bottom: 1.5rem;
}

.contact_form form {
    margin-left: -8px;
}

.contact_form .form_line:nth-child(2) input {
    border-top: 1px solid #000;
}

form #submit {
    padding: 0;
    margin-top: 1.5rem;
}

form #submit input {
    padding: 11px 25px 6px;
    text-transform: uppercase;
    font-size: inherit;
    letter-spacing: inherit;
}

form #submit:hover input {
    color: #fff;
}


/* ******************************************
                DEFAULT TEXT PAGE
******************************************* */
/* Header */
.text_header.product_header {
    padding: 0 var(--cut-width);
    margin-bottom: 3.75rem;
}

.text_header .page_title {
    color: var(--main-blue);
}

/* Content */
.default_page {
    font-size: 1.1rem;
    padding: 0 var(--cut-width);
}

.default_page p:empty {
    height: 1px;
}


/* ******************************************
                PAGE 404
******************************************* */
.error_404 {
    font-size: 1.25rem;
    padding: 5rem 0;
}