*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
:root{
    --col01: rgb(30, 30, 30);
    --col02: aliceblue;
    --col03: rgb(20, 150, 100);
    --col03b: rgb(100, 250, 200);
    --col04: rgb(250, 125, 20);
    --col04b: rgb(250, 250, 20);
    --col05: rgb(250, 0, 50);
    --col05b: rgb(250, 100, 150);

    --alp01a: rgba(255, 255, 255, 0.75);
    --alp01b: rgba(255, 255, 255, 0.5);
    --alp01c: rgba(255, 255, 255, 0.25);
    --alp02a: rgba(0, 0, 0, 0.75);
    --alp02b: rgba(0, 0, 0, 0.5);
    --alp02c: rgba(0, 0, 0, 0.25);

    --bgr01: linear-gradient(to top right,
            var(--alp01c),
            var(--alp01b),
            var(--alp01a),
            var(--alp01b),
            var(--alp01c)
    );
    --bgr02: linear-gradient(to top right,
            var(--col05),
            var(--col05b)
    );
    --bgr03: url('../assets/images/Top-layout-2000-500.png') top left no-repeat,
            url('../assets/images/Bottom-layout-2000-500.png') bottom right no-repeat;

    --bod01: medium groove var(--alp01b);
    --bod01s: thin groove var(--alp01a);
    --bod02: medium groove var(--col03);
    --bod03s: thin groove var(--alp02c);

    --shd01: 1px 1px 2px var(--col01);
}
/* main styles */
body{
    width: 100%;
    min-height: 100vh;
    overflow-x: hidden;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    background-color: var(--col02);
    color: var(--col01);
}
h1, h2{
    text-transform: uppercase;
}
img, video{
    width: 100%;
    height: auto;
}
li{
    list-style: none;
}
li a{
    text-decoration: none;
}

/* header */
.header{
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: end;
}
.nav-header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    padding: 2.5vh;
    border: var(--bod01);
    border-radius: 0 0 1em 1em;
    background: var(--bgr01);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    z-index: 11;
}
@keyframes logcon {
    84.29%{
        background-color: rgba(255, 255, 255, 0);
        border: thin groove rgba(0, 0, 0, 0);
    }
    84.3%{
        border: thin groove var(--alp01a);
        background-color: rgba(255, 255, 255, 0.5);
    }
}
.logo_a{
    padding: 0.5vh;
    border: thin groove rgba(0, 0, 0, 0);
    border-radius: 0.5em;
    background-color: rgba(255, 255, 255, 0);
    display: flex;
    justify-content: center;
    align-items: center;
    animation: logcon 6s;
}
@keyframes log {
    0%{
        transform: translate(-100vw, 0);
    }
    84.39%{
        transform: translate(-100vw, 0);
    }
    84.4%{
        transform: translate(0);
    }
    100%{
        transform: translate(0);
    }
}
.logo_a img{
    height: 10vh;
    width: auto;
    animation: log 6s;
}
/* language selector */
.language_field{
    padding: 0.5vh;
    border: none;
    text-align: center;
    flex-basis: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.language_field legend{
    padding: 0 2vw;
    font-size: 0.75rem;
}
.language_field select{
    border: var(--bod01);
    background-color: var(--alp01b);
    font-weight: bolder;
    text-align: center;
    width: 100%;
    height: 100%;
}
.language_field option{
    background-color: var(--alp01b);
}
/* contact button */
.contact_button{
    flex-basis: 25%;
    display: none;
    justify-content: center;
    align-items: center;
    flex-grow: 0;
    flex-shrink: 1;
}
.contact_button a{
    padding: 2vh;
    border: var(--bod01);
    border-radius: 0.5em;
    background-color: var(--col03);
    color: var(--col02);
    text-align: center;
    text-decoration: none;
    display: block;
}
.contact_button a:hover, .contact_button a:focus{
    border: var(--bod02);
    background-color: var(--col03b);
    color: var(--col03);
    text-shadow: var(--shd01);
}
/* nav bar */
.nav_list_b, .footer_list{
    margin: 1vh 0;
    padding: 1vh;
    border-radius: 0.5em;
    background-color: var(--alp02b);
    font-size: 0.95rem;
    flex-basis: 100%;
    display: none;
    justify-content: space-evenly;
}
.nav_list_b li, .footer_list li{
    position: relative;
}
.nav_list_b a, .footer_list a{
    display: block;
    padding: 0 1vw;
    color: var(--col02);
    font-weight: bolder;
    font-style: italic;
    transition: all 0.25s;
}
.nav_list_b a:hover, .nav_list_b a:focus,
.footer_list a:hover, .footer_list a:focus{
    color: var(--col04);
    transition: all 1s;
}
.nav_list_b a::before, .nav_list_b a::before,
.footer_list a::before, .footer_list a::before,
.nav_list_b a::after, .nav_list_b a::after,
.footer_list a::after, .footer_list a::after{
    content: "-";
    position: absolute;
    top: 0;
    border: thin groove transparent;
    background-color: transparent;
    border-radius: 0.5em;
    color: transparent;
    transform: scale(1, 0.3);
}
.nav_list_b a::before, .nav_list_b a::before,
.footer_list a::before, .footer_list a::before{
    left: 50%;
}
.nav_list_b a::after, .nav_list_b a::after,
.footer_list a::after, .footer_list a::after{
    right: 50%;
}
@keyframes navb1 {
    0%{
        top: -1.5vh;
        left: 45%;
        transform-origin: left;
        transform: scale(1, 0.3);
    }
    25%{
        transform: scale(4, 0.3);
    }
    30%{
        top: -1.5vh;
        transform-origin: left;
    }
    40%{
        left: 0;
        transform: scale(1, 0.3);
    }
    50%{
        top: 0vh;
        left: 0;
    }
    60%{
        left: 0;
        transform: scale(1, 0.3);
    }
    70%{
        top: 1.5vh;
        transform-origin: right;
    }
    85%{
        transform: scale(4, 0.3);
    }
    100%{
        transform-origin: right;
        left: 45%;
        top: 1.5vh;
        transform: scale(1, 0.3);
    }
}
@keyframes navb2 {
    0%{
        top: -1.5vh;
        right: 45%;
        transform-origin: right;
        transform: scale(1, 0.3);
    }
    25%{
        transform: scale(4, 0.3);
    }
    30%{
        top: -1.5vh;
        transform-origin: right;
    }
    40%{
        right: 0;
        transform: scale(1, 0.3);
    }
    50%{
        top: 0vh;
        right: 0;
    }
    60%{
        right: 0;
        transform: scale(1, 0.3);
    }
    70%{
        top: 1.5vh;
        transform-origin: left;
    }
    85%{
        transform: scale(4, 0.3);
    }
    100%{
        transform-origin: left;
        right: 45%;
        top: 1.5vh;
        transform: scale(1, 0.3);
    }
}
.nav_list_b a:hover::before, .nav_list_b a:focus::before,
.footer_list a:hover::before, .footer_list a:focus::before,
.nav_list_b a:hover::after, .nav_list_b a:focus::after,
.footer_list a:hover::after, .footer_list a:focus::after{
    border: thin groove var(--alp02c);
    background-color: var(--col04);
    transition: all 1s;
}
.nav_list_b a:hover::before, .nav_list_b a:focus::before,
.footer_list a:hover::before, .footer_list a:focus::before{
    animation: navb1 2s ease infinite;
}
.nav_list_b a:hover::after, .nav_list_b a:focus::after,
.footer_list a:hover::after, .footer_list a:focus::after{
    animation: navb2 2s ease infinite;
}
/* mobile nav */
.dnull{
    flex-basis: 30%;
    width: auto;
    height: 10vh;
}
.menu{
    position: absolute;
    top: 0;
    right: 0;
    width: 75%;
    flex-basis: 100%;
    z-index: 10;
}
.menusvg{
    position: absolute;
    top: 2vh;
    right: 2vw;
    flex-basis: 10vw;
    width: auto;
    height: 10vh;
    stroke: var(--col01);
    stroke-width: 0.25px;
}
.svgb{
    fill: var(--col04);
}
.svgp{
    fill: var(--col03);
}
.nav_list{
    position: absolute;
    top: 20vh;
    right: 0;
    width: 100%;
    padding: 2.5vh;
    border: var(--bod01);
    border-radius: 0.5em 0 0 0.5em;
    background-color: var(--alp01a);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    background: var(--bgr01);
    text-align: center;
    transform: translateX(100vw);
    transition: all 0.5s;
}
.menusvg:focus, .menusvg:hover{
    cursor: pointer;
}
.menusvg:active{
    padding: 0.5vh;
    border: var(--bod01s);
    border-radius: 0.5em 0 0.5em 0;
}
.menu:focus .nav_list{
    transform: translateX(0);
    transition: all 1s;
}
.nav_list p{
    color: var(--alp02b);
}
.nav_list li{
    margin: 3vh 0;
}
@keyframes exi {
    0%{
        color: var(--alp02b);
    }
    12.5%{
        color: red;
    }
    25%{
        color: var(--alp02b);
    }
    37.5%{
        color: red;
    }
    50%{
        color: var(--alp02b);
    }
    62.5%{
        color: red;
    }
    75%{
        color: var(--alp02b);
    }
    87.5%{
        color: red;
    }
}
.nav_list a{
    display: block;
    padding: 1vh;
    border-top: var(--bod03s);
    border-bottom: var(--bod03s);
    background-color: var(--alp02a);
    font-weight: bolder;
    color: var(--col03);
}
.nav_list a:hover, .nav_list a:focus{
    background-color: var(--alp02b);
    color: var(--col03b);
    text-shadow: var(--shd01);
}
/* animated logo */
@keyframes lrall {
    0%{
        transform: translate(0, 0);
        top: 40vh;
        left: 2vw;
    }
    85%{
        transform: translate(0, 0);
        top: 40vh;
        left: 2vw;
    }
    99.99%{
        transform: translate(0);
        top: 4vh;
        left: 4.5vw;
    }
}
.animlogo{
    padding: 2vh;
}
.logo_trans{
    position: absolute;
    top: 5vh;
    left: 7vw;
    width: 100%;
    transform: translate(-100vh, 0);
    animation: lrall 5s;
    z-index: 11;
}
@keyframes rrall {
    0%{
        transform: scale(1);
    }
    85%{
        transform: scale(1);
    }
    99.99%{
        transform: scale(0.25);
    }
}
.logo_scale{
    position: relative;
    transform-origin: left top;
    transform: scale(.38);
    animation: rrall 5s;
}
.lr-pos{
    position: absolute;
    top: 0vh;
    left: 0;
    width: 95%;
    display: flex;
    justify-content: center;
    align-items: end;
    gap: 5vh;
}
.l-pos{
    position: relative;
    left: 0;
    width: 59%;
}
.r-pos{
    position: relative;
    width: 38%;
}
.l-lm, .l-rm, .l-c, .l-v{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
@keyframes llm {
    0%{
        transform: translate(-50vw, 0);
    }
    40%{
        transform: translate(0);
    }
}
.l-lm{
    animation: llm 5s linear;
}
@keyframes lrm {
    0%{
        transform: translate(0vw, 100vh);
    }
    40%{
        transform: translate(0);
    }
}
.l-rm{
    animation: lrm 5s linear;
}
@keyframes lc {
    0%{
        transform: translate(100vw, -2vh);
    }
    50%{
        transform: translate(0vw, -2vh);
    }
}
.l-c{
    transform: translate(0vw, -2vh);
    animation: lc 5s linear;
}
@keyframes lc2 {
    0%{
        transform: translate(-100vw, -2vh);
    }
    49.99%{
        transform: translate(-100vw, -2vh);
    }
    50%{
        transform: translate(0vw, -2vh);
    }
}
.l-c2{
    transform: translate(0vw, -2vh);
    animation: lc2 5s linear;
}
@keyframes rc {
    0%{
        transform: rotateZ(720deg);
    }
    50%{
        transform: rotateZ(0);
    }
}
.r-c{
    animation: rc 5s linear;
}
@keyframes lv {
    0%{
        transform: translate(0vw, -100vh);
    }
    50%{
        transform: translate(0vw, 20vh);
    }
    55%{
        transform: translate(0vw, 0vh);
    }
}
.l-v{
    transform: translate(0vw, 0vh);
    animation: lv 5s linear;
}
@keyframes rv {
    0%{
        transform: rotateZ(0);
    }
    45%{
        transform: rotateZ(0);
    }
    50%{
        transform: rotateZ(20deg);
    }
    55%{
        transform: rotateZ(0);
    }
}
.r-v{
    transform-origin: bottom;
    animation: rv 5s linear;
}
.makers, .valley, .collective{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
@keyframes mak {
    0%{
        transform: translate(0, -150vh);
    }
    55%{
        transform: translate(0, -150vh);
    }
    75%{
        transform: translate(0);
    }
}
.makers{
    animation: mak 5s linear;
}
@keyframes val {
    0%{
        transform: translate(150vw, 0vh);
    }
    55%{
        transform: translate(150vw, 0vh);
    }
    75%{
        transform: translate(0);
    }
}
.valley{
    animation: val 5s linear;
}
@keyframes cole {
    0%{
        transform: translate(50vw, 150vh);
    }
    55%{
        transform: translate(0vw, 150vh);
    }
    75%{
        transform: translate(0);
    }
}
.collective{
    animation: cole 5s linear;
}
/* hero */
.hero{
    position: absolute;
    top: 0;
    left: 0;
    background-color: black;
    width: 100vw;
    flex-basis: 100vw;
    height: 100vh;
    overflow: hidden;
    z-index: 1;
}
@keyframes heros {
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(-100%);
    }
}
.hero-sa{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1000vw;
    animation: heros 100s steps(10) infinite;
}
@keyframes hs1 {
    0%{
        background-position: left top;
    }
    100%{
        background-position: right bottom;
    }
}
.hero-s1{
    background: url(../assets/images/hr0.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    width: 100vw;
    flex-basis: 100vw;
    height: 100vh;
    animation: hs1 10s linear infinite;
}
@keyframes hs2 {
    0%{
        background-position: right bottom;
    }
    100%{
        background-position: left top;
    }
}
.hero-s2{
    background: url(../assets/images/hr09.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    width: 100vw;
    flex-basis: 100vw;
    height: 100vh;
    animation: hs2 10s linear infinite;
}
.hero-s3{
    background: url(../assets/images/hr01.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    width: 100vw;
    flex-basis: 100vw;
    height: 100vh;
    animation: hs1 10s linear infinite;
}
.hero-s4{
    background: url(../assets/images/hr02.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    width: 100vw;
    flex-basis: 100vw;
    height: 100vh;
    animation: hs2 10s linear infinite;
}
.hero-s5{
    background: url(../assets/images/hr03.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    width: 100vw;
    flex-basis: 100vw;
    height: 100vh;
    animation: hs1 10s linear infinite;
}
.hero-s6{
    background: url(../assets/images/hr07.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    width: 100vw;
    flex-basis: 100vw;
    height: 100vh;
    animation: hs2 10s linear infinite;
}
.hero-s7{
    background: url(../assets/images/hr05.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    width: 100vw;
    flex-basis: 100vw;
    height: 100vh;
    animation: hs1 10s linear infinite;
}
.hero-s8{
    background: url(../assets/images/hr06.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    width: 100vw;
    flex-basis: 100vw;
    height: 100vh;
    animation: hs2 10s linear infinite;
}
.hero-s9{
    background: url(../assets/images/hr04.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    width: 100vw;
    flex-basis: 100vw;
    height: 100vh;
    animation: hs1 10s linear infinite;
}
.hero-s10{
    background: url(../assets/images/hr08.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    width: 100vw;
    flex-basis: 100vw;
    height: 100vh;
    animation: hs2 10s linear infinite;
}
/* heading */
@keyframes headz {
    0%{
        transform: translateY(200vh);
    }
    60%{
        transform: translateY(200vh);
    }
    100%{
        transform: translateY(0);
    }
}
.heading{
    text-align: center;
    text-shadow: 2px 2px 5px black;
    z-index: 1;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.heading h1{
    text-transform: uppercase;
    width: 100%;
    font-size: 10vw;
    -webkit-text-stroke: thin var(--col02);
    color: var(--col03);
    animation: heaz 5s;
}
.heading h2{
    text-transform: capitalize;
    color: var(--col02);
    width: 100%;
    font-size: 8vw;
    animation: heaz 5s;
}
.stbt{
    margin-bottom: 10vh;
    padding: 1vh;
    border: var(--bod01s);
    border-radius: 0.5em;
    background-color: var(--alp01b);
    background: var(--bgr01);
    font-weight: bolder;
    text-decoration: none;
    text-align: center;
    color: var(--col01);
    z-index: 4;
}

/* form cache */
.formtop{
    padding: 1vh;
    border: thin groove var(--alp01b);
    border-radius: 0.5em;
    background-color: var(--alp01a);
    background: var(--bgr01);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    position: absolute;
    bottom: 1vh;
    left: 10vw;
    width: 80%;
    z-index: 4;
}
.formtop h3{
    padding: 1vh;
    border: thin groove var(--alp01b);
    border-radius: 0.5em;
    background-color: red;
    color: var(--col02);
    text-align: center;
}
.formtop fieldset{
    margin: 0.5vh 0;
    padding: 0.5vh;
}
.formtop input, .formtop textarea{
    margin: 1vh 0;
    width: 100%;
}
.formtop input{
    text-align: center;
}
.divbut{
    display: flex;
    justify-content: space-evenly;
}
.bclose, .bclose2{
    padding: 0.5vh;
    border:  thin groove var(--alp01b);
    border-radius: 0.25em;
    text-decoration: none;
    font-size: 1rem;
    font-weight: bolder;
    color: var(--col02);
}
.bclose{
    background-color: navy;
}
.bclose:hover, .bclose:focus{
    cursor: pointer;
    background-color: slateblue;
    color: blue;
    text-shadow: 1px 1px 1px var(--col01);
}
.bclose2{
    background-color: red;
}
.bclose2:hover, .bclose2:focus{
    background-color: tomato;
    color: red;
    text-shadow: 1px 1px 1px var(--col01);
}
.lilfield fieldset{
    display: flex;
    justify-content: space-evenly;
}
.lilfield fieldset input{
    width: 45%;
    flex-basis: 45%;
}
.toreg{
    display: block;
    margin: 2vh 0;
    padding: 0.5vh;
    border:  thin groove var(--alp01b);
    border-radius: 0.25em;
    background-color: navy;
    text-decoration: none;
    text-align: center;
    font-size: 1rem;
    font-weight: bolder;
    color: var(--col02);
    z-index: 6;
    width: 30vw;
}

.heading .form-details{
    margin: 2vh 0;
    padding: 2vh;
    border-radius: 0.5em;
    background-color: var(--col01);
    color: var(--col02);
    text-align: left;
    width: 80%;
}
.form-details h3{
    padding: 1vh;
    background-color: var(--col03);
}
.form-details p{
    margin: 1vh 0;
}
.heading form, .form-details form{
    display: flex;
    justify-content: center;
    align-items: center;
}
.button-reset{
    width: 30%;
    background-color: navy;
    color: var(--col02);
}
.button-reset:hover, .button-reset:focus{
    background-color: slateblue;
    color: navy;
    text-shadow: 1px 1px 1px var(--col01);
}

/* main */
.mainbody{
    padding: 2vh;
}
.main{
    position: relative;
    border-radius: 0.5em;
}
.about, .services, .products, .team, .success, .contacts{
    padding: 5vh;
}
.mainbody h2{
    margin: 2vh 0;
    padding: 2vh;
    border: var(--bod03s);
    background-color: var(--col03);
    text-align: center;
    text-transform: uppercase;
    font-family: Verdana, sans-serif;
    flex-basis: 100%;
    width: 100%;
    font-size: 5vw;
    color: var(--col02);
    -webkit-text-stroke: thin var(--col01);
}
.about img, .services img, .products img{
    border-radius: 0.5em;
}
.main video{
    border: medium groove var(--col01);
}

/* aside */
.aside{
    padding: 2vh;
    border-left: medium ridge var(--col01);
    background-color: var(--col04);
    background: url('../assets/images/backyard.png') no-repeat center;
    background-size: cover;
    background-attachment: fixed;
    height: 100%;
    display: none;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.aside h4, .aside a{
    display: block;
    width: 100%;
}
.sul{
    padding: 1vh;
}
.sul li{
    list-style: none;
}
.sul a{
    text-decoration: none;
}
.slim{
    margin: 5vh 0;
    font-size: 1rem;
    font-weight: bolder;
}
.slim a{
    padding: 0.5vh;
    border: thin groove var(--col01);
    border-radius: 0.5em;
    background-color: var(--col04);
    color: var(--col02);
    text-align: center;
}
.slim a:hover, .slim a:focus{
    background-color: var(--col04b);
    color: var(--col01);
}
.slin{
    margin: 5vh 0;
    text-align: center;
}
.slin img{
    border-radius: 0.5em;
}
.slin a{
    padding: 1vh;
    border: thin groove var(--col01);
    border-radius: 0.5em;
    background-color: var(--col02);
    color: var(--col04);
    font-weight: bolder;
}
.slin a:focus, .slin a:hover{
    background-color: var(--col04b);
    color: var(--col01);
}

/* call to action */
.call2action{
    padding: 5vh;
    background: url('../assets/images/backyard.png') no-repeat center;
    background-size: cover;
    background-attachment: fixed;
    text-align: center;
    font-weight: bolder;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 2vh;
    z-index: 6;
}
.call2action h2{
    width: 100%;
    flex-basis: 100%;
}
.call2action nav{
    padding: 2vh;
    border: thin groove var(--col04);
    border-radius: 0.5em;
    background-color: var(--col03);
    background: url("../assets/images/alpha.png") top left repeat-y, linear-gradient(to right, var(--col03), var(--col02));
    flex-basis: 100%;
    width: 100%;
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.call2action h3{
    padding: 1vh;
    border: thin groove var(--col04);
    font-size: 0.75rem;
    text-transform: uppercase;
    text-shadow: 1px 1px 1px black;
    width: 100%;
    color: var(--col04);
}
.call2action form, .call2action input, .call2action fieldset{
    display: block;
    width: 100%;
}
.call2action fieldset{
    padding: 0.5vh;
}
.call2action input{
    margin: 1vh 0;
    background-color: var(--col03b);
    fill: black;
    text-align: center;
}
input, textarea{
    background-color: rgb(230, 255, 215);
}
input::placeholder, textarea::placeholder{
    color: var(--col01);
    font-weight: bolder;
}
.call2action button{
    margin: 2vh 0;
    display: block;
    padding: 1vh;
    border: thin ridge var(--col02);
    border-radius: 0.5em;
    background: var(--bgr02);
    font-weight: bolder;
    font-size: 0.75rem;
    text-align: center;
    text-decoration: underline;
    color: var(--col02);
    text-decoration: 0.5vh underline;
    text-shadow: 1px 1px 1px var(--col01);
    width: 100%;
}
.call2action button:hover, .call2action button:focus{
    padding: 1vh;
    cursor: pointer;
    border: thin ridge gray;
    background: var(--bgr01);
    color: var(--col05);
}
.call2action p{
    padding: 2vh;
    font-size: 0.75rem;
    color: var(--color4);
}
.dosub{
    padding: 1vh;
    position: absolute;
    top: 5vh;
    left: 20vw;
    width: 60vw;
    background-color: whitesmoke;
    color: var(--color1);
    display: none;
}
.lesubhead{
    padding: 1vh;
    background-color: mediumblue;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 1.5rem;
    position: relative;
    color: var(--col04);
}
.lesubhead h4:first-child{
    width: 90%;
    color: var(--color4);
}
.lesubhead h4:last-child{
    position: absolute;
    top: 0.2vh;
    right: 0.2vw;
    border: thin groove var(--color4);
    border-radius: 0.25em;
    font-size: 2rem;
    background-color: red;
    width: 38px;
    height: 38px;
    aspect-ratio: 1/1;
    text-align: center;
}
.lesubhead h4:last-child:hover{
    cursor: pointer;
    background-color: var(--color8);
}
.dosub p{
    margin: 2vh 0;
    font-size: 1rem;
}

/* about */
.about p{
    padding: 5vh;
    background: var(--bgr03);
    background-size: contain;
}
.slide1con{
    overflow-x: hidden;
}
@keyframes sli1anim {
    0%{
        transform: translate(0);
    }
    100%{
        transform: translate(-100%, 0);
    }
}
.slide1{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    width: 400%;
    animation: sli1anim 16s steps(4) infinite;
}
.slide1 div{
    padding: 1vh;
}
.slide2{
    margin: 5vh 0;
    border: thin groove var(--col01);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    border-radius: 0.5em;
    background-color: var(--col02);
}
.slide2 img{
    padding: 2vh;
    width: 30%;
}
.slide2 img:nth-child(3){
    background-color: var(--col01);
}
.about-logoslide-con{
    margin: 2vh 0;
    padding: 2vh;
    border: thin groove var(--col01);
    border-radius: 0.5em;
    background-color: var(--col02);
    color: var(--col04);
    text-transform: uppercase;
    overflow-x: hidden;
    width: 100%;
    overflow-x: hidden;
}
.parag1 .par5{
    background: none;
    width: 100%;
}
@keyframes ablosanim {
    0%{
        transform: translate(0, 0);
    }
    100%{
        transform: translate(-100%, 0);
    }
}
.about-logoslide{
    display: flex;
    justify-content: space-evenly;
    align-items: stretch;
    gap: 2vh;
    width: 300%;
    transform: translate(-100%, 0);
    animation: ablosanim 6s steps(3) infinite;
}
@keyframes than {
    25%{
        transform: scale(1.2);
        word-spacing: 2vw;
        letter-spacing: 0;
    }
    50%{
        transform: scale(1.2);
        word-spacing: 1vw;
        letter-spacing: 0;
        letter-spacing: 0.5vw;
    }
    75%{
        letter-spacing: 0;
    }
}
.about-logoslide-con p{
    margin: 2vh 0;
    padding: 1vh;
    border: none;
    border-radius: 0.5em;
    color: var(--col04);
    text-shadow: 1px 1px 3px var(--col01);
    text-align: center;
    width: auto;
    font-size: 1rem;
    font-weight: bolder;
    transform: scale(1);
    animation: than 1s infinite;
}
.about-in{
    border-radius: 0.5em;
    width: 20vw;
    display: flex;
    justify-content: center;
    align-items: center;
}
.slide2con{
    width: 100%;
    flex-basis: 100%;
}

/* services and products */
.services{
    position: relative;
}
.parag2 section{
    margin: 2vh 0;
    padding: 2vh 5vw;
    border: thin ridge var(--col01);
    border-radius: 0.5em;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1vh;
}
.serdiv{
    margin: 2vh 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    gap: 5vh;
}
.serdiv .iimg{
    width: 20%;
    flex-basis: 20%;
    flex-grow: 1;
}
.parag2 h3, .parag3 h3{
    padding: 1vh;
    border-bottom: medium ridge var(--col01);
    border-top: medium ridge var(--col01);
    width: 100%;
    color: var(--col03);
    text-shadow: 1px 1px 2px var(--col01);
}
.para{
    display: block;
    padding: 1vh;
    border: thin groove var(--col01);
    border-radius: 0.5em;
    background: var(--bgr02);
    font-size: 1rem;
    font-weight: bolder;
    text-decoration: 0.5vh underline;
    color: var(--col02);
}
.para:hover, .para:focus{
    cursor: pointer;
    background: var(--bgr01);
    color: var(--col05);
}
.slide3con{
    aspect-ratio: 16/9;
    overflow-x: hidden;
}
.parag3 .prodiv{
    margin: 2vh 0;
    padding: 2vh 5vw;
    border: thin ridge var(--col01);
    border-radius: 0.5em;
    text-align: center;
}
.parag3 .butt3div{
    padding: 5vh;
    display: flex;
    justify-content: space-evenly;
    align-items: stretch;
    gap: 5vh;
}
@keyframes sli3anim {
    0%{
        transform: translate(150vw, 0);
    }
    100%{
        transform: translate(-240vw, 0);
    }
}
.slide3{
    margin: 0;
    padding: 0;
    border: none;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
    gap: 5;
    transform: translate(-240vw, 0);
    animation: sli3anim 6s steps(4) infinite;
}
.slide3 img{
    margin: 0 5vw;
    padding: 0vh;
}

/* gallery */
.gallery{
    width: 100%;
    overflow-x: scroll;
    border-top: medium ridge var(--col03);
    border-bottom: medium ridge var(--col03);
}
.galcon{
    padding: 2vh 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1%;
    width: 1000vw;
}
.galin{
    padding: 1vh;
    border: medium ridge var(--col03);
    border-radius: 0.5em;
    background-color: var(--col01);
    aspect-ratio: 16/9;
    width: 4%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.hor{
    width: 100%;
    height: auto;
}
.ver{
    width: auto;
    height: 100%;
}

/* reviews */
.direv, .disuc{
    padding: 2vh;
    border-radius: thin groove var(--col01);
}
.testim{
    padding: 2vh;
    border-radius: medium groove var(--col01);
    background-color: var(--col04);
    width: 100%;
    height: 50vh;
    overflow-y: scroll;
}
.tescon{
    margin: 5vh 0;
    padding: 2vh;
    border: thin groove var(--col01);
    border-radius: 0.5em;
    background-color: var(--col02);
    overflow: auto;
}
.hsec{
    flex-basis: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
}
.tescon img{
    margin: 2vw;
    border: thin groove var(--col01);
    border-radius: 0.5em;
    width: 50%;
    float: left;
}
.tescon h4{
    margin: 2vh 0;
    padding: 1vh;
    border: thin groove var(--col01);
    border-radius: 0.5em;
    background-color: var(--col04);
    text-align: center;
    font-size: 1rem;
    color: var(--col02);
    width: 40%;
    display: inline-block;
}
.tescon p{
    text-transform: capitalize;
}

.revform{
    padding: 2vh;
    border: medium groove var(--col01);
    font-size: 0.75rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 2vh;
}
.revform h3{
    flex-basis: 100%;
    text-align: center;
    color: navy;
    font-size: 1.5rem;
}
.revform fieldset{
    flex-basis: 45%;
    width: 45%;
}
.revform legend{
    color: var(--col01);
    font-size: 1rem;
    text-align: center;
}
.revform textarea, .revform input{
    padding: 0.5vh;
    flex-basis: 100%;
    width: 100%;
}
.revform button{
    padding: 1vh;
    border: thin groove var(--col01);
    border-radius: 0.5em;
    background-color: navy;
    font-weight: bolder;
    font-size: 1.2rem;
    color: var(--col02);
}
.revform button:hover, .revform button:focus{
    background-color: slateblue;
    color: navy;
    cursor: pointer;
}

/* success */
.success{
    padding: 2vh;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
}
.success h2{
    width: 100%;
    flex-basis: 100%;
}
.parag4{
    padding: 2vh;
    width: 256px;
    flex-basis: 256px;
    flex-grow: 1;
}
.parag4 h3{
    margin: 1vh 0;
    font-size: 0.75rem;
}
.parag4 p{
    font-size: 0.75rem;
}

/* team */
.team h3{
    margin: 5vh;
    padding: 2vh;
    border: thin groove var(--col01);
    border-radius: 0.75em;
    text-align: center;
}
.teamto h3{
    margin: 1vh 0;
    padding: 0;
    border: none;
    width: 100%;
    text-align: center;
    font-size: 0.75rem;
}
.teamto h3:last-child{
    color: var(--col04);
}
.teamto{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2vh 5vw;
}
.teamto div{
    padding: 0vh;
    border-radius: 0.5em;
    width: 40%;
    flex-basis: 40%;
    text-align: center;
}
.teamto img{
    padding: 0.1vh;
    border: medium groove var(--col04);
    border-radius: 50%;
}

.teampar{
    color: var(--col02);
    background: url('../assets/images/background01.png') no-repeat center;
    background-size: cover;
}
.teampar h3{
    padding: 0;
    border: none;
    border-radius: 0;
    background: url('../assets/images/background02.png') no-repeat top center;
    background-size: cover;
    background-attachment: fixed;
    background-clip: text;
    -webkit-background-clip: text;
    font-size: 5vh;
    color: transparent;
    -webkit-text-stroke: thin var(--col02);
}
.teampar p{
    padding: 2vh;
    background-color: rgba(0, 0, 25, 0.75);
    text-align: center;
    text-shadow: 1px 1px 1px var(--color1);
}

.mainco, .regenq{
    padding: 2vh 5vw;
    color: var(--col01);
    z-index: 12;
}
.mainco{
    background-color: var(--col01);
    background: url('../assets/images/backyard.png') no-repeat center;
    background-size: cover;
    background-attachment: fixed;
}
.enq{
    padding: 2vh;
    border: medium groove var(--alp01b);
    border-radius: 0.5em;
    background: var(--bgr01);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}
.contacts{
    padding: 2vh;
    border: thin groove var(--alp01b);
    border-radius: 0.5em;
    background: var(--bgr01);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}
.contacts h2, .enq h2{
    background: red;
    text-align: center;
    font-size: 1.5rem;
    color: var(--col02);
    text-transform: uppercase;
    -webkit-text-stroke: thin var(--col01);
}
.contacts address{
    margin: 5vh 0;
    font-size: 1rem;
}
.con-socials{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}
.con-socials a{
    width: 10%;
}
.form fieldset{
    margin: 0.5vh 0;
    padding: 0.5vh;
}
.form input, .form textarea{
    padding: 1vh;
    margin: 0.2vh 0;
    width: 100%;
    font-size: 1rem;
}
.form input{
    text-align: center;
}
.form button{
    padding: 1vh;
    border: thin groove var(--alp01b);
    border-radius: 0.25em;
    background-color: navy;
    text-align: center;
    font-weight: bolder;
    font-size: 1rem;
    color: var(--col02);
}
.form button:hover, .form button:focus{
    background-color: lightslategray;
}
.form .bclose{
    padding: 1vh;
    border: thin groove var(--alp01b);
    border-radius: 0.25em;
    background-color: red;
    text-align: center;
    font-weight: bolder;
    font-size: 1rem;
    color: var(--col02);
}
.form .bclose:hover, .form .bclose:focus{
    background-color: tomato;
}
input::-webkit-file-upload-button{
    border: thin groove var(--col01);
    border-radius: 0.5em;
    background-color: navy;
    color: var(--col02);
}

/* footer */
.footer{
    padding: 2vh;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background-color: var(--col01);
    color: var(--col02);
}
.footlogo{
    margin: 1vh 0;
    padding: 0.25vh 0;
    border-top: thin groove rgba(255, 255, 255, 0.5);
    border-bottom: thin groove rgba(255, 255, 255, 0.5);
    background: var(--bgr01);
    overflow-x: hidden;
}
@keyframes loganim {
    0%{
        transform: translate(0);
    }
    100%{
        transform: translate(-290.4vw, 0);
    }
}
.footlogopic{
    width: 400%;
    animation: loganim 20s linear infinite;
}
.socials{
    padding: 2vh;
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    align-items: center;
    gap: 3vh;
    width: 100%;
    flex-basis: 100%;
}
.footer .details{
    text-align: center;
    font-size: 0.75rem;
    width: 100%;
    flex-basis: 100%;
}
.socials h3{
    width: 100%;
    flex-basis: 100%;
}
.socials a{
    display: block;
    border-radius: 0.5em;
    width: 10vw;
}
.wa{
    border-radius: 0.5em;
    background-color: green;
}
.em{
    border-radius: 0.5em;
    background-color: red;
}
.fb{
    border-radius: 0.5em;
    background-color: navy;
}
.in{
    border-radius: 0.5em;
    background: linear-gradient(magenta, orange);
}
.tw{
    border-radius: 0.5em;
    background-color: cyan;
}
.yt{
    border-radius: 0.5em;
    background-color: red;
}


/* media queries */
@media screen and (min-aspect-ratio:1/1) {
    .nav-header{
        justify-content: space-between;
        gap: 0;
    }
    .language_field{
        width: 20vw;
    }
    .language_field legend{
        font-size: 1rem;
    }
    .language_field select{
        width: 100%;
        font-size: 1rem;
    }
    .contact_button{
        display: block;
    }
    .nav_list_b, .footer_list{
        display: flex;
    }
    .heading h1{
        width: 100%;
        font-size: 6vh;
    }
    .heading h2{
        width: 100%;
        font-size: 4vh;
    }

    .call2action{
        justify-content: space-evenly;
    }
    .call2action nav{
        flex-basis: 40%;
        width: 40%;
        flex-grow: 1;
    }

    .about p{
        padding: 10vh;
    }
    .testim{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        align-items: stretch;
    }
    .tescon{
        flex-basis: 45%;
        width: 45%;
    }
    .tescon img{
        margin: 0.5vh;
    }
    .teamto div{
        padding: 0vh;
        border-radius: 0.5em;
        width: 120px;
        flex-basis: 120px;
        text-align: center;
    }

    .footer_list{
        font-size: 0.6rem;
    }
    
    .dnull, .menu{
        display: none;
    }
    .socials a{
        width: 7vw;
    }
}
@media screen and (min-aspect-ratio:4/3) {
    .socials a{
        width: 6vw;
    }

    .heading h1{
        width: 100%;
        font-size: 8vh;
    }
    .heading h2{
        width: 100%;
        font-size: 6vh;
    }
    @keyframes lrall {
        0%{
            transform: translate(0, 0);
            top: 35vh;
            left: 12vw;
        }
        85%{
            transform: translate(0, 0);
            top: 35vh;
            left: 12vw;
        }
        99.99%{
            transform: translate(0);
            top: 5vh;
            left: 4vw;
        }
        100%{
        }
    }
    .logo_trans{
            width: 75%;
    }
    @keyframes rrall {
        0%{
            transform: scale(1);
        }
        85%{
            transform: scale(1);
        }
        99.99%{
            transform: scale(0.20);
        }
    }

    .call2action nav{
        flex-basis: 30%;
        width: 30%;
        flex-grow: 0;
    }

    .parag1{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        align-items: center;
        gap: 10vh 2vw;
    }
    .parag1 p{
        width: 45%;
        flex-basis: 45%;
    }
    .parag1 .par1{
        order: 0;
    }
    .parag1 .slide1con{
        width: 45%;
        flex-basis: 45%;
        order: 0;
    }
    .parag1 .par2{
        order: 2;
    }
    .parag1 #slide11con{
        width: 45%;
        flex-basis: 45%;
        order: 1;
    }
    .parag1 .par3{
        order: 2;
    }
    .about .slide2con{
        width: 45%;
        flex-basis: 45%;
        order: 2;
    }
    .about .par4{
        width: 100%;
        flex-basis: 100%;
        order: 2;
    }
    .slide2 img{
        padding: 2vh;
        width: 20%;
    }
    .parag1 .about-logoslide-con{
        order: 2;
    }
    @keyframes ablosanim {
        0%{
            transform: translate(0, 0);
        }
        100%{
            transform: translate(-100%, 0);
        }
    }
    .about-logoslide{
        display: flex;
        justify-content: space-evenly;
        align-items: stretch;
        gap: 5vh;
        width: 200%;
        transform: translate(-100%, 0);
        animation: ablosanim 6s steps(2) infinite;
    }
    .about-logoslide-con p{
        margin: 1vh 0;
        padding: 1vh;
        border-radius: 0.5em;
        text-align: center;
        font-size: 2rem;
        font-weight: bolder;
    }
    .about-in{
        padding: 1vh;
        border: thin ridge rgb(99, 99, 99);
        border-radius: 0.5em;
        width: 96px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .parag2, .parag3{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        align-items: stretch;
        gap: 2vh;
    }
    .parag2 section, .parag3 .prodiv{
        width: 45%;
        flex-basis: 45%;
        flex-grow: 1;
    }

    .mainco, .regenq{
        padding: 2vh 10vw;
    }
    .main2{
        display: flex;
    }
    .direv{
        flex-basis: 50%;
    }
    .testim{
        display: block;
    }
    .tescon{
        flex-basis: 100%;
        width: 100%;
    }
    .tescon img{
        margin: 1vh;
    }

    .galcon{
        width: 500%;
    }

    .footer_list{
        font-size: 1rem;
    }
}
@media screen and (min-aspect-ratio:16/9) {
    .nav_list_b, .footer_list{
        justify-content: center;
    }

    @keyframes lrall {
        0%{
            transform: translate(0, 0);
            top: 30vh;
            left: 20vw;
        }
        85%{
            transform: translate(0, 0);
            top: 30vh;
            left: 20vw;
        }
        99.99%{
            transform: translate(0);
            top: 5vh;
            left: 4vw;
        }
        100%{
        }
    }
    .logo_trans{
            width: 60%;
    }
    @keyframes rrall {
        0%{
            transform: scale(1);
        }
        85%{
            transform: scale(1);
        }
        99.99%{
            transform: scale(0.20);
        }
    }

    .main{
        display: grid;
        grid-template-columns: 80% 20%;
    }
    .call2action, .about, .services, .products{
        grid-column: 1/2;
    }
    .aside{
        grid-column: 2/3;
        display: flex;
    }

    .main2{
        display: grid;
        grid-template-columns: 50% 50%;
    }
    .direv{
        padding: 5vh;
        grid-column: 1/2;
    }
    .disuc{
        padding: 5vh;
        grid-column: 2/3;
    }

    .tescon .recon{
        padding: 1vh;
        border: thin groove var(--col01);
        background-color: var(--col03);
        flex-basis: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        position: relative;
    }
    .tescon .pcon{
        border: var(--bod01);
        border-radius: 50%;
        flex-basis: 10%;
        width: 10%;
        height: auto;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    .pcon .pc1{
        text-shadow: 1px 1px 5px var(--col02);
        position: absolute;
        transform: translate(-25%, -50%);
        text-transform: uppercase;
    }
    .pc1 h3{
        transform: rotateZ(-45deg);
    }
    .pcon .numa{
        color: var(--col02);
    }
    .recon h4{
        text-align: center;
        flex-basis: 60%;
        color: var(--col02);
        width: 60%;
    }
    .prpic{
        flex-basis: 20%;
        width: 20%;
        border: thin groove var(--col02);
        border-radius: 50%;
        background-color: var(--col03);
        color: var(--col02);
        text-align: center;
    }

    .success{
        grid-column: 1/3;
    }

    .socials a{
        width: 5vw;
    }
    .footer_list{
        font-size: 1rem;
    }
}