/*  Custom fonts.
------------------------------------- */
@font-face {
    font-family:    'Montserrat';
    font-display:   swap;
    src:            url('../fonts/Montserrat-Medium.woff2') format('woff2');
}



/*  General things.
------------------------------------- */
body,
.klaviyo-form span {
    font-family:    'Montserrat';
    font-size:      16px;
}
.sub-title,
.klaviyo-form [data-testid="form-row"]:first-child span {
    font-family: 'Oswald';
}
small {
    display:    inline-block;
    font-size:  0.6em;
}
figcaption {
    font-weight: bold;
}
.section-title .sub-title {
    font-size: 16px;
}
.section-title h3.title {
    font-size: 28px;
}
.section-title .desc {
    font-size: 0.9em;
}
.elementor-widget-heading h1 {
    font-size: 38px !important;
}
.elementor-widget-heading h2 {
    font-size: 34px !important;
}
p,
li:not(.elementor-editor-element-setting),
footer li a {
    font-size: 16px !important;
}
footer li a {
    font-weight: normal !important;
}
.smaller-font p,
.smaller-font li {
    font-size: 14px !important;
}
td {
    border: 1px solid #ddd;
}
.tg-page-area {
    padding: 0;
}
.rating-custom-width .elementor-container {
    flex-wrap: unset !important;
}
.rating-custom-width .elementor-column:first-child {
    width: 100px !important;
}
.rating-custom-width .elementor-column:last-child {
    width: auto !important;
}
@media (max-width: 767px) {
    .section-title .title {
        font-size: 36px;
    }
    .elementor-widget-heading h1 {
        font-size: 32px !important;
    }
    .elementor-widget-heading h2 {
        font-size:      28px !important;
        line-height:    1.4 !important;
    }
    p,
    li:not(.elementor-editor-element-setting) {
        font-size: 14px !important;
    }
}

/* Dotted background. */
.features-products-thumb::before {
    background-image: url('../img/podlaga.png');
}

/* Clover background. */
.clover-left > *,
.clover-right > * {
    z-index: 1;
}
.clover-left::before,
.clover-right::after {
    content:            '';
    position:           absolute;
    top:                0;
    height:             100%;
    width:              100%;
    background-repeat:  no-repeat;
    background-size:    600px;
    opacity:            0.1;
    z-index:            0;
}
.clover-left::before {
    background-image:       url('../img/detelja.png');
    background-position:    left top;
}
.clover-left.lower::before,
.clover-right.top.lower::after {
    top: 100px;
}
.clover-right::after {
    background-image:       url('../img/detelja-flipped.png');
    background-position:    right bottom;
}
.clover-right.top::after {
    background-position: right top;
}
.clover-right.higher::after {
    top: -150px;
}
@media (max-width: 1024px) {
    .clover-left::before,
    .clover-right::after {
        background-size: 500px;
    }
}

/* Custom list icons for <ul> and <ol> elements. */
.custom-list-icons {
    padding: 0;
}
.custom-list-icons li {
    list-style:             none;
    background-image:       url('../img/check-green-icon.png');
    background-repeat:      no-repeat;
	background-position:    left center;
	background-size:        35px;
    padding-left:           45px;
    min-height:             30px;
    margin-bottom:          15px;
}

/* Swiper slider. */
.elementor-lightbox .swiper {
    height: 100%;
}
.elementor-lightbox .swiper img {
    box-shadow: none;
}

/* Elementor section. */
.elementor-section.elementor-section-boxed > .elementor-container {
    padding: 0 20px;
}

/* Cookie notice. */
[data-cky-tag] {
    visibility: visible !important; /* A fix, because the plugin somehow hiddes the notice when the page is cached, I checked the code. */
}

/* Preloader. */
#preloader {
    z-index: 99999999; /* Needs to be this big of a number, so it also hiddes the cookie notice. */
}



/*  Cookie Bot.
------------------------------------- */
#CybotCookiebotDialog #CybotCookiebotDialogHeader,
#CybotCookiebotDialog .CybotCookiebotDialogBodyBottomWrapper,
#CybotCookiebotDialog #CybotCookiebotDialogPoweredByText {
    display: none !important;
}
@media (max-width: 1279px) {
    #CybotCookiebotDialog {
        top:        unset !important;
        bottom:     8px !important;
        max-width:  unset !important;
        max-height: calc(100% - 300px) !important;
        transform:  translateX(-50%) !important;
    }
}
@media (max-width: 767px) {
    #CybotCookiebotDialog #CybotCookiebotDialogBodyContentTitle,
    #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonCustomize,
    #CybotCookiebotDialog .CybotCookiebotFader {
        display: none !important;
    }
    #CybotCookiebotDialogBody .CybotCookiebotScrollContainer {
        min-height: unset !important;
    }
    #CybotCookiebotDialog #CybotCookiebotDialogBodyContent {
        padding:    10px !important;
        max-height: 60px !important;
    }
    #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
        margin: 0 !important;
        width:  100% !important;
    }
}



/*  Colors.
------------------------------------- */
.white-background h1,
.white-background h2,
.white-background h3,
.white-background h4,
.white-background h5,
.white-background h6,
.white-background .title,
.white-background .accordion-button,
.woocommerce-page h2,
.woocommerce-page h3,
footer .footer-social a,
body.woocommerce-checkout #shipping_method label,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper input,
.woocommerce-mini-cart .min-cart-price .woocommerce-Price-amount {
    color: #222;
}
body,
p,
figcaption,
.total-rating {
    color: #555;
}
.payment .pricing-item .pricing__box .pricing-price .price,
.payment .pricing-item .pricing-price .price,
.payment .pricing-item.best-value-plan .pricing-price > span,
.payment .pricing-item:hover .pricing-price .price,
.payment .pricing-item:hover .pricing-price > span,
.payment .pricing-item.regular .pricing-hade .title,
.payment .pricing-item .price-savings > span {
    color: #818181;
}
h1,
h2,
h3,
h4,
h5,
h6,
.navbar-wrap ul li a,
.brand-title .title,
.features-product-bottom .price,
.content-top .tags a,
.content-bottom ul .user,
.accordion-button,
.home-shop-price,
.video-bg a:hover,
header .promotional-text,
header .promotional-text a,
footer .footer-social a:hover,
footer .cta-button a,
.klaviyo-form span,
.woocommerce-mini-cart__buttons a:hover,
header .header-phone a,
header .header-email a,
.header-action > ul > li > a,
.header-action > ul > li.header-phone:hover > a,
.header-action > ul > li.header-email:hover > a,
.white-text *,
.footer-widget .footer-text p,
.footer-widget .fw-title,
.footer-widget p,
.footer-top-wrap .footer-widget ul li a {
    color: #fff;
}
.show-product-rating a,
.product-stars,
.star-rating {
    color: #ffbf14;
}



/*  Product matching colors.
------------------------------------- */
a,
a:hover,
.banner-content .banner-caption,
.section-title .sub-title,
.features-icon,
.home-shop-rating,
.payment .pricing-item .price-savings .save,
.payment .pricing-item.popular-plan .pricing-btn a:hover,
.testimonial-rating,
.faq-wrapper .accordion-button .count,
.icons .wp-caption figcaption,
.payment .pricing-item.popular-plan .pricing-hade .title,
.klaviyo-form [data-testid="form-row"] a,
ul li::marker {
    color: #e2c167;
}
footer .footer-contact-wrap .list-wrap li i,
footer .footer-top-wrap .widget_block ul li a:hover,
footer .footer-top-wrap .footer-widget ul li a:hover,
.payment .pricing-item .pricing-btn a:hover,
.payment .pricing-item.best-value-plan .price-savings .save,
.payment .pricing-item.best-value-plan .pricing-hade .title,
header .promotional-text span,
.payment .pricing-item.best-value-plan .pricing-price .price,
.payment .pricing-item.best-value-plan .pricing-price > span,
.klaviyo-form [data-testid="form-row"]:first-child span,
.header-action > ul > li:hover > a,
.payment .stock-message strong:first-of-type,
header .header-phone i,
header .header-email i {
    color: #a5cd3e;
}
.sticky-menu,
.home-shop-item,
.scroll-top:hover {
    background-color: #1b1b1b;
}
body {
    background-color: #1b1b1b !important;
}
header .header-shop-cart a.cart-count span.mini-cart-count,
.brand-title .title::before,
.brand-title .title::after,
.related-product-active .slick-dots li button,
.home-shop-active .slick-dots li button,
.ingredients-content .title::before,
.payment .pricing-item.popular-plan .pricing-btn a,
.payment .pricing-item.popular-plan .pricing-title .title {
    background-color: #e2c167;
}
footer .footer-social a:hover,
.scroll-top,
header .header-action > ul li.offCanvas-btn a,
.testimonial-active .slick-arrow::before,
.tg-cube-grid .tg-cube,
.video-btn a,
.description .section-title::after,
.cta-button a,
.payment .pricing-item .pricing-btn a,
.payment .pricing-item.best-value-plan .pricing-title .title,
.woocommerce-mini-cart__buttons a,
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: #a5cd3e;
}
.payment .pricing-item.popular-plan .pricing-img {
    background-image: radial-gradient(50% 50% at 50% 50%, rgba(226, 193, 103, 0.75) 0%, rgba(226, 193, 103, 0) 100%);
}
.payment .pricing-item.best-value-plan .pricing-img {
    background-image: radial-gradient(50% 50% at 50% 50%, rgba(165, 205, 62, 0.75) 0%, rgba(165, 205, 62, 0) 100%);
}
.payment .pricing-item.popular-plan .pricing__box,
.payment .pricing-item.popular-plan .pricing-btn a {
    border-color: #e2c167;
}
.payment .pricing-item.best-value-plan .pricing__box,
.payment .pricing-item .pricing-btn a,
body.woocommerce-checkout .order-review-wrapper {
    border-color: #a5cd3e;
}

/* Buttons. */
.btn {
    background-color: #a5cd3e;
}
.btn::before,
.btn-two {
    background-color: #e2c167;
}
.btn-two::before {
    background-color: #a5cd3e;
}



/*  Wordpress admin bar.
------------------------------------- */
/* "LiteSpeed Cache" plugin's icon fix. */
#wpadminbar li#wp-admin-bar-litespeed-menu span.ab-icon {
    margin-right: 0 !important;
}

/* Hide unecessary elements. */
#wpadminbar li#wp-admin-bar-aioseo-main { /* "All in One SEO" plugin. */
    display: none;
}



/*  Header.
------------------------------------- */
header .custom-container {
    max-width: 1140px; /* Same as the elementor's boxed section max-width. */
}

/* Sticky header. */
header .sticky-menu {
    display: none;
}

/* Logo. */
header .logo img {
    max-width: 80px;
}
@media (max-width: 1199.98px) { /* Same as the mini cart's responsive limit. */
    header .logo img {
        margin-left: 30px;
    }
}

/* Promotional text. */
header .promotional-text {
    justify-content: center;
}
header .promotional-text span {
    display: inline-block;
    padding: 0 10px;
}
header .promotional-text a {
    text-decoration:    underline;
    font-weight:        600;
    font-size:          unset;
}
header .promotional-text i {
    margin-left: 5px;
}

/* Mini cart. */
header .header-mini-cart.active {
    opacity:    1 !important;
    visibility: visible;
    transform:  translateY(0px);
}
header .header-mini-cart .min-cart-content {
    padding-right: 10px !important;
}
header .header-mini-cart .quantity {
    width: auto;
}
header .header-mini-cart .awdr_cart_strikeout_line {
    display: flex;
}
header .header-mini-cart ins {
    text-decoration:    none;
    margin-left:        -4px; /* Because the whitespace can't be removed with flex. */
}
header .wc-forward:not(.checkout) {
    display: none;
}
header .checkout {
    border-radius:  5px;
    padding:        15px 30px;
    font-weight:    bold;
}
header .woocommerce-mini-cart__empty-message {
    display:        inline-block;
    vertical-align: middle;
}

/* Phone or email. */
header .header-phone a,
header .header-email a {
    font-weight: normal !important;
}
header .header-phone a {
    font-size: 20px !important;
}
header .header-email a {
    font-size: 16px !important;
}



/*  Footer.
------------------------------------- */
footer .footer-top-wrap .container {
    max-width: 1140px; /* Same as the elementor's boxed section max-width. */
}
footer .footer-top-wrap .container .row > div:not(:first-child) > div:first-child {
    padding-top: 65px;
}
@media (max-width: 767px) {
    footer .footer-top-wrap {
        padding: 50px 0 0 !important;
    }
    footer .footer-top-wrap .container .row > div:not(:first-child) > div:first-child {
        padding-top: 0;
    }
}

/* Titles. */
footer .footer-widget .fw-title {
    margin-bottom: 45px;
}
@media (max-width: 767px) {
    footer .footer-widget .fw-title {
        margin-bottom: 30px;
    }
}

/* Logo. */
footer .logo img {
    max-width: 100px;
}

/* Text below logo. */
footer .footer-widget .footer-text {
    width: 100%;
}

/* Social icons. */
footer .footer-social a {
    margin-right:       15px;
    background-color:   #fff;
}
footer .footer-social a:last-child {
    margin-right: 0;
}

/* Newsletter. */
footer .klaviyo-form > div > div:first-child > div {
    padding-top: 0 !important;
}
footer .klaviyo-form > div > div:first-child > div p {
    opacity: 1 !important;
}
footer .klaviyo-form > div > div:first-child > div span {
    line-height:    24px !important;
    font-weight:    500 !important;
    color:          #fff !important;
}

/* Images on the left and the right side. */
footer .footer-shape {
    opacity: 0.75;
}
footer .footer-shape.one {
    left: -125px;
}
footer .footer-shape.two {
    right: -125px;
}
footer .footer-shape img {
    width:  auto;
    height: 300px;
    filter: blur(2px);
}

/* Credit cards. */
footer .payment-card img {
    width: 250px;
}

/* Sticky footer. */
footer .cta-button { /* CTA button */
    position:           fixed;
    border-top:         1px solid #ddd;
    padding:            10px 0;
    width:              100%;
    bottom:             -200px;
    background-color:   #fff;
    z-index:            98; /* One value less than scroll to top button. */
    transition:         bottom 0.75s;
}
footer .cta-button a {
    width:      70%;
    margin:     0 20px;
    transition: width 0.75s ease-out;
}
footer .cta-button > span {
    display:        inline-block;
    margin:         0 20px 10px;
    line-height:    1.25;
}
footer .cta-button .price {
    font-size:      25px;
    font-weight:    bold;
    vertical-align: sub;
}
footer .cta-button.sticky {
    bottom: 0;
}
footer .cta-button.sticky a {
    width: 375px;
}
@media (max-width: 767px) {
    footer .cta-button a,
    footer .cta-button.sticky a {
        width: auto;
    }
}

/* Scroll to top button. */
.scroll-top {
    transition: bottom 0.75s; /* Same as the sticky footer's bottom transition. */
}
.scroll-top.sticky {
    bottom: 110px; /* Only put scroll to top button higher when the sticky footer activates. */
}
@media (max-width: 600px) {
    .scroll-top.sticky {
        bottom: 145px;
    }
}



/*  Homepage.
------------------------------------- */
/* Theme's top and bottom shape divider backgrounds. */
.video-bg::before,
.video-bg::after,
.testimonial-bg::before,
.testimonial-bg::after,
.footer-top-wrap::before,
.formula-bg::before,
.formula-bg::after {
    display: none;
}

/* Description. */
.description .underline .section-title::after {
    content:    '';
    position:   absolute;
    width:      155%;
    height:     2px;
    opacity:    0.5;
    z-index:    1;
}
.description .elementor-inner-column:first-child .underline .section-title::after {
    left: 0;
}
.description .elementor-inner-column:last-child .underline .section-title::after {
    right: 0;
}

/* Hotspots. */
.hotspots-container .hotspot span {
    font-size: 20px;
}

/* Newsletter/Catalog. */
.klaviyo-form [data-testid="form-row"] a {
    text-decoration: none;
}
.klaviyo-form [data-testid="form-row"]:first-child span {
    font-size: 26px;
}
.icons .wp-caption img {
    width: 150px;
}
.icons .wp-caption figcaption {
    margin:         0;
    font-size:      20px;
    line-height:    30px;
    font-style:     normal;
}

/* Video. */
.video-bg {
    min-height: 1000px;
}
.video-bg .ripple-white {
    border-radius:  50%;
    animation:      ripple-white 1s linear infinite;
    transition:     0.5s;
}
@keyframes ripple-white {
    0% {
        box-shadow: 0 0 0 0 rgba(165, 205, 62, 0.3), 0 0 0 10px rgba(165, 205, 62, 0.3), 0 0 0 20px rgba(165, 205, 62, 0.3);
    }
    100% {
        box-shadow: 0 0 0 10px rgba(165, 205, 62, 0.3), 0 0 0 20px rgba(165, 205, 62, 0.3), 0 0 0 30px rgba(255, 255, 255, 0);
    }
}
.video-bg .video-bg-overlay {
    opacity: 0;
}

/* Payment options (3 columns to add to cart). */
.payment .pricing-item .pricing__box {
    padding:        35px;
    border-width:   4px;
}
.payment .pricing-item.best-value-plan .pricing__box {
    padding:            70px 35px;
    background-color:   #fcfff5;
}
.payment .pricing-item .pricing-btn .added_to_cart {
    display: none;
}
.payment .pricing-item.regular:hover .pricing__box {
    border-color: transparent;
}
.payment .pricing-item .pricing-title .title {
    padding: 8px;
}
.payment .pricing-item .pricing-hade > p {
    font-weight:    normal;
    text-transform: none;
}
.payment .product-stars {
    display:        inline-block;
    padding-bottom: 5px;
}
.payment .product-stars i {
    font-size:  16px;
    margin:     0 2px;
}
.payment .pricing-item.regular .pricing-img {
    background-image: none;
}
.payment .pricing-item .pricing-img img {
    width: auto;
}
.payment .pricing-item.best-value-plan .pricing-price .price,
.payment .pricing-item.best-value-plan .pricing-price > span {
    font-weight: bold;
}
.payment .pricing-item .price-savings .save {
    font-size: 26px;
}
.payment .pricing-item .price-savings > span {
    margin:     15px 0 45px;
    font-size:  15px;
}
.payment .fa-shipping-fast {
    margin-right: 10px;
}
.payment .pricing-item .pricing-btn a {
    padding:    15px;
    font-size:  18px;
    box-shadow: 2px 2px #aaa;
}
.payment .pricing-item .pricing-btn a:hover {
    background-color: transparent;
}
.payment .pricing-item .pricing-btn a > span {
    display: none;
}
@media (max-width: 1200px) {
    .payment .pricing-item .pricing__box {
        padding: 30px 20px;
    }
    .payment .pricing-item.best-value-plan .pricing__box {
        padding: 70px 20px;
    }
}
@media (max-width: 767px) {
    .payment .elementor-container {
        justify-content: center;
    }
    .payment .elementor-inner-column {
        max-width: 400px;
    }
    .payment .pricing-item.best-value-plan .pricing__box {
        padding: 30px 20px;
    }
}

/* Accordions. */
.elementor-widget-suxnix-faq .faq-wrapper {
    margin: 0;
}
.elementor-widget-suxnix-faq iframe {
    display:    block;
    width:      revert-layer;
    margin:     0 auto;
}
.elementor-widget-suxnix-faq .flex {
    display:            flex;
    justify-content:    center;
    align-items:        center;
    padding-top:        20px;
}
.elementor-widget-suxnix-faq .flex > :first-child {
    padding-right: 25px;
}
.elementor-widget-suxnix-faq .flex > :last-child {
    padding-left: 25px;
}
.elementor-widget-suxnix-faq table ~ table {
    display:        block;
    padding-top:    20px;
}
.elementor-widget-suxnix-faq h3,
.elementor-widget-suxnix-faq h4,
.elementor-widget-suxnix-faq h5,
.elementor-widget-suxnix-faq h6 {
    margin-top: 60px;
}
.elementor-widget-suxnix-faq .accordion-body div div,
.elementor-widget-suxnix-faq p,
.elementor-widget-suxnix-faq ul,
.elementor-widget-suxnix-faq h3,
.elementor-widget-suxnix-faq h4,
.elementor-widget-suxnix-faq h5,
.elementor-widget-suxnix-faq h6 {
    margin-bottom: 20px;
}
@media (max-width: 1024px) {
    .elementor-widget-suxnix-faq .flex img {
        width: 100%;
    }
}
@media (max-width: 767px) {
    .elementor-widget-suxnix-faq .flex {
        display:        block;
        padding-top:    0;
    }
    .elementor-widget-suxnix-faq .flex > :first-child,
    .elementor-widget-suxnix-faq .flex > :last-child {
        padding: 20px 0 0;
    }
    .elementor-widget-suxnix-faq .flex > :last-child {
        padding-top: 40px;
    }
}



/*  404 page.
------------------------------------- */
body.error404 .breadcrumb-area {
    display: none;
}



/*  Checkout and order received page.
------------------------------------- */
body.woocommerce-checkout header .logo img,
body.woocommerce-order-received header .logo img {
    margin: 0;
}



/*  Checkout page.
------------------------------------- */
/* Strikeout prices. */
body.woocommerce-checkout ins {
    text-decoration: none;
}

/* Address 1 and address 2 fields. */
body.woocommerce-checkout #customer_details #billing_address_1_field,
body.woocommerce-checkout #customer_details #shipping_address_1_field {
    position:   initial;
    flex:       0 0 70%;
    max-width:  70%;
}
body.woocommerce-checkout #customer_details #billing_address_2_field,
body.woocommerce-checkout #customer_details #shipping_address_2_field {
    flex:       0 0 30%;
    max-width:  30%;
}

/* Error descriptions below input fields. */
body.woocommerce-checkout .checkout-inline-error-message {
    display: none;
}

/* Description fields for the customer address fields. */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    position: relative;
}
body.woocommerce-checkout #customer_details .form-row:has(.description) {
    margin-bottom: 60px;
}
body.woocommerce-checkout #customer_details .form-row .woocommerce-input-wrapper .description {
    position:           absolute;
    display:            block !important;
    margin:             0.5em 0 0 !important;
    padding:            0.5rem 1rem !important;
    width:              calc(100% - 20px) !important;
    height:             auto !important;
    overflow:           visible !important;
    border-radius:      0.25rem;
    background-color:   #a5cd3e;
    color:              #fff;
}
body.woocommerce-checkout #customer_details .form-row .woocommerce-input-wrapper .description::before {
    content:        '';
    position:       absolute;
    display:        block;
    top:            0;    
    left:           15%;
    margin-top:     -6px;
    border-width:   6px 15px 0 15px;
    border-style:   solid;
    border-color:   #a5cd3e transparent transparent transparent;
    transform:      translateX(-50%) rotate(180deg);
}

/* Klaviyo newsletter opt in checkbox. */
body.woocommerce-checkout #customer_details .kl_newsletter_checkbox_field input#kl_newsletter_checkbox {
    appearance: checkbox;
    width:      auto;
    height:     auto;
}

/* Quantity fields. */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .name {
    margin-left: 10px;
}

/* Order review table. */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr {
    display:    flex;
    width:      100%;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table input {
    margin: 3px .4375em 0 0;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table label {
    display: inline;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table button {
    color: #000;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
    display:        flex;
    align-items:    center;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cqoc_container {
    display: flex;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cqoc_product_name {
    margin-left: 5px;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping li:not(:only-child) label,
body.woocommerce-checkout .order-summary-before-place-order-button .shipping li:not(:only-child) label {
    cursor: pointer;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping li:only-child label,
body.woocommerce-checkout .order-summary-before-place-order-button .shipping li:only-child label {
    cursor: text;
}

/* Shipping fields. */
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display:        flex;
    flex-flow:      row wrap;
    margin-left:    -10px;
    margin-right:   -10px;
}
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p {
    flex:           0 0 100%;
    max-width:      100%;
    padding-left:   10px;
    padding-right:  10px;
    margin-left:    0;
    margin-right:   0;
}

/* Custom images and icons. */
.secure-checkout {
    width:  70%;
    margin: 30px auto 0;
}
.secure-checkout-below-button {
    width:  85%;
    margin: 30px auto 0;
}
.secure-top-row {
    display:            flex;
    justify-content:    space-evenly;
    padding:            10px 30px;
    width:              100%;
}
.secure-top-row .secure-top-column {
    display:        flex;
    align-items:    center;
    padding:        20px;
}
.secure-top-row .secure-img {
    max-width:      35px;
    margin-right:   15px;
}
.secure-top-row .secure-text {
    font-size: 14px;
}
@media (max-width: 991px) {
    .secure-checkout-below-button {
        width: 70%;
    }
}
@media (max-width: 767px) {
    .secure-top-row {
        padding: 10px 0;
    }
    .secure-top-row .secure-top-column {
        flex-direction: column;
        text-align:     center;
    }
    .secure-top-row .secure-img {
        margin: 0 0 10px;
    }
}

/* Header and footer. */
body.woocommerce-checkout .menu-area {
    background-color: #fff;
}
body.woocommerce-checkout .menu-area .logo {
    margin: 0 auto;
}
body.woocommerce-checkout .menu-area .logo img {
    max-width: 125px;
}
body.woocommerce-checkout footer {
    display: none;
}

/* Body. */
body.woocommerce-checkout .tg-page-area {
    padding: 25px 0 75px;
}
body.woocommerce-checkout .tg-page-area {
    background-color: #fff;
}
body.woocommerce-checkout #shipping_method {
    margin:     0;
    list-style: none;
}
body.woocommerce-checkout #shipping_method label {
    font-size:      16px;
    font-weight:    bold;
}

/* Shipping fields. */
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper input {
    display:            inline-flex;
    align-items:        center;
    font-size:          16px;   
    width:              100%;
    height:             53px;
    padding:            0 20px;
    box-shadow:         none;
    outline:            none;
    appearance:         none;
    background-color:   #f5f5f5;
    border:             1px solid transparent;
    border-radius:      0;
    transition:         all 0.2s cubic-bezier(0.28, 0.12, 0.22, 1);
}

/* Total. */
body.woocommerce-checkout .order-review-wrapper h3 {
    border: none;
}
body.woocommerce-checkout .order-review-wrapper .shop_table tfoot tr.order-total small .amount {
    font-size: inherit;
}

/* Klaviyo newsletter checkbox. */
body.woocommerce-checkout #kl_newsletter_checkbox_field {
    clear: both;
}

/* Upsells from the "WooFunnels" plugin. */
body.woocommerce-checkout .wfob_bump_title_start {
    width: 100% !important;
}
body.woocommerce-checkout .wfob_price_container {
    display: none !important;
}
body.woocommerce-checkout .wfob_bgBox_table .wfob_checkbox_input_wrap {
    margin: 0 !important;
}
body.woocommerce-checkout .wfob_bgBox_table label,
body.woocommerce-checkout .wfob_bgBox_table input {
    cursor: pointer;
}

/* Payments. */
body.woocommerce-checkout .order-review-wrapper .woocommerce-checkout-payment {
    border: none;
}
body.woocommerce-checkout .order-review-wrapper .woocommerce-checkout-payment ul.payment_methods li label img {
    display: none;
}
body.woocommerce-checkout .order-review-wrapper .woocommerce-checkout-payment button#place_order {
    text-transform: unset;
}

/* Privacy policy. */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin: 50px 0 25px;
}



/*  Order received page.
------------------------------------- */
body.woocommerce-order-received {
    background-color: #fff !important;
}
body.woocommerce-order-received section {
    margin-top: 30px;
}
body.woocommerce-order-received table.shop_table img {
    margin-right:   1rem;
    width:          80px;
}

/* GLS parcel locker info section. */
body.woocommerce-order-received .woocommerce-order-details > div:not(:has(br)) {
    display: none;
}
body.woocommerce-order-received .woocommerce-order-details > div br:last-child {
    display: none;
}