#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loader {
    width: 40px;
    height: 40px;
    border: 4px solid #ccc;
    border-top: 4px solid #333;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


.overlay {
    height: 100%;
    width: 0;
    position: fixed;
    left: 0;
    top: 0;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0, 0.9);
    overflow-x: hidden;
    transition: 0.2s ease;
    z-index: 9999;
}
.cartoverlay {
    height: 100%;
    width: 0;
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: #ffffff;
    overflow-x: hidden;
    transition: 0.2s ease;
    z-index: 9999;
}

.cartoverlaycontent {
    text-align: center;
    bottom: 0;
}


.overlay-content {
    position: relative;
    top: 25%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
}

.overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 60px;
    font-family: "Trebuchet MS";
    color: #818181;
    display: block;
    transition: 0.3s;
}
.overlay p {
    padding: 8px;
    text-decoration: none;
    font-size: 50px;
    font-family: "Trebuchet MS";
    color: #818181;
    display: block;
}
.cartoverlay p {
    padding: 8px;
    text-decoration: none;
    font-size: 50px;
    font-family: "Trebuchet MS";
    color: #818181;
    display: block;
}

.overlay a:hover, .overlay a:focus {
    color: #f1f1f1;
}

.closebtn {
    font-size: 40px;
    background-color: transparent;
    border: none;
    color: white;
    top: 20px;
    right: 45px;
    width: 100px;
    height: 100px;
    position: absolute;
}

.closebtn img {
    width: 60%;
    height: 60%;
    top: 0;
    right: 0;
    margin: auto;
    transform: translate(25%, 25%);
}
.cbt {
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
}
.closebtnCart {
    padding-left: 30px;
    background-color: transparent;
    border: none;
    color: black;
    top: 0;
    right: 0;
    font-size: 60px;
    text-decoration: none;
}
.overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
}

.navicon {
    height: 130px;
    width: 130px;
    background-color: transparent;
    border: none;
}
.carticon {
    height: 130px;
    width: 130px;
    background-color: transparent;
    border: none;
    right: 5%;
    position: relative;
    display: inline-block;
}
.quantitybanner {
    position: absolute;
    top: 10px;
    text-shadow: none;
    right: 35px;
    color: white;
    background: red;
    padding: 2px 6px;
    border-radius: 10px;
    font-size: 17px;
}
.naviconcontainer {
    height: 20%;
    width: 20%;
    float: right;
    right: 2%;
    top: 3%;
    position: fixed;
    display: flex;
}

@media screen and (max-height: 450px) {
    .overlay a {font-size: 20px}
    .overlay .closebtn {
        font-size: 40px;
        top: 15px;
        right: 35px;
    }
}


.topnav a.icon {
    background: black;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
}


.topnav a:hover {
    background-color: #ddd;
    color: black;
}


.active {
    background-color: #04AA6D;
    color: white;
}

.highlight::before {
    transform: scaleX(0);
    transform-origin: bottom right;
}

.highlight:hover::before {
    transform: scaleX(1);
    transform-origin: bottom left;
}

.highlight::before {
    content: " ";
    display: block;
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0 0 0 0;
    background: hsl(200 100% 80%);
    border-radius: 15px;
    z-index: -1;
    transition: transform .3s ease;
}

.highlight {
    position: relative;
    margin: auto;
    text-align: center;
}


.highlightcontainer {
    box-sizing: border-box;
    display: grid;
    font-family: system-ui, sans-serif;
}

.infobutton {
    width: 20px;
    height: 20px;
    background-color: transparent;
    border-color: grey;
    border-style: solid;
    border-width: 1px;
    border-radius: 999px;
    text-align: center;
    margin: auto;
    cursor: help;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-family: Trebuchet MS;
    transition: background-color 0.2s ease;

}
.infobutton:hover {
    background-color: grey;
}

.infoboxspan {
    padding: 10px;
    margin: auto;
    display: block;
    text-align: center;
    opacity: 0;
    font-family: "Trebuchet MS";
    transition: opacity 0.4s ease;
}

.frameoverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.overlay-content {
    position: relative;
    top: 0;
}

.closeframe {
    position: absolute;
    font-size: 40px;
    color: white;
    cursor: pointer;
    top: 0;
    left: 1%;
}

.closeframe:hover {
    cursor: pointer;
}

.ytframe {
    margin: auto;
    border-radius: 20px;
    position: relative;
    top: 50%;

}

.flexbox {
    display: flex;
}
.padded {
    margin-left: 10px;
    margin-right: 10px;
}


