@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

/*
================== Global Variables
*/
:root {
    --base-color: #292e33;
    --white: #fff;
    --black: #000;
    --gray: #434750;
    --global-font: "Open Sans", sans-serif;
    --primary-font: "Montserrat", sans-serif;
}

body {
    font-family: var(--global-font);
}

.py-20{
    padding-top: 20px;
    padding-bottom: 20px;
}

.btn-black {
    background-color: #000;
    padding: 10px 15px;
    font-size: 15px;
    color: #fff;
    border-radius: 5px;
    font-weight: 700;
}

.announcement-bar {
    background-color: var(--black);
    padding: 5px 0;
    font-weight: 700;
    font-size: 17px;
}

.announcement-bar .message{
    color: var(--white);
}

.constrained {
    width: 100%;
    margin: 0px auto;
    padding: 0 20px;
}

.checkout-btn{
    background: #3a3a3a;
    color: #fff;
    padding: 6px 14px;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
}

.header-search form{
    border: solid 1px #cbcbcb;
    max-width: 235px;
    width: 100%;
}

.header-search form input {
    padding: 10px 10px;
    font-style: italic;
}

.telBtn{
    font-size: 16px;
    color: #7c7c7c;
    font-style: italic;
}

.telBtn span{
    color: #3a3a3a;
    font-size: 20px;
    font-weight: 600;
    font-style: normal;
    display: block;
}

.top-stripe {
    background-color: #FFE41B;
    width: 100%;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ================ Main Menu Style ================ */
.main-menu-wrap .main-menu {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: solid 1px #ddd;
    position: relative;
}

.main-menu-wrap .main-menu .block-link,.main-menu>.menu>.menu-title>a, .main-menu-wrap .main-menu>.menu>.menu-title>span, .main-menu-wrap .main-menu>a {
    padding: 15px 16px;
    font-weight: 600;
    margin: 0;
    font-size: 13px;
}

.main-menu-wrap .main-menu>.menu>.menu-title>span{
    padding-right: 3px;
}

.main-menu-wrap .main-menu>:hover{
    background-color: transparent;
}

.main-menu-wrap .main-menu  .menu.has-children {
    margin: 0;
}

.main-menu-wrap .main-menu>.menu>.menu-body{
    min-width: 100%;
    left: 0;
    background: #292e33;
}

.main-menu-wrap .main-menu .menu-body .menu.has-children .block-link{
    color: var(--white);
    text-transform: uppercase;
    font-weight: bold;
    font-size: 13px;
    font-family: var(--primary-font);
    letter-spacing: 0.7px;
    padding: 2px 2px 10px 10px;
    position: relative;
}

.main-menu-wrap .main-menu .menu-body .menu.has-children .block-link:after{
    content: '';
    background-color: #45636a;
    position: absolute;
    width: 4px;
    height: 4px;
    left: 0;
    top: 8px;
    border-radius: 50%;
}

.main-menu-wrap .main-menu .menu-body .menu.has-children .menu-title span{
    color: var(--white);
    text-transform: uppercase;
    font-weight: bold;
    font-size: 13px;
    font-family: var(--primary-font);
    letter-spacing: 0.7px;
    padding: 2px;
}
/* ================ Site Footer ================ */
.site-footer {
    background-color: #2d3035;
    color: #fff;
    padding-top: 40px;
    padding-bottom: 50px;
    font-size: 12px;
}

.site-footer-outer{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer-box .menu.has-children .menu-body .menu.has-children {
    margin-top: 20px;
}

.footer-box .menu.has-children .menu-title{
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 5px;
    margin-top: 0;
}

.footer-box .menu.has-children .menu-title .menu-caret{
    display: none;
}

.footer-box .menu.has-children .menu-body> a{
    display: block;
    font-size: 11px;
    color: #B3B3B3;
    font-weight: 500;
    font-family: var(--primary-font);
    position: relative;
    padding: 5px 5px 5px 10px;
}

.footer-box .menu.has-children .menu-body> a:hover{
    text-decoration: underline;
}

.footer-box .menu.has-children .menu-body> a:after{
    content: '';
    background-color: #45636a;
    position: absolute;
    width: 4px;
    height: 4px;
    left: 0;
    top: 10px;
    border-radius: 50%;
}
.footer-box .menu.has-children .menu-body p{
    display: block;
    font-size: 11px;
    color: #B3B3B3;
    font-weight: 500;
    font-family: var(--primary-font);
    position: relative;
}

.site-footer-top {
    display: grid;
    grid-gap: 20px;
}

.footer-box:last-child .menu .menu-body .menu.has-children .menu-body{
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-box:last-child .menu .menu-body .menu.has-children .menu-body a{
    padding: 2px;
}

.footer-box:last-child .menu .menu-body .menu.has-children .menu-body a:after{
    display: none;
}

.footer-box:last-child .menu .menu-body .menu.has-children .menu-body a img{
    width: 27px;
}

.site-footer-middle {
    display: flex;
    justify-content: center;
    text-align: center;
    gap: 10px;
    flex-wrap: wrap;
}

.site-footer-bottom{
    text-align: center;
    font-size: 14px;
}

.footer-madeby a:hover{
    text-decoration: underline;
}

.payment-logo ul{
    padding: 0;
    margin: 0;
    display: flex;
    gap: 2px;
}

.payment-logo ul li{
    background: url('../images/card_sprite.png') no-repeat top left;
    width: 32px;
    height: 20px;
    position: relative;
}

.payment-logo ul li.visaCard{
    background-position: 0 -15px;
}

.payment-logo ul li.masterCard{
    background-position: -100px -15px;
}

.payment-logo ul li.mestroCard{
    background-position: -150px -15px;
}

.payment-logo ul li.paypalCard{
    background-position: -400px -15px;
}

.site-footer-bottom p{
    text-align: center;
    font-size: 14px;
}

.site-footer-bottom br{
    display: block;
}

@media (min-width: 767px) {
    .site-footer-top {
        grid-template-columns: repeat(3, 1fr);
    }
}


@media (min-width: 1024px) {
    .constrained {
        max-width: 990px;
    }
    .main-menu>.menu:hover>.menu-body:has(>.menu.has-children:nth-of-type(2)){
        grid-template-columns: repeat(4, minmax(0, 1fr));
        padding: 20px;
    }

    .hero-banner.hero-images .constrained{
        padding: 0;
    }

    .site-footer-top {
        grid-template-columns: 21% 21% 20% 32%;
        gap: 2%;
    }

    .site-footer-middle {
        justify-content: space-between;
        text-align: left;
    }

    .site-footer-bottom br{
        display: none;
    }
}