/* Styling for the whole body */

html {
    scroll-behavior: smooth;
}

body {
    position: relative;
}

.black-overlay {
    background: rgba(0, 0, 0, 0.6);
}

.black-overlay-darker {
    background: rgba(0, 0, 0, 0.8);
}

.white-overlay {
    background: rgba(255, 255, 255, 0.6);
}

.nav-item > .menu-active {
    color: #00b950 !important;
}

.submenu-active {
    color: white !important;
}

.card {
    background-color: transparent;
    border: none;
}

.ovl {
    opacity: 0;
    transition: 1s ease-out;
    border: 5px solid white;
}
  
.ovl:hover {
    opacity: 1;
    background-color: #00b950;
}

/* Styling for the whole body */

/* ------------------------------------------------------------------------------------ */

/* Styling for the home page body */

#home-body-style, #about-body-style, #terms-body-style, #contact-page-body-style,
#vinyl-flooring-body-style, #synthetic-flooring-body-style, #athletic-track-body-style,
#wooden-flooring-body-style, #artificial-turf-body-style, #pp-tiles-body-style, #enquiry-body-style {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

#home-body-style {
    background-image: url("./../images/home-body-BG.jpg");
}

#about-body-style {
    background-image: url("./../images/about-body-BG.jpg");
}

#terms-body-style {
    background-image: url("./../images/terms-body-BG.jpg");
}

#contact-page-body-style {
    background-image: url("./../images/contact-page-body-BG.jpg");
}

#vinyl-flooring-body-style {
    background-image: url("./../images/vinyl-body-BG.jpg");
}

#synthetic-flooring-body-style {
    background-image: url("./../images/synthetic-body-BG.jpg");
}

#athletic-track-body-style {
    background-image: url("./../images/athletic-track-body-BG.jpg");
}

#wooden-flooring-body-style {
    background-image: url("./../images/wooden-body-BG.jpg");
}

#artificial-turf-body-style {
    background-image: url("./../images/artificial-turf-body-BG.jpg");
}

#pp-tiles-body-style {
    background-image: url("./../images/pp-tiles-body-BG.jpg");
}

#enquiry-body-style {
    background-image: url("./../images/enquiry-body-BG.jpg");
}

/* Styling for the home page body */

/* ------------------------------------------------------------------------------------ */

/* Navbar */

.navbar {
    font-family: 'Roboto Condensed', sans-serif;
    -webkit-box-shadow: 0px 2.5px 2.5px 0px rgba(121,115,115,0.4);
    -moz-box-shadow: 0px 2.5px 2.5px 0px rgba(121,115,115,0.4);
    box-shadow: 0px 2.5px 2.5px 0px rgba(121,115,115,0.25);
    background-color: #fff !important;
    padding-top: 0px;
    padding-bottom: 0px;
}

.navbar-collapse, .nav-link, .nav-item, .navbar, .img-responsive {
  z-index: 10;
}

.navbar-toggler-icon {
    width: 20px;
    height: 20px;
}

.logo {
    width: 270px;
    height: 80px;
}

.nav-link {
    color: rgba(85, 85, 85, 0.8) !important;
    text-shadow: 0.4px 0.4px 0.8px rgb(158, 158, 158, 0.8);
    transition: color 0.2s;
}

.nav-link:hover {
    color: #00b950 !important;
}

/* Navbar */

/* ------------------------------------------------------------------------------------ */

/* Intro */

/* Intro heading & paragraph */

.intro-container {
    margin-left: auto;
    margin-right: auto;
}

.intro-div {
    margin-top: 8em;
    margin-bottom: 5em;
    width: auto;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 2.5em;
}

.intro-heading {
    color: white;
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.5em;
}

.intro-para {
    color: white;
    line-height: 2.5em;
    text-align: justify;
    font-size: 0.9em;
}

/* Intro heading & paragraph */

/* Products */

.intro-products-container {
    padding-top: 2em;
    padding-bottom: 1em;
    margin-left: auto;
    margin-right: auto;
}

.intro-products-group {
    position: relative;
    text-align: center;
    margin-bottom: 2em;
}

.intro-products-image {
    border: 5px solid white;
}

.intro-products-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
}

/* Products */

/* Carousel */

.carousel-container {
    margin-left: 0;
    margin-right: 0;
    border-top: 7px solid white;
}

.carousel-div {
    padding: 5em 2em;
}

/* Carousel */

/* Intro */

/* ------------------------------------------------------------------------------------ */

/* About */

.about-container {
    margin-left: auto;
    margin-right: auto;
}

/* About heading & paragraphs */

.about-div {
    margin-top: 8em;
    margin-bottom: 5em;
    width: auto;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 2.5em;
}

.about-heading {
    color: white;
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.5em;
}

.about-para {
    color: white;
    line-height: 2.5em;
    text-align: justify;
    font-size: 0.9em;
}

/* About heading & paragraphs */

/* About text sections */

.about-sections {
    margin-bottom: 2.5rem;
}

.about-para-list {
    padding-left: 1.5em;
}

.about-para-points, .about-para-points-services {
    font-size: 1.1em;
}

.about-para-list-services > li {
    list-style-type: disc;
}

.about-services-subheading-consultant {
    margin-top: 1em;
}

/* About text sections */

/* About pics section */

.about-img-div {
    margin-top: 8em;
    margin-bottom: 5em;
    margin-left: auto;
    margin-right: auto;
    padding: 0 0 0 3.5em;
}

.about-img-group {
    margin-top: 1em;
    margin-bottom: 2em;
}

.about-img {
    border: 5px solid white;
}

.about-img-group, .about-small-imgs-div {
    margin-left: 0;
    margin-right: 0;
}

.about-img-five, .about-img-six {
    margin-left: auto;
    margin-right: auto;
}

/* About pics section */

/* About clients */

.about-clients-div {
    width: auto;
    margin-top: 5em;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 2.5em;
    background-color: white;
}

.about-clients-heading {
    margin-top: 1em;
    margin-bottom: 1em;
    color: #263C6B;
    text-align: center;
}

.about-clients-container {
    margin-top: 3em;
}

.clients-group {
    margin-top: 1em;
    margin-bottom: 1em;
    text-align: center;
}

.clients-img {
    width: 10em;
    height: auto;
    margin-top: auto;
    margin-bottom: auto;
}

/* About clients */

/* About */

/* ------------------------------------------------------------------------------------ */

/* Products */

/* Common for all products */

/* Products Menu */

.products-menu {
    margin-top: 90px;
}

.products-menu-container {
    padding-top: 1em;
    padding-bottom: 1em;
    margin-left: auto;
    margin-right: auto;
}

.products-menu-list {
    font-family: 'Roboto Condensed', sans-serif;
    padding-left: 0px;
    margin-bottom: 0px;
    margin-left: auto;
    margin-right: auto;
}

.products-menu-list > li {
    list-style-type: none;
}

.products-menu-points {
    margin-left: 1em;
    margin-right: 1em;
}

.products-menu-link {
    color: #00b950;
    text-decoration: none;
    font-size: 0.9em;
    transition: color 0.2s;
}

.products-menu-link:hover {
    color: white;
    text-decoration: none;
}

/* Products Menu */

/* Products Main */

.products-main-container, .products-main-heading-div {
    margin-left: auto;
    margin-right: auto;
}

.products-main-div {
    margin-top: 1.5em;
    margin-bottom: 5em;
    width: auto;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 1.5em 2.5em;
}

.products-main-heading {
    color: white;
    font-weight: bold;
    padding: 0.5em;
    line-height: 60px;
    margin-bottom: 0px;
}

.products-main-image-div {
    margin-top: 2em;
    margin-bottom: 2em;
    padding-left: 0px;
    padding-right: 0px;
}

.products-main-image {
    border: 5px solid white;
}

/* Products Main */

/* Products Sports */

.products-sports-images-div {
    margin-left: auto;
    margin-right: auto;
}

.products-sports-group {
    position: relative;
    text-align: center;
    margin-bottom: 2em;
}

.products-sports-image {
    border: 5px solid white;
}

.products-sports-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
}

/* Products Sports */

/* Products Videos */

.products-video-div {
    padding-top: 3em;
    padding-bottom: 3em;
    border-top: 7px solid white;
}

.products-athletic-video-container {
    margin-top: 1em;
    margin-bottom: 3em;
}

/* Products Videos */

/* Common for all products */

/* Products */

/* ------------------------------------------------------------------------------------ */

/* Gallery */

.gallery-div {
    margin-top: 5.3em;
}

.gallery-row {
    display: flex;
    flex-wrap: wrap;
    padding-top: 0.5em 0.5em;
}
  
.gallery-column {
    flex: 25%;
    max-width: 33.3%;
    padding: 0.5em 0.5em;
}
  
.gallery-column img {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    vertical-align: middle;
    width: 100%;
    border-radius: 5px;
    cursor: pointer;
    transition: 0.3s linear;
}

.gallery-column img:hover {
    transform: scale(1.03);
}

@media screen and (max-width: 600px) {
    .gallery-column {
        flex: 100%;
        max-width: 100%;
    }
}

@media screen and (min-width: 601px) and (max-width: 991px) {
    .gallery-column {
        flex: 33.3%;
        max-width: 33.3%;
    }
}

/* Gallery */

/* ------------------------------------------------------------------------------------ */

/* Terms & Conditions */

.terms-container {
    margin-left: auto;
    margin-right: auto;
}

.terms-div {
    margin-top: 8em;
    margin-bottom: 5em;
    width: auto;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 2.5em;
}

.terms-heading {
    color: white;
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.5em;
}

.terms-list {
    padding: 1em;
}

.terms-list-points {
    color: white;
    font-size: 0.9em;
    line-height: 2.5em;
}

.terms-unordered {
    font-size: 1em;
}

/* Terms & Conditions */

/* ------------------------------------------------------------------------------------ */

/* Enquiry */

.enquiry-container, .enquiry-div {
    margin-left: auto;
    margin-right: auto;
}

.enquiry-container {
    margin-top: 5.2em;
    margin-bottom: 3em;
    width: auto;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 1em;
    text-align: center;
}

.enquiry-div {
    padding: 2em;
}

.enquiry-heading {
    color: white;
    margin-bottom: 0.7em;
    text-align: left;
    line-height: 60px;
}

.enquiry-btn-div {
    text-align: left;
}

.enquiry-btn {
    padding: 0.5em 1em;
    border-radius: 0;
    border: 3px solid #289D41;
    transition: background-color 0.3s ease-in-out;
}

.enquiry-btn:hover {
    background-color: transparent;
}

/* Enquiry */

/* Enquiry success, Enquiry failure */

.enquiry-failure-container, .enquiry-failure-div,
.enquiry-success-container, .enquiry-success-div {
    margin-left: auto;
    margin-right: auto;
}

.enquiry-failure-container, .enquiry-success-container {
    margin-top: 9em;
    margin-bottom: 6em;
    width: auto;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 1em;
    text-align: center;
}

.enquiry-failure-div, .enquiry-success-div {
    padding: 2em;
}

.enquiry-failure-message, .enquiry-success-message {
    color: white;
}

/* Enquiry success, Enquiry failure */

/* ------------------------------------------------------------------------------------ */

/* Contact Page */

.contact-page-container, .contact-page-div {
    margin-left: auto;
    margin-right: auto;
}

.contact-page-div {
    margin-top: 8em;
    margin-bottom: 5em;
    width: auto;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 2.5em;
    text-align: center;
}

.contact-page-heading {
    color: white;
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.5em;
}

.contact-page-para {
    color: white;
    line-height: 2.5em;
    text-align: justify;
    font-size: 0.9em;
}

.contact-page-enquire, .contact-page-enquire:hover,
.contact-page-phone, .contact-page-phone:hover,
.contact-page-email, .contact-page-email:hover {
    color: #00b950;
    font-weight: bold;
    font-size: 1.1em;
    text-decoration: none;
}

/* Contact Page */

/* ------------------------------------------------------------------------------------ */

/* Contact */

.contact-div {
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0px 0px 0px 0px;
    padding-top: 3em;
    padding-bottom: 3em;
    border-top: 7px solid white;
}

.contact-group {
    margin-bottom: 1rem;
}

.contact-headers, .contact-details, .address {
    color: white;
    font-size: 12px;
}

.contact-headers {
    font-size: 14px;
    margin-bottom: 1.3em;
    font-weight: bold;
}

.contact-details:hover, .address:hover {
    text-decoration: none;
    color: white;
}

/* Contact */

/* ------------------------------------------------------------------------------------ */

/* Privacy Statement */

.privacy-div {
    background-color: #00b950;
    position: absolute;
    bottom: 0px;
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
}

.privacy-para {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    color: white;
    font-size: 11px;
}

/* Privacy Statement */

/* ------------------------------------------------------------------------------------ */

/* Media queries */

/* For small screens */

@media screen and (max-width: 575px) {
    .logo {
        width: 210px;
        height: 70px;
    }

    .intro-heading, .about-heading, .terms-heading, .contact-page-heading {
        font-size: 1.9em;
    }

    .contact-div, .intro-para, .about-div, .about-para, .contact-page-para {
        text-align: left;
    }

    .products-menu {
        margin-top: 80px;
    }

    .products-menu-points {
        padding-top: 0.5em;
        padding-bottom: 0.5em;
        text-align: center;
    }

    .enquiry-firstname-div {
        margin-bottom: 1em;
    }
}

@media screen and (min-width: 576px) {
    .products-menu-list {
        display: flex;
        flex-direction: row;
    }
}

@media screen and (min-width: 576px) and (max-width: 767px) {
    .products-menu-container {
        margin-left: 10px;
        margin-right: 10px;
    }

    .contact-page-para {
        text-align: left;
    }
}

@media screen and (max-width: 991px) {
    .about-div {
        margin-bottom: 2.5em;
    }

    .about-img-div {
        margin-top: 0.1em;
        padding: 0.5em;
    }

    .contact-page-para {
        text-align: left;
    }
}