/* ============================================================
   GLOBAL CSS — rsnsafety.nl
   Laad dit op ELKE pagina
   ============================================================ */

/* ============================================================
   GLOBAL CSS — rsnsafety.nl
   Laad dit op ELKE pagina (via WordPress > Extra CSS of functions.php)
   ============================================================ */

/* === FONTS === */
@font-face {
  font-family: RSN Safety Bold;
  src: url('/wp-content/themes/FANATICS/fonts/Brother1816/Brother1816-Bold.ttf');
  font-display: swap;
}
@font-face {
  font-family: RSN Safety Extrabold;
  src: url('/wp-content/themes/FANATICS/fonts/Brother1816/Brother1816-ExtraBold.ttf');
  font-display: swap;
}

/* === BODY === */
body, html {
    overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 {
  font-family: RSN Safety Extrabold, Arial;
}
body a {
    color: #1fa84f;
    outline: none !important;
}
body a:visited {
    color: #1fa84f;
}

/* === CONTAINER BREEDTES === */
@media only screen and (min-width: 1800px) {
    .ast-container, .ast-woo-shop-archive .site-content > .ast-container, .fanatics_section .inner_content {
        max-width: 1600px !important;
    }
    .elementor-inner-section, .ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap, .ast-above-header-wrap .ast-above-header.ast-above-header-bar, .site-below-header-wrap, ul#ast-hf-menu-1 .menu-item .sub-menu:not(ul#ast-hf-menu-1 .menu-item .sub-menu li ul, ul#ast-hf-menu-1 .menu-item .sub-menu li ul li ul) {
        max-width: 1600px !important;
        margin: auto;
    }
}
@media only screen and (max-width: 1800px) {
    .ast-container, .ast-woo-shop-archive .site-content > .ast-container, .fanatics_section .inner_content {
        max-width: 1400px;
    }
    .elementor-inner-section, .ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap, .ast-above-header-wrap .ast-above-header.ast-above-header-bar, .site-below-header-wrap, ul#ast-hf-menu-1 .menu-item .sub-menu:not(ul#ast-hf-menu-1 .menu-item .sub-menu li ul, ul#ast-hf-menu-1 .menu-item .sub-menu li ul li ul) {
        max-width: 1400px;
        margin: auto;
    }
}
@media only screen and (max-width: 1400px) {
    .ast-container, .fanatics_section .inner_content {
        max-width: 95%;
    }
    .elementor-inner-section, .ast-mobile-header-wrap .ast-primary-header-bar, .ast-primary-header-bar .site-primary-header-wrap, .ast-above-header-wrap .ast-above-header.ast-above-header-bar, .site-below-header-wrap, ul#ast-hf-menu-1 .menu-item .sub-menu:not(ul#ast-hf-menu-1 .menu-item .sub-menu li ul, ul#ast-hf-menu-1 .menu-item .sub-menu li ul li ul) {
        max-width: 90%;
        margin: auto;
    }
}

/* === HEADER === */
@media (max-width: 768px) {
    header .custom-logo-link img, .ast-header-break-point .site-logo-img .custom-mobile-logo-link img {
        max-width: 150px;
    }
}
.ast-above-header-wrap {
    background: #f6f6f6;
    padding-top: 8px;
}
section.usps_header {
    display: flex;
    column-gap: 1rem;
    margin: auto;
    justify-content: center;
}
section.usps_header .usp_header {
    font-size: .7rem;
}
section.usps_header .usp_header i {
    color: #02b701;
    font-size: .9rem;
}
@media only screen and (max-width: 1150px) {
    section.usps_header .second_usp_header:not(.hide_desktop .second_usp_header) {
        display: none;
    }
}
section.contact_options.contact_options_header a {
    color: #959595;
    font-family: rsn safety bold, arial;
}
section.contact_options {
    display: flex;
    gap: .75rem 2rem;
}
.contact_option span, .contact_option i {
    color: #959595;
}
.contact_option span {
    font-family: 'RSN Safety Bold', arial;
}
@media only screen and (max-width: 600px) {
    section.contact_options.contact_options_header {
        gap: 0 .5rem;
        flex-wrap: wrap;
        font-size: .85em;
    }
    section.contact_options.contact_options_header .mail {
        display: none;
    }
    section.contact_options.contact_options_header div {
        min-width: fit-content;
    }
}
.profiel { max-width: 75px !important; }
.site-navigation .menu-item a {
    font-family: 'Rsn safety bold', arial;
}
.ast-below-header-wrap .site-navigation .menu-item {
    font-size: .8rem;
}
.ast-desktop .ast-below-header-bar .main-header-menu > .menu-item {
    line-height: 2rem;
}
.ast-mobile-header-wrap .ast-below-header-bar, .ast-below-header-bar .site-below-header-wrap {
    min-height: 50px;
}
li#menu-item-56773 a {
    color: #02b701;
    font-size: .9rem;
    text-transform: uppercase;
}
.site-below-header-wrap.ast-builder-grid-row-container.site-header-focus-item.ast-container {
    padding: 0 10px;
}
li#menu-item-122430, li.highlight_menu_item.new_label.hide_desktop.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-has-children.menu-item-122548 {
    display: none;
}

/* === MEGA MENU === */
@media only screen and (min-width: 1024px) {
    ul#ast-hf-menu-1 .menu-item:hover .sub-menu .sub-menu {
        visibility: visible;
    }
    ul#ast-hf-menu-1 .menu-item .sub-menu .sub-menu:not(ul#ast-hf-menu-1 .menu-item .sub-menu .sub-menu ul, ul#ast-hf-menu-1 .menu-item .sub-menu .sub-menu ul) {
        flex-wrap: wrap;
        display: grid;
        position: relative;
        top: auto;
        left: auto;
        box-shadow: none;
        border: none;
        padding: 0;
    }
    ul#ast-hf-menu-1 .menu-item .sub-menu:not(ul#ast-hf-menu-1 .menu-item .sub-menu li ul, ul#ast-hf-menu-1 .menu-item .sub-menu li ul li ul) {
        display: grid;
        position: absolute;
        width: 100vw;
        margin: -0.75rem auto auto;
        left: 0;
        right: 0;
        min-height: 2rem;
        max-height: 65vh;
        border: none;
        z-index: 1;
        padding: 1rem 2rem 1rem 2rem;
        flex-direction: column;
        flex-wrap: wrap;
        overflow: auto;
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        max-width: 100%;
    }
    li#menu-item-56767 .sub-menu {
        flex-direction: row !important;
    }
    ul#ast-hf-menu-1 .sub-menu .menu-item a:not(ul#ast-hf-menu-1 .sub-menu li ul .menu-item a) {
        font-size: 1rem;
        color: #02B701;
    }
    ul#ast-hf-menu-1 .menu-item .sub-menu {
        padding: 1rem;
    }
    ul#ast-hf-menu-1 * {
        transition: 0s;
    }
    ul#ast-hf-menu-1 .sub-menu li:not(ul#ast-hf-menu-1 .sub-menu li .sub-menu li) {
        margin-bottom: auto;
    }
    ul#ast-hf-menu-1 .menu-item .sub-menu .sub-menu a:not(ul#ast-hf-menu-1 .menu-item .sub-menu .sub-menu ul a, ul#ast-hf-menu-1 .menu-item .sub-menu .sub-menu ul a) {
        font-family: 'Open Sans';
        padding: 0.2rem .75rem;
        font-size: .85rem;
    }
    ul#ast-hf-menu-1 .menu-item .sub-menu a:first-child {
        padding: 1rem 0.5rem 0 0.75rem;
    }
    .main-header-menu .menu-item {
        position: unset;
    }
    .main-navigation ul {
        position: unset;
    }
    #ast-desktop-header .main-header-menu .sub-menu .menu-item.menu-item-has-children > .menu-link .icon-arrow {
        display: none !important;
    }
}
.ast-desktop .main-header-menu.ast-menu-shadow .sub-menu:first-child {
    max-height: 50vh;
    overflow-y: scroll;
}
.ast-builder-menu-1 .main-header-menu .menu-link {
    padding: 0 10px;
}
li#menu-item-56776 {
    margin-left: 3rem;
}

/* === ZOEKBALK === */
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
    padding: 0.5rem .5rem .5rem 2.3rem;
    font-size: .8rem;
    line-height: 20px;
}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
    left: 1.15rem;
    top: .9rem;
}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit svg path {
    fill: #959595;
}
.dgwt-wcas-search-focused input {
    border-color: rgba(246, 246, 246, 0) !important;
    background: #f6f6f6 !important;
}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit svg {
    max-width: 15px;
}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:hover,
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
    background: #f6f6f6;
}
@media only screen and (min-width: 1024px) {
    #block-10 .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
        min-width: 17.5rem;
    }
}
@media only screen and (max-width: 1025px) {
    .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp {
        background: rgba(246, 246, 246, 0);
        padding: 0;
    }
    .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button {
        top: 0.2rem !important;
        left: .25rem !important;
    }
    .ast-header-break-point .header-widget-area[data-section="sidebar-widgets-header-widget-2"] {
        padding: 0;
    }
    .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
        min-width: 100%;
    }
    .ast-site-header-cart.ast-menu-cart-outline .ast-addon-cart-wrap,
    .ast-site-header-cart.ast-menu-cart-fill .ast-addon-cart-wrap {
        line-height: 0;
        padding: .65rem 0.45rem;
    }
    .site-header-below-section-left.site-header-section.ast-flex.site-header-section-left {
        max-width: 175px;
    }
    .site-header-below-section-right.site-header-section.ast-flex.ast-grid-right-section {
        min-width: auto;
    }
}

/* === WINKELWAGEN ICON === */
.ast-site-header-cart .ast-addon-cart-wrap i.astra-icon:after {
    background: #02B701;
}

/* === KNOPPEN === */
.button, button, a.button.checkout.wc-forward.wp-element-button {
    font-weight: bold;
    transition: .33s;
}
.button,
button:not(button.ast-menu-toggle, button.cky-btn-revisit),
.homepage_products_grid_buttons button.active,
.archive .add_to_cart_button:before,
.related.products .add_to_cart_button:before,
.woocommerce div.product form.cart .button.single_add_to_cart_button,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
a.button.checkout.wc-forward.wp-element-button,
a.checkout-button.button.alt.wc-forward.wp-element-button,
button#place_order,
input[type="submit"],
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.woocommerce div.ast-sticky-add-to-cart-action-wrap .button.single_add_to_cart_button,
ul.tabs.wc-tabs a,
a.custom_checkout_button_cart.checkout-button.button.alt.wc-forward.green_button,
a.checkout-button.button.alt.wc-forward,
.elementor button.button,
button.button.primary_button {
    background: linear-gradient(25deg, #02B701 20%, #43EA42);
    box-shadow: 0px 4px 0px 0px #029902;
    transition: .33s;
}
.homepage_products_grid_buttons .active:hover,
.archive .add_to_cart_button:hover:before,
.related.products .add_to_cart_button:hover:before,
.woocommerce div.product form.cart .button.single_add_to_cart_button:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:hover,
a.button.checkout.wc-forward.wp-element-button:hover,
a.checkout-button.button.alt.wc-forward.wp-element-button:hover,
button#place_order:hover,
input[type="submit"]:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.woocommerce div.ast-sticky-add-to-cart-action-wrap .button.single_add_to_cart_button:hover,
ul.tabs.wc-tabs a:hover,
a.custom_checkout_button_cart.checkout-button.button.alt.wc-forward.green_button:hover,
a.checkout-button.button.alt.wc-forward:hover,
.elementor button.button:hover {
    box-shadow: 0px 0px 0px 0px #029902;
    transition: .33s;
}
.grey_button {
    box-shadow: 0px 4px 0px 0px black;
    background: linear-gradient(0deg, #6D6D6D, #5A5959);
    transition: .33s;
}

/* === COOKIE BANNER === */
.cky-notice-btn-wrapper button:not(button.cky-btn.cky-btn-accept) {
    background: rgba(246, 246, 246, 0);
    border: none;
    padding: 0 .5rem;
    border-color: rgba(246, 246, 246, 0) !important;
    color: inherit !important;
    font-size: .8rem;
}
.cky-notice-btn-wrapper {
    flex-direction: row-reverse !important;
}
p.cky-title {
    font-size: .9rem !important;
}
.cky-consent-bar p, p.cky-title {
    margin: 5px auto !important;
    font-size: .8rem;
    line-height: 1.33 !important;
}
.cky-notice-btn-wrapper button {
    flex: 30%;
}
button.cky-btn.cky-btn-accept {
    border: none;
}
.cky-consent-container.cky-box-bottom-left {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    height: fit-content;
    box-shadow: 0 0 0 100rem rgb(0 0 0 / 50%);
}

/* === MELDINGENBALK === */
.rsn-meldingen-bar {
    width: 100%;
    background: #fff3cd;
    border-bottom: 1px solid #ffeeba;
    padding: 12px 20px;
    text-align: center;
}
.rsn-melding {
    max-width: 1200px;
    margin: 0 auto;
    font-size: 15px;
    font-weight: 500;
    color: #856404;
    line-height: 1.6;
}

/* === FOOTER === */
section.usps_footer {
    display: flex;
    gap: 3rem;
    justify-content: center;
    margin: 0;
    flex-wrap: wrap;
    margin-top: -4.5rem;
}
section.usps_footer .usp_block {
    flex: 30%;
    min-width: fit-content;
    margin: auto 0;
}
@media only screen and (max-width: 768px) {
    section.usps_footer {
        gap: 1rem;
    }
}
section.contact_options_footer {
    padding-bottom: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    border-bottom: solid 3px #6e6e6e;
}
section.contact_options_footer .contact_option span,
section.contact_options_footer .contact_option i {
    font-size: 1.25rem;
}
section.contact_options_footer .contact_option i {
    font-size: 1.5rem;
    margin: 5px;
}
.cta_banner_footer {
    background: linear-gradient(45deg, #6e6e6e, #4b4b4b);
    padding: 2rem;
    display: flex;
    justify-content: center;
    column-gap: 3rem;
    flex-wrap: wrap;
    border-bottom: 3px solid #02B701;
    border-radius: 5px;
    margin: 1rem 0 2rem 0;
}
.cta_banner_footer .inner_content {
    flex: 60%;
}
.cta_banner_footer .footer_form {
    flex: 25%;
}
.cta_banner_footer .inner_content {
    margin: auto;
}
.cta_banner_footer .wpcf7 label {
    color: white;
}
.cta_banner_footer .inner_content h3 {
    color: white;
    font-size: 1.5em;
}
.footer_menus .menu-item a {
    padding: 0 0 1rem 0 !important;
    color: inherit;
    transition: .33s;
}
.footer_menus .menu-item a:hover {
    transition: .33s;
    transform: scale(1.025);
}
.custom_footer {
    margin-top: 3rem;
    background: white;
    z-index: 1;
    position: relative;
    padding-top: 5rem;
}
.custom_footer .usps_footer {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
}
.custom_footer .contact_options_footer {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
    margin: 2rem 0;
}
.custom_footer img {
    display: flex;
    margin: auto;
}
.custom_footer .menu_row {
    display: flex;
    gap: 2rem;
    justify-content: center;
    margin: 2rem 0;
    flex-wrap: wrap;
}
.custom_footer .menu_row ul {
    display: grid;
    gap: 1rem;
    list-style: none;
    margin: 0;
}
.custom_footer .menu_row .menu_col {
    flex: 22%;
}
.custom_footer .menu_row ul a {
    color: grey;
}
.company_info_footer {
    display: flex !important;
    justify-content: center !important;
    gap: .75rem 2rem !important;
    flex-wrap: wrap !important;
    margin-top: -12px !important;
    margin-bottom: 10px !important;
}
.company_info_footer .contact_option {
    display: flex !important;
    align-items: center !important;
}
.company_info_footer .contact_option span {
    color: #959595 !important;
    font-size: 1.25rem !important;
    font-family: 'RSN Safety Bold', arial !important;
    font-weight: normal !important;
    line-height: 1 !important;
}

/* === CONTACT OPTIES === */
.contact_options_mobile {
    display: flex;
}
.contact_options_mobile a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
    background: var(--ast-global-color-3);
    border-radius: 50%;
    color: white;
    font-size: 1.5rem;
}

/* === MISC === */
.lightgrey_part_title, .grey_title {
    color: #959595;
}
.green_title {
    color: #02b701;
}
.white_text { color: white; }
.margin_auto { margin: auto; }
.page-title { margin-bottom: .75em; }
.img_full_height_width, .img_full_height_width img {
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
    display: flex;
    position: relative;
}
.brand_img { pointer-events: none; }
img.brand_img.left_top { position: absolute; left: -15rem; top: -20rem; }
img.brand_img.right_top { position: absolute; right: -15rem; top: -23rem; }
.fanatics_section { margin-bottom: 4rem; }
.fanatics_section .inner_content { margin: auto; }
.fanatics_page { width: 100; }
section#block-8 {
    margin: auto;
    display: inline-flex;
    flex-wrap: wrap;
    column-gap: 3rem;
}
.grecaptcha-badge { display: none !important; }
.wpcf7 p { margin: 0; font-size: .8rem; }
.wpcf7 input { max-height: 40px; }
.wpcf7 label { font-family: rsn safety bold, arial; }
.wpcf7-response-output {
    width: fit-content;
    background: white;
    border: solid 3px !important;
    border-color: #e2e2e2 !important;
    font-size: .75rem;
    line-height: 1.5;
    padding: 1rem !important;
    border-radius: 5px;
    box-shadow: 0 0 15px 0 rgb(0 0 0 / 10%);
    margin: 1rem 0 0 !important;
    position: relative;
    max-width: 85%;
}
.wpcf7-response-output:before {
    content: "\f05a";
    font-family: 'FontAwesome';
    font-size: 1.1rem;
    color: #02b701;
    position: absolute;
    left: -0.5rem;
    top: -0.5rem;
    background: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    box-shadow: 0 0 10px 0 rgb(0 0 0 / 10%);
    text-align: center;
    border: solid 2px #e2e2e2;
}
.flex_form {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.flex_form div { flex: 47%; }

/* === HIGHLIGHT MENU ITEM === */
.highlight_menu_item:before {
    content: "NIEUW";
    position: absolute;
    margin-left: -2.5rem;
    margin-top: -.33rem;
    font-size: .7rem;
    font-weight: bold;
    color: white;
    background: limegreen;
    display: flex;
    height: 25px;
    padding: 0 5px;
    border-radius: 3px;
    align-items: center;
}
.highlight_menu_item { position: relative; }
ul#ast-hf-menu-2 { position: relative; }
@media only screen and (max-width: 1024px) {
    .highlight_menu_item:before {
        margin: 0;
        right: 3rem;
    }
}

/* === HIDE UTILITIES === */
@media only screen and (min-width: 768px) {
    .hide_desktop { display: none !important; }
}
@media only screen and (max-width: 768px) {
    .hide_mobile { display: none !important; }
    .ast-above-header-wrap { display: none; }
    .hide_desktop.custom_product_title_phone .woocommerce-breadcrumb { margin: 0; }
    .hide_desktop.custom_product_title_phone h1 { margin-bottom: 1rem; }
    .single-product #primary { margin-top: 0 !important; }
}

/* === MOBILE HEADER === */
.ast-primary-header-bar.ast-primary-header.main-header-bar.site-primary-header-wrap.site-header-focus-item.ast-builder-grid-row-layout-default.ast-builder-grid-row-tablet-layout-default.ast-builder-grid-row-mobile-layout-default {
    padding: 0 !important;
    border: none;
}
.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
    padding: 0;
    border: none;
    box-shadow: none;
    display: grid !important;
}
.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle span.mobile-menu-wrap {
    margin: auto !important;
}
.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle span.mobile-menu-wrap span {
    color: black !important;
}
.ast-mobile-header-wrap aside.header-widget-area.widget-area.site-header-focus-item.header-widget-area-inner {
    min-width: 100%;
    padding: 1rem 0 2rem 0;
}
.ast-mobile-header-wrap .dgwt-wcas-search-wrapp { max-width: 90%; }
.ast-mobile-header-wrap .ast-below-header-bar.ast-below-header.site-below-header-wrap.site-header-focus-item.ast-builder-grid-row-layout-default.ast-builder-grid-row-tablet-layout-default.ast-builder-grid-row-mobile-layout-default {
    padding: 0 !important;
    min-width: 100%;
}
.usps_header.hide_desktop {
    background: white;
    min-width: 100%;
    margin-top: 1rem;
    margin-bottom: -2.1rem;
    padding: .25rem 0;
}
aside.header-widget-area.widget-area.site-header-focus-item.header-widget-area-inner {
    padding-right: 0;
}

/* === MOBILE USP HEADER === */
@media (max-width: 768px) {
    .usps_header {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        padding: 6px 10px 2px 10px;
        margin-bottom: 0;
        text-align: center;
    }
    .usp_header {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-size: 13px;
        line-height: 1.3;
        width: 100%;
    }
    .usp_header i {
        flex-shrink: 0;
        color: #00b900;
        font-size: 16px;
    }
}