body {
    overflow-x: hidden;
}

:focus {
    outline: 0!important;
}

a:focus {
    color: #dd9923!important;
}

/* Header */
.slim-grey-banner-full {
    background-color: #363636;
}

.slim-grey-banner {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    padding: 10px 0;
    font-size: 14px;
}

.slim-grey-banner div {
    width: 100%;
}

.slim-grey-banner .header-location,
.slim-grey-banner .contact-options {
    font-weight: 600;
}

.slim-grey-banner .contact-options i,
.slim-grey-banner .header-location i {
    padding-right: 5px;
}

.slim-grey-banner .contact-options {
    text-align: right;
}

.slim-grey-banner .contact-options i {
    font-size: 16px;
}

.slim-grey-banner .contact-options a {
    color: #fff;
}

.slim-grey-banner .contact-options a#tel-number {
    padding-right: 20px;
}

.slim-grey-banner .contact-options a#tel-number:hover {
    text-decoration: none;
}

.slim-grey-banner .contact-options i.fa-user {
    padding-left: 20px;
}

.mainHeaderImage img {
    object-fit: cover;
}

.mainHeaderFull {
    background-color: rgba(0, 0, 0, 0.6);
    position: absolute;
    z-index: 997;
    width: 100%;
}

.mainHeader {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 15px 0;
}

.mainHeader div {
    width: 33%;
}

.mainLogoSection img {
    width: 50%;
    margin: auto;
    display: block;
    transition: all 0.3s ease-in-out;
}

.mainLogoSection img:hover {
    transform: scale(1.08);
}

.headerButtonsSection.mobile {
    display: none;
}

.headerButtonsSection {
    text-align: right;
}

.headerButton {
    border: 1px solid #fff;
    padding: 8px 15px;
    color: #fff;
    font-weight: 600;
    text-align: center;
}

.headerButton:hover {
    background-color: #fff;
    color: #343535;
}

.headerButton:hover {
    text-decoration: none;
}

.headerButton:first-of-type {
    margin-right: 15px;
}

/* Buttons */
.custom-button {
    display: block;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 8px 15px;
    width: max-content;
    margin: auto;
    transition: all 0.3s ease-in-out;
}

.custom-button.white {
    border: 1px solid #fff;
    color: #fff!important;
}

.custom-button.grey {
    border: 1px solid #343535;
    color: #343535!important;
}

.custom-button.red {
    border: 1px solid #D9534F;
    color: #D9534F!important;
    background-color: #fff;
}

.custom-button.light-blue {
    border: 1px solid #429ACC;
    color: #429ACC!important;
}

.custom-button:hover {
    transform: translateY(-5px);
}

/* Homepage */
.homepage-header-float-container {
    position: absolute!important;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    max-width: 1450px;
}

.homepage-header-float {
    max-width: 550px;
}

.homepage-header-float .top-section {
    background-color: #363636;
}

.homepage-header-float .top-section h1 {
    color: #fff!important;
    text-transform: uppercase;
    margin: 0;
    font-weight: bold;
}

.homepage-header-float .bottom-section {
    background-color: rgba(0, 0, 0, 0.6);
}

.homepage-header-float .bottom-section p {
    color: #fff;
    font-size: 16px;
}

.homepage-header-float .top-section,
.homepage-header-float .bottom-section {
    padding: 20px;
}

.homepageMainImage {
    position: relative;
}

/* Half Blocks */
.half-block-header {
    font-size: 24px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.half-block-header.light-blue {
    color: #429ACC;
}

.half-block-content {
    font-size: 14px;
    margin-bottom: 20px;
}

.half-block-content.white {
    color: #fff;
}

.half-block-content.light-blue {
    color: #429ACC;
}

.half-block .custom-button {
    margin: 0!important;
    margin-right: auto!important;
}

.half-block .elementor-widget-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.half-block.grey .elementor-widget {
    background-color: #363636;
    color: #fff;
}

.half-block.light-grey .elementor-widget {
    background-color: #DADADA;
    color: #363636;
}

.half-block.navy .elementor-widget {
    background-color: #15222E;
    color: #363636;
}

.half-block .elementor-widget-container {
    padding: 20px 40px;
}

.half-block .elementor-widget,
.half-block .elementor-widget-container {
    height: 100%;
}

.half-block-image img {
    max-height: 260px;
    height: 100%;
    object-fit: cover;
}

/* Custom Cards */
.custom-card img {
    height: 300px!important;
    object-fit: cover;
    width: 100%;
}

.custom-card .custom-card-content {
    position: relative;
    top: -50px;
    background-color: #fff;
    margin: 0 15px;
    padding: 15px;
    text-align: center;
    min-height: 220px;
    -webkit-box-shadow: 6px 8px 18px -3px rgba(0, 0, 0, 0.1); 
    box-shadow: 6px 8px 18px -3px rgba(0, 0, 0, 0.1);
}

.custom-card .custom-card-content h3 {
    text-transform: uppercase;
    margin: 15px 0;
    font-weight: bold;
}

.custom-card .custom-card-content p {
    margin-bottom: 35px;
}

/* Company Slider */
.company-slider {
    padding: 30px 0;
}

.company-slider .slick-dots  {
    top: 180px;
}

.single-company-slide {
    display: flex!important;
    height: 130px!important;
    align-items: center;
    justify-content: center;
}

.single-company-slide a img {
    max-width: 180px;
    max-height: 130px;
    margin: auto;
    object-fit: cover;
}

/* Testimonial Slider */
.testimonials-slider-container-full {
    padding: 40px;
    background-color: #D7D7D6;
    color: #343535;
}

.testimonials-slider .slick-track {
    display: flex;
    justify-content: center;
}

.single-testimonial-slide {
    text-align: center;
}

.testimonial-summary {
    font-weight: 700;
    margin-bottom: 25px;
}

.testimonial-quotation-mark {
    font-size: 48px;
    line-height: 48px;
}

.testimonial-content,
.testimonial-from-and-location {
    font-size: 14px;
}

.testimonial-from-and-location {
    margin-top: 30px;
}

.testimonials-slider .slick-dots {
    bottom: -33px;
}

.testimonials-slider .slick-next:before,
.testimonials-slider .slick-prev:before {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    font-size: 28px;
    color: #343535;
}

.testimonials-slider .slick-next:before {
    content: '\f30b';
}

.testimonials-slider .slick-prev:before {
    content: '\f30a';
}

/* Inner Pages Slider */
.inner-pages-slider {
    padding: 20px 0;
}

.inner-pages-slider img {
    height: 300px!important;
    object-fit: cover!important;
    padding: 5px;
    width: 100%;
}

.inner-pages-slider .slick-dots {
    bottom: -25px;
}

/* FAQs Accordion */
.page-id-461 .elementor-accordion-item .elementor-tab-title {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}

.page-id-461 .elementor-accordion-title {
    margin-right: 10px;
}

.page-id-461 .elementor-accordion-item {
    border: 0!important;
}

.elementor-widget-accordion .elementor-accordion-title {
    color: #363636!important;
    font-weight: 500!important;
}

.elementor-widget-accordion .elementor-active .elementor-accordion-title {
    color: #363636!important;
    font-weight: 600!important;
}

.page-id-461 .fas.fa-minus,
.page-id-461 .fas.fa-plus {
    color: #363636;
}

/* Top Up Your Card Contact Form */
.top-up-your-card-contact-form {
    padding: 15px 0;
}

.top-up-your-card-contact-form h3 {
    font-size: 24px; 
    font-weight: 700;
    color: #363636;
    text-align: center;
    text-transform: uppercase;
}

.top-up-your-card-contact-form label {
    width: 100%;
}

.top-up-your-card-contact-form input {
    border: 1px solid #363636;
    border-radius: 0;
    width: 100%;
    font-weight: 500;
}

.top-up-your-card-contact-form input:focus,
.top-up-your-card-contact-form textarea:focus {
    border-color: #363636;
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px rgb(255 255 255 / 60%);
}

.top-up-your-card-contact-form input::placeholder {
    color: #363636;
    font-weight: 500;
}

.top-up-your-card-contact-form .top-up-options-section {
    padding: 15px 0;
}

.top-up-your-card-contact-form .top-up-options-section .wpcf7-checkbox {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

.top-up-your-card-contact-form .wpcf7-list-item input {
    margin-right: 15px;
}

.top-up-your-card-contact-form .wpcf7-submit {
    width: max-content;
    background-color: #363636;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    margin: auto;
    padding: 8px 26px;
    text-transform: uppercase;
    display: block;
    transition: all 0.2s ease-in-out;
}

.top-up-your-card-contact-form .wpcf7-submit:hover {
    background-color: #fff;
    color: #363636;
    border: 1px solid #363636;
}

/* About Us Page */
.about-us-container .main-intro {
    font-size: 14px;
    color: #363636;
    padding: 30px 0;
}

.about-us-container .border {
    border-left: 1px solid #363636;
    position: relative;
}

.about-us-container .border::after {
    content: '';
    width: 70px;
    height: 1px;
    background-color: #363636;
    position: absolute;
    top: 15px;
    left: -35px;
}

.about-us-container .border::before {
    content: '';
    width: 15px;
    height: 15px;
    background-color: #363636;
    position: absolute;
    top: 7.5px;
    left: -7.5px;
    border-radius: 50%;
}

.about-us-container .timeline-section .section-title {
    font-size: 24px;
    color: #363636;
    font-weight: 700;
}

.about-us-container .timeline-section img {
    width: 60%;
    margin: auto;
    display: block;
}

.about-us-container .timeline-section {
    padding: 45px;
    padding-top: 0;
}

.about-us-contact-section,
.about-us-contact-section .col-sm-12 {
    padding: 0!important;
}

/* Footer Contact Form */
.contact-container-full {
    background-color: #343535;
    color: #fff;
    padding: 30px 15px;
}

.contact-container h3 {
    font-size: 24px;
    color: #fff!important;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
}

.contact-container p {
    margin-top: 15px;
}

.contact-container label {
    width: 100%;
}

.contact-container input,
.contact-container textarea {
    background-color: transparent;
    border-radius: 0;
    border: 1px solid #fff;
    color: #fff;
    font-weight: 500;
}

.contact-container input::placeholder,
.contact-container textarea::placeholder {
    color: #fff;
    font-weight: 400;
    font-size: 14px;
}

.contact-container input:focus,
.contact-container textarea:focus {
    border-color: #fff;
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px rgb(255 255 255 / 60%);
}

.contact-container input[type="submit"] {
    background-color: #fff;
    color: #343535;
    font-size: 14px;
    text-transform: uppercase;
    padding: 8px 28px;
    display: block;
    width: max-content;
    margin: 20px auto 0 auto;
    font-weight: 700;
    transition: all 0.2s ease-in-out;
}

.contact-container input[type="submit"]:hover {
    color: #fff;
    background-color: transparent;
}



.page-id-991 .contact-container-full {
    background-color: #fff!important;
    color: #343535!important;
}

.page-id-991 .contact-container h3 {
    color: #343535!important;
}

.page-id-991 .contact-container input,
.page-id-991 .contact-container textarea {
    border: 1px solid #343535!important;
    color: #343535!important;
}

.page-id-991 .contact-container input::placeholder,
.page-id-991 .contact-container textarea::placeholder {
    color: #343535!important;
}

.page-id-991 .contact-container input:focus,
.contact-container textarea:focus {
    border-color: #343535!important;
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px rgb(255 255 255 / 60%);
}

.page-id-991 .contact-container input[type="submit"] {
    background-color: #343535!important;
    color: #fff!important;
}

.page-id-991 .contact-container input[type="submit"]:hover {
    color: #343535!important;
}




.interested-in-row .wpcf7-checkbox {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

.interested-in-row input[type="checkbox"] {
    margin-right: 10px;
}

/* Products Overview Page */
.woocommerce-breadcrumb {
    margin-top: 20px!important;
}

.archive .productBorderWrapper{
    min-height: 225px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #F0F0F0;
    position: relative;
}

.archive .productBorderWrapper .woocommerce-loop-product__link {
    margin-bottom: 15px;
}

.archive .woocommerce-loop-product__title {
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    margin-top: 10px;
}

.archive .intro-text {
    font-size: 14px;
    color: #363636;
    padding: 30px 0;
}

.archive .woocommerce-ordering {
    display: none;
}

.archive-cat-title {
    color: #363636;
    font-weight: 700;
    text-transform: uppercase;
    margin: 30px 0;
}

.woocommerce div.product span.price {
    display: block!important;
    text-align: center!important;
    width: 100%!important;
}

.woocommerce div.product span.price bdi {
    font-size: 14px;
    font-weight: 700;
}

.addToCartBtn {
    width: 100%;
    background-color: #363636!important;
    color: #fff!important;
    font-size: 14px!important;
    font-weight: 700!important;
    text-transform: uppercase;
    text-align: center;
    border-radius: 0!important;
    position: absolute!important;
    bottom: 0!important;
    transition: all ease-in-out 0.2s;
}

.addToCartBtn:hover {
    bottom: 3px!important;
}

.archive.woocommerce img,
.archive.woocommerce-page img {
    max-width: 75%;
}

.cart-float {
    position: fixed!important;
    bottom: 0;
    right: 10px;
    color: #fff!important;
    font-weight: 500!important;
    margin: 20px;
    width: 85px;
    background-color: #363636;
    padding: 15px;
    border-radius: 4px;
    transition: all 0.2s ease-in-out;
}

.productBorderWrapper .cart-float:hover {
    transform: scale(1.03);
    text-decoration: none;
}

.cart-float .fa-shopping-cart {
    color: #fff;
    font-size: 26px;
}

.cart-float .cart-contents {
    position: absolute;
    top: 20px;
    right: 22px;
    text-align: center;
    color: #FFF;
    font-size: 14px;
    width: 8px;
}

.productBorderWrapper .added_to_cart {
    position: fixed!important;
    bottom: 10px;
    left: 10px;
    color: #fff!important;
    font-weight: 500!important;
    margin: 20px;
    width: 150px;
    text-align: center;
    background-color: #363636;
    padding: 15px;
    border-radius: 4px;
    transition: all 0.2s ease-in-out;
}

.productBorderWrapper .added_to_cart:hover {
    transform: scale(1.03);
    text-decoration: none;
}

.woocommerce a.added_to_cart {
    padding-top: 15px;
}

/* Single Product Page */
.single-product .productBorderWrapper{
    min-height: 225px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #F0F0F0;
    position: relative;
}

.single-product .productBorderWrapper .woocommerce-loop-product__link {
    margin-bottom: 15px;
}

.single-product .woocommerce-loop-product__title {
    text-align: center!important;
    font-weight: 700;
    font-size: 14px;
    margin-top: 10px;
}

.single-product .woocommerce-ordering {
    display: none;
}

.single-product div.product span.price {
    display: block!important;
    text-align: center!important;
    width: 100%!important;
}

.single-product div.product span.price bdi {
    font-size: 14px;
    font-weight: 700;
}

.product-template-default .woocommerce-Price-amount {
    float: unset!important;
}

.single_add_to_cart_button {
    background-color: #363636!important;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700!important;
    font-size: 14px!important;
    border-radius: 0!important;
    border: 1px solid #363636!important;
    transition: all ease-in-out 0.2s;
}

.single_add_to_cart_button:hover {
    background-color: #fff!important;
    color: #363636!important; 
}

.single-product .entry-summary h1,
.single-product .entry-summary .price bdi {
    font-weight: 600!important;
}

.single-product .entry-summary .price {
    margin-bottom: 20px;
}

.single-product .entry-summary .instock {
    margin: 0;
}

.single-product .sliderWrapper .col-md-3 {
    display: none;
}

.single-product .productSlide {
    text-align: center;
    border: 0;
}

.single-product .woocommerce-breadcrumb {
    margin-top: 20px;
}

.variations .label label {
    color: #000;
    line-height: 40px;
}

/* Cart and Checkout */
.woocommerce-cart .overview-post-content,
.woocommerce-cart .blog-read-more-button,
.woocommerce-checkout .overview-post-content,
.woocommerce-checkout .blog-read-more-button {
    display: none;
}

.page-id-495 .woocommerce-form-coupon-toggle {
    margin-top: 20px;
}

.page-id-495 .blog-main {
    font-size: 16px;
}

#coupon_code {
    width: 175px!important;
}

button.button[name="apply_coupon"], 
button.button[name="update_cart"] {
    font-size: 16px!important;
}

.shop_table th {
    font-size: 16px;
}

.woocommerce-cart .cart_item .product-name a {
    font-size: 16px;
}

.pageHeaderOverlay h1 {
    text-transform: uppercase;
}

.woocommerce-cart .pageHeaderSection {
    margin-bottom: 20px;
}

.woocommerce-cart .cart_item .product-name a {
    font-size: 16px;
    color: #363636;
}

.woocommerce-cart .checkout-button {
    background-color: #363636!important;
}

/* Shop Sidebar */
#menu-shop-sidebar-menu {
    padding: 0;
}

#menu-shop-sidebar-menu li a {
    font-size: 16px;
    color: #363636;
    line-height: 36px;
}

#menu-shop-sidebar-menu .bold-menu-item a {
    font-weight: 700;
}

#menu-shop-sidebar-menu .no-link-menu-item a:hover {
    text-decoration: none;
}

#menu-shop-sidebar-menu .bold-menu-item.menu-item-margin-top {
    margin-top: 20px;
}

/* Blog */
.blog-post-meta {
    display: none;
}

.single-post .blog-main {
    padding-top: 20px;
}

.blog .blog-post-title a {
    color: #363636;
    font-weight: 700;
    font-size: 26px;
}

.blog .blog-post-custom-loop img {
    float: left;
    margin-right: 30px;
    margin-top: 20px;
    border: 0!important;
}

.blog .blog-post-custom-loop {
    padding-top: 15px;
    border-bottom: 1px solid #C7C7C7;
}

.blog-read-more-button {
    display: block;
    margin: 0 auto 20px auto;
}

.blog-read-more-button:hover {
    text-decoration: none;
}

.single-post .overview-post-content {
    display: none;
}

.blog .single-post-content {
    display: none;
}

.single-post .blog-read-more-button {
    display: none;
}

/* Errors */
.error-title {    
    font-size: 82px;
    text-align: center;
    margin: 60px 0;
    color: #363636;
    font-weight: 700;
}

.error-text {
    font-size: 22px;
    text-align: center;
    color: #363636;
    padding-bottom: 20px;
}

/* Footer */
.blog-footer {
    background-color: #FAFAFA;
}

#footer-logo {
    width: 25%;
    padding-bottom: 20px;
}

.footer-items a,
.footer-items p {
    color: #000!important;
    font-size: 16px;
}

.footer-items a:hover {
    text-decoration: none;
}

.footer-items .social-icon {
    display: block;
}

.footer-items .social-icon img {
    max-width: 40px;
}

.footer-items .social-icon:not(:last-of-type) {
    margin-bottom: 15px;
}

/* Media Query for up to 751px */
@media screen and (max-width: 751px) {
    .mobile-flex-reversed .elementor-column-gap-narrow {
        flex-direction: column-reverse;
    }
}

/* Media Query for up to 768px */
@media screen and (max-width: 768px) {
    .mainLogoSection img {
        width: 100%;
    }

    .headerButton {
        width: max-content;
    }
    
    .blog-footer {
        padding-bottom: 0!important;
    }

    .about-us-container .timeline-section {
        margin: 0 30px;
    }    

    .about-us-container .timeline-section {
        border-left: 1px solid #363636;
        position: relative;
    }

    .about-us-container .timeline-section.no-image {
        display: none;
    }
    
    .about-us-container .timeline-section:first-of-type:before {
        content: '';
        width: 15px;
        height: 15px;
        background-color: #363636;
        position: absolute;
        top: 7.5px;
        left: -7.5px;
        border-radius: 50%;
    }

    .about-us-container .timeline-section.title-section::before {
        content: '';
        width: 15px;
        height: 15px;
        background-color: #363636;
        position: absolute;
        top: 7.5px;
        left: -7.5px;
        border-radius: 50%;
    }

    .about-us-container .border::after {
       display: none;
    }

    .about-us-container .timeline-section.image-sec::before {
        display: none;
    }

    .about-us-container .timeline-section.image-sec img:nth-child(1) {
        margin-bottom: 10px!important;
    }

    .about-us-container .timeline-section {
        text-align: left;
    }

    .image-map-section img {
        margin-bottom: 10px;
    }

    #footer-logo {
        width: 42%;
        padding-bottom: 20px;
    }
}

/* Media Query for up to 998px */
@media screen and (max-width: 998px) {
    .slim-grey-banner {
        flex-direction: column;
    }

    .mainLogoSection img {
        width: 80%;
    }

    .slim-grey-banner .contact-options {
        margin-top: 15px;
        text-align: center;
    }

    .headerButtonsSection {
        display: none;
    }

    .headerButtonsSection.mobile {
        display: block;
        text-align: center;
        margin-top: 20px;
        padding-bottom: 20px;
    }

    .homepage-header-float .top-section h1 {
        font-size: 32px;
    }

    .custom-card {
        margin: auto;
    }

    .half-block-image img {
        height: 260px!important;
    }

    .interested-in-row .wpcf7-checkbox {
        flex-direction: column;
    }

    .blog .blog-post-custom-loop img {
        float: unset;
        margin: auto;
        display: block;
        text-align: center;
    }

    .footer-items {
        margin-bottom: 20px!important;
    }

    .footer-items .social-icon {
        display: inline-block;
    }
}

#privacyPolicyModal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999999999;
    display: none;
    overflow: hidden;
    outline: 0;
}

@media (min-width: 768px) {
    .modal-dialog  {
        width: 550px!important;
    }
}

.footer-container {
    background-color: #FAFAFA;
    padding: 40px;
}

.embed-responsive iframe {
    height: 80%!important;
}


.blog-post-custom-loop:last-of-type {
    border-bottom: none;
}