﻿/*font-family: 'Noto Serif Display', serif;
    font-family: 'Raleway', sans-serif;
*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

:root {
    --lightest: rgba(255,255,255,0.9);
    --light: rgba(250,250,250,1);
    --lightgray: rgba(230,230,230,.9);
    --gray: rgba(125,125,125,.9);
    --darkest: rgba(0,0,0,.9);
    --accent: rgba(100,200,250,0.9)
}

*, *::after, *::before {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    /*    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;*/
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Poppins;
    font-size: 16px;
    line-height: 24px;
}

b, strong {
    font-weight: 600;
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -.5em;
}

sub {
    bottom: -.25em;
}

img {
    max-width: 100%;
    display: block;
    border: none;
    vertical-align: middle
}

a {
    text-decoration: none;
    color: var(--clr2)
}

    a:hover {
        text-decoration: none;
        color: #000
    }

    a:hover, a:focus {
        text-decoration: none;
    }

    a:focus {
        outline: 5px auto -webkit-focus-ring-color;
        outline-offset: -2px;
    }

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button {
    overflow: visible;
}

    button:hover {
    }

button, select {
    text-transform: none;
    cursor: pointer;
}

button, html input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer;
}

    button[disabled], html input[disabled] {
        cursor: default;
    }

    button::-moz-focus-inner, input::-moz-focus-inner {
        border: 0;
        padding: 0;
    }

input {
    line-height: normal;
}

    input[type=checkbox], input[type=radio] {
        box-sizing: border-box;
        padding: 0;
    }


textarea {
    overflow: auto;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td, th {
    padding: 0;
}

h1, h2, h3, h4, h5, h6, p {
    margin-bottom: 1rem
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: 0.75rem;
    font-weight: 600;
}

p {
    line-height: 1.5rem;
    font-size: 0.85rem
}


/* local */
.fake-box {min-height:5rem}
header {
    position: sticky;
    top: 0rem;
    background-color: rgba(255,255,255,0.98);
    z-index: 20;
    border-bottom: 1px solid var(--lightgray);
    box-shadow: 0 2px 8px var(--lightgray);
}
header .container {
    width:100%;
    max-width:unset;
    padding-inline:3rem
}
.container {
    max-width: 1100px;
    margin: 0 auto;
    padding-inline:2rem
}

.container-fluid {
    width: 100%;
    overflow: hidden
}


.nav-toggle {
    display: none
}

.nav-toggle-label {
    cursor: pointer;
    position: absolute;
    right: 1rem;
}

.nav-toggle-menu {
    position: absolute;
    bottom: 0rem;
    right: 1rem;
    transform: scale(1,0);
    transform-origin: bottom;
    transition: transform 0.2s ease-in-out;
    border-radius: 0.25rem;
    overflow: hidden;
}

    .nav-toggle-menu li {
        margin: 0;
        padding: 0;
        list-style: none
    }

        .nav-toggle-menu li a {
            color: var(--gray);
            display: block;
            padding: 0.35rem 1rem;
            background-color: var(--lightgray)
        }

            .nav-toggle-menu li a:hover {
                background-color: var(--lightest);
                color: var(--darkest)
            }

.nav-toggle:checked ~ .nav-toggle-menu {
    transform: scale(1,1);
    z-index: 10000;
}



footer {
    padding-block: 1rem;
    background: var(--lightgray);
    text-align: center;
    font-size: 0.8rem
}

.main-navigation {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem;
    align-items: center;
    position: relative
}

.logo a img {
    height: 70px
}

.nav ul {
    display: flex;
    flex-direction: row
}

    .nav ul li {
        list-style: none
    }

        .nav ul li a {
            padding: 1rem 1rem;
            color: var(--gray)
        }

            .nav ul li a:hover, .nav ul li a:focus {
                color: var(--accent)
            }

.main-nav-toggle {
    display: none
}

.main-nav-toggle-label {
    cursor: pointer;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    display: none
}

.main-nav-toggle-menu {
    transform: scale(1,1);
    transform-origin: top;
    transition: transform 0.2s ease-in-out;
    z-index: 10;
}

.main-nav-toggle:checked ~ .main-nav-toggle-menu {
    transform: scale(1,1);
}

.search-box {
    display: flex;
    align-items: center
}

    .search-box input {
        border: 1px solid var(--gray);
        outline: none;
        box-shadow: none;
        font-size: 0.85rem;
        padding: 0.25rem 0.5rem 0.25rem 1rem;
        border-radius: 1rem;
        margin-right: 0.51rem
    }

        .search-box input::placeholder {
            color: var(--gray)
        }

.search-button {
    color: var(--gray);
}

.curved-border1 {    border-end-start-radius: 15rem;}
.curved-border2 {
    border-end-end-radius: 15rem;
}
.curved-border3 {
    border-end-start-radius: 15rem;
}
.curved-border4 {
    border-end-start-radius: 15rem;
}

.bg-padding {
    padding: 4rem 0;
}

.bg-color0 {
    background-color: #fff;
}
.bg-color1 {
    background-color: #f7f4e6;
}
.bg-color2 {
    background-color: #C0E4F1
}
.bg-color3 {
    background-color: #ddc3b680;
}
.bg-color4 {
    background-color: #acd0c0;
}

.banner {
    position: relative;
    /* height: 100vh; */
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between
}

.banner-text {
  /*   position: absolute;
   top: 50%;
    left: 5%;
    transform: translateY(-50%)*/
  width:40%;
  text-align:center;
  
}

    .banner-text h1 {
        font-size: 5rem;
        font-weight: 300;
        line-height: 4rem;
        letter-spacing: 2px;
        color: var(--darkest);
        text-align:right
    }

    .banner-text h2 {
        font-size: 3rem;
        font-weight: 300;
        line-height: 2.8rem;
        color: var(--accent);
        margin-block: 0;
        text-align: right
    }

.banner-img {
    width:55%
    /*position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%)*/
}


main h1 {
    font-size: 4rem;
    font-weight: 300;
    color: var(--darkest);
    line-height: 4rem;
    text-align: center;
    text-transform: uppercase
}

.about, .products, .Operations, .contact {
    display: flex;
    align-items: center;
    min-height: 40vh
}

.Operations {
    flex-direction: column;
    min-height: 35vh
}
.Operations > div:first-child ul{
    display:flex

}
    .Operations > div:first-child ul li {
        margin: 0;
        padding: 0
    }
    .Operations > div {
        width: 100%
    }

.unit-wrapper {
    display: flex;
    justify-content: space-between;
    margin-block: 2rem
}

    .unit-wrapper div {
        min-width: 18%;
        text-align: center;
        background-color: var(--lightest);
        border-radius: 0.25rem;
        padding: 1rem 0.5rem;
        display: flex;
        flex-direction: column;
        transition: all 0.2s ease-in-out;
        border:1px solid var(--lightgray)
    }

        .unit-wrapper div:hover {
            box-shadow: 0 0 1rem var(--lightgray)
        }

        .unit-wrapper div h2 {
            border-bottom: 1px solid var(--lightgray);
            padding-bottom: 1rem;
            transition: all 0.2s ease;
            font-size:1.25rem
        }

        .unit-wrapper div:hover h2 {
            color: var(--accent)
        }

        .unit-wrapper div p {
            margin: 0rem
        }

.about > div, .products > div, .contact > div {
    width: 48%
}

.reverse {
    flex-direction: row-reverse
}

.products ul li {
    list-style: none;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    margin: 0 3rem 0 0;
    padding: 1.2rem;
    transition: all 0.2s ease-in-out;
    border-top: 1px solid var(--lightgray);
}

    .products ul li:last-child {
        border-bottom: 1px solid var(--lightgray);
    }

    .products ul li:hover {
        background-color: var(--light)
    }

    .products ul li span {
        cursor: pointer;
        display: block;
        width: max-content;
    }

    .products ul li a {
        visibility: hidden;
    }

    .products ul li:hover a {
        visibility: visible;
        color: #d00
    }

        .products ul li:hover a:hover {
            color: #c00
        }

blockquote {
    margin: 2rem 0 0;
    font-size: 1.3rem;
    color: var(--accent);
}

.contact-item-box {
    border-top: 1px solid var(--lightgray);
    padding: 1rem 0 1rem 1rem;
    display: flex;
    justify-content: flex-start;
    gap: 1rem;
    transition: all 0.2s ease-in-out;
}

    .contact-item-box:last-child {
        border-bottom: 1px solid var(--lightgray);
    }

    .contact-item-box h2, .contact-item-box p {
        margin-block: 0;
        transition: all 0.2s ease-in-out
    }

    .contact-item-box p {
        color: var(--darkest);
        font-size: 0.85rem
    }

    .contact-item-box i {
        font-size: 1.5rem;
        transition: all 0.2s ease-in-out
    }

    .contact-item-box:hover {
        background-color: var(--light)
    }

        .contact-item-box:hover p {
            color: var(--accent)
        }

.pull-right {
    float: right;
    margin-left: 1rem;
    margin-bottom: 2rem
}
.map {border-radius:5rem; 
      overflow:hidden;
      box-shadow:0 1rem 2rem rgba(100,100,100,0.25);
      border:2px solid var(--light)
}
/* ------------------------------- media ------------------------------------ */
@media (max-width: 1100px) {
    .banner {
         height: 70vh;
         width:90vw;  
         margin-inline:auto
    }
    .about > div:first-child, .products > div:first-child, .contact > div:first-child {
        width: 40%;
    }

    .about > div:last-child, .products > div:last-child, .contact > div:last-child {
        width: 60%;
        padding-right:2rem
    }
    .banner-text {
        width: 42%;
    }
        .banner-text h1 {
            font-size: 4.4rem;
            font-weight: 300;
            line-height: 3.8rem;
            letter-spacing: 1px;
            text-align:right
        }
        .banner-text h2 {
            font-size: 2.6rem;
            font-weight: 300;
            line-height: 2.8rem;
            color: var(--accent);
            margin-block: 0;
            text-align: right
        }
    .banner-img {
        width: 53% /*position: absolute; top: 50%; right: 5%; transform: translateY(-50%)*/;
    }
}
@media (max-width: 900px) {
    header .container {
        padding-inline: 1rem;
    }
    .banner-text h1 {
        font-size: 4.0rem;
    }
    .banner-text h2{
        font-size: 2.3rem;
    }
    .nav ul li a {
        padding: .75rem 0.5rem;
        color: var(--gray);
    }
}


    @media (max-width: 800px) {

        .banner {
            height: auto;
            width: 90vw;
            margin-inline: auto;
            flex-direction: column;
        }
        .banner-text {
            width: 100%;
        }
        .banner-img {
            width: 90%;
            padding-top:2rem
        }
        .banner-text h1 {
            font-size: 4.5rem;
            font-weight: 300;
            line-height: 3.8rem;
            letter-spacing: 1px;
            text-align: center;
        }
        .banner-text h2 {
            font-size: 2.8rem;
            font-weight: 300;
            line-height: 3rem;
            text-align: center;
        }

        .products ul li {
            margin: 0 0rem 0 0;
            padding: 1.2rem 0;
        }


        .about, .products, .Operations, .contact {
            justify-content: center;
            padding-inline: 0px
        }

            .about > div:first-child, .products > div:first-child, .contact > div:first-child {
                width: 35%;
            }

            .about > div:last-child, .products > div:last-child, .contact > div:last-child {
                width: 64%;
            }
        main h1 {
            font-size: 2.8rem;
        }
    }

    @media (max-width: 425px) {
        header .container {
            padding-inline: 0rem;
        }
        .container {
            padding-inline: 1rem;
        }
        main {padding-top:2rem}

        .nav ul {
            flex-direction: column;
            background-color: var(--light);
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 100vh;
            padding: 2rem;
            font-size: 1.25rem;
        }

            .nav ul li {
                border-bottom: 1px solid var(--lightgray)
            }

                .nav ul li:last-child {
                    border-bottom: none;
                }

                .nav ul li a {
                    color: var(--darkest);
                    display: block;
                }

                    .nav ul li a:hover, .nav ul li a:focus {
                        color: var(--accent)
                    }

        .main-nav-toggle-label {
            cursor: pointer;
            position: absolute;
            top: 50%;
            right: 1rem;
            display: block;
            transform: translateY(-50%);
            font-size: 1.5rem;
            z-index:50
        }

        .main-nav-toggle ~ .main-nav-toggle-label i:first-child {
            display:block
        }           
        .main-nav-toggle ~ .main-nav-toggle-label i:last-child {
            display:none
        }              
        .main-nav-toggle:checked ~ .main-nav-toggle-label i:first-child {
            display:none
        }           
        .main-nav-toggle:checked ~ .main-nav-toggle-label i:last-child {
            display:block
        }        
        .main-nav-toggle-menu {
            transform: scale(0,1);
            transform-origin: left;
            transition: transform 0.2s ease-in-out;
            z-index: 25;
        }

        .main-nav-toggle:checked ~ .main-nav-toggle-menu {
            transform: scale(1,1);
        }

        .main-navigation {
            display: flex;
            justify-content: unset;
            padding: 0.75rem;
            align-items: center;
            position: relative;
        }

        .logo {
            width: 25%
        }

        .search-box {
            display: block;
            position: absolute;
            bottom: -54px;
            left: 0px;
            right: 0px;
            background-color: var(--light);
            padding: .71rem
        }

        .search-text-box {
            width: 90%
        }

        .search-box div {
            display: flex;
            align-items: center;
        }

        .search-box input {
            border: 1px solid var(--gray);
            outline: none;
            box-shadow: none;
            font-size: 0.85rem;
            padding: 0.25rem 0.5rem 0.25rem 1rem;
            border-radius: 1rem;
            margin-right: 0.51rem
        }

            .search-box input::placeholder {
                color: var(--gray)
            }

        .search-button {
            color: var(--gray);
        }

        .bg-color-accent1 {
            padding: 4rem 0;
        }

        .bg-color-accent2 {
            padding: 4rem 0;
        }
        .banner-text h1 {
            font-size: 3.2rem;
            line-height: 3.0rem;
        }

        .banner-text h2 {
            font-size: 2.2rem;
            line-height: 2rem;
        }

        .about, .products, .Operations, .contact {
            flex-direction: column;

        }

            .about > div:first-child, .products > div:first-child, .contact > div:first-child {
                width: 100%;
            }

            .about > div:last-child, .products > div:last-child, .contact > div:last-child {
                width: 100%;
                padding-right: 0rem;
            }
        .curved-border {
            border-end-start-radius: 5rem;
        }
        footer div:nth-child(1){
        }
        footer div:nth-child(2){
            text-align:left;
            width:68vw;
            margin:0
        }
        .curved-border1 {
            border-end-start-radius: 5rem;
        }

        .curved-border2 {
            border-end-end-radius: 5rem;
        }

        .curved-border3 {
            border-end-start-radius: 5rem;
        }

        .curved-border4 {
            border-end-start-radius: 5rem;
        }
        .unit-wrapper {
            flex-direction: column;
            margin-block:1rem
        }
            .unit-wrapper div {
                border-radius: 0.25rem;
                padding: 1rem 1rem;
                margin-block:0.5rem
            }


    }

    @media (max-width: 320px) {
        .banner-text h1 {
            font-size: 2.8rem;
            line-height:2.5rem;
        }

        .banner-text h2 {
            font-size: 2rem;
            line-height: 2rem;
        }
        .products ul li {font-size:0.90rem
        }
    }
