* {
  box-sizing: border-box;
}

html,
:root {
  --primary-color: #0B1A31;
  --secondary-color: lightblue;
  --secondary-color-light: #add8e6;
  --text-color: white;
}  

body {
    margin: 0;
    height: 100%;
    background-color: var(--primary-color);
}

html {
    scroll-behavior: smooth;
}

footer {
    position: fixed;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-top: 5px;
    height: 38px;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: end;
    z-index: 20;
    background-color: var(--primary-color);
}


section {
    z-index: 20;
    animation-duration: 1.5s;
    animation-name: slide-in;
}

@keyframes slide-in {
  from {
    translate: 0 150vw;
    scale: 115% 1;
  }

  to {
    translate: 0 0;
    scale: 100% 1;
  }
} 

.slideright {
    animation-duration: 2s;
    animation-name: slide-right;
    animation-delay: 1s;
    animation-fill-mode: backwards;
    z-index: -50;
}

@keyframes slide-right {
  from {
    transform: translateX(-150%);
    scale: 50% 1;
    opacity: 0;
  }
  to {
    transform: translateX(0);
  }
}

.bounce {
    animation: bounce 2s infinite; 
    animation-delay: 2.5s;
    opacity: 0;
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0); 
    opacity: 100%;
  }
  50% {
    transform: translateY(-30px); 
    opacity: 0;
  }
}


.active { 
    text-decoration: underline 1px;
    text-underline-offset: 4px;
}

.text0 {
    color: var(--text-color);
    font-family: "Libre Caslon Display", Georgia, 'Times New Roman', Times, serif;
    font-size: 100px;
    transition: .5s;
}

.text1 {
    color: var(--text-color);
    font-family: "Libre Franklin", 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-weight: 200;
    font-size: 90px;
    letter-spacing: 4px;
}
.text2 {
    color: var(--text-color);
    font-family: "Libre Caslon Display", Georgia, 'Times New Roman', Times, serif;
    font-size: 24px;
    transition: .5s;
}

.text3 {
    color: var(--text-color);
    font-family: "Libre Caslon Display", Georgia, 'Times New Roman', Times, serif;
    font-size: 32px;
}

.text4 {
    color: var(--primary-color); 
    font-family: "Libre Caslon Display", Georgia, 'Times New Roman', Times, serif;
    font-size: 36px;
}

.text5 {
    color: var(--text-color);
    font-family: "Libre Caslon Display", Georgia, 'Times New Roman', Times, serif;
    font-size: 18px;
}

.text6 {
    color: var(--secondary-color);
    font-family: "Libre Caslon Display", Georgia, 'Times New Roman', Times, serif;
    font-size: 60px;
    opacity: 80%;
    transition: .5s;

    &:hover {
        font-size: 65px;
        cursor: pointer;
    }
}

.text7 {
    color: var(--text-color);
    font-family: "Libre Franklin", 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 18px;
    font-weight: 300;
}


.home {
    float: left;
}
.about {
    float: right;
    transition: .5s;
}


.spacer {
    height: 80px;
}

.spacer2 {
    height: 350px;
}
.spacer3 {
    height: 60px;
}

.flower{
    width: 400px;
    position: fixed;
    bottom: 50px;
    right: 50px;
    opacity: 60%;
    z-index: -5;
}

.flowertech{
    width: 500px;
    position: fixed;
    bottom: 10px;
    right: 90px;
    opacity: 60%;
}

.artflowercontainer {
    padding-left: 175px;
	margin: auto;
    display: flex; 
    justify-content: center;
    position: fixed;
    width: 75%;
    bottom: 40px;
}
.artflowerimg {
    width: 700px;
    opacity: 30%;
    z-index: -1;
}

.bizflowerimg {
    width: 700px;
    opacity: 40%;
    z-index: -1;
}

.imgbox {
    background-color: var(--secondary-color-light);
    z-index: 1;
    padding: 1px;
    position: relative;
    display: grid;
    place-items: center;
    text-align: center;
}

.logo {
	width:100%;
    opacity: 15%;
    display: block;
    height: auto;
    position: relative;
    transition: .5s;
    &:hover{
        opacity:100%;
        z-index: 20;
        cursor: pointer;
        
}
}

.imgbox2 {
    padding: 1px;
    position: relative;
    display: grid;
    text-align: end bottom;

    &:hover {
        .logo2 {
            background-color: var(--secondary-color);
            opacity:100%;
            z-index: 20;
            color: var(--primary-color);
        }
    }
}

.logo2 {
	width:100%;
    opacity: 0;
    transition: .5s;
    left: 0;
    bottom: 0;
}

.centered {
    padding: 20px;
    position: absolute;
    z-index: 5;
}

.wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    margin: auto;
    padding: 30px;
    max-width: 1000px;
}

#homewrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    margin: auto;
    max-width: 1000px;
    padding: 30px;
}

.bizwrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin: auto;
    padding: 30px;
    max-width: 1000px;
}

.grid-item {
    width: 100%; 
    height: 100%;
    object-fit: cover; 
}

.grid-center {
    place-self: center;
    text-align: center;
}

.colspan1 {
   grid-column: span 1;
}

.colspan2 {
   grid-column: span 2;
}

.colspan3 {
   grid-column: 1/ -1;
}

.rowspan1 {
   grid-row: span 1;
}

.rowspan2 {
   grid-row: span 2;
}

.rowspan3 {
   grid-row: 1/ -1;
}

.staycolspan2 {
   grid-column: span 2;
}

.slide {
    width: 400px;
    height: 225px;
}

.center {
    grid-column: 1 / -1;
    text-align: center; 
    padding-bottom: 35px;
}

.placeholder {
    background-color: var(--secondary-color);
    height: 100%;
    width: 100%;
}

.border {
    border: 1px solid var(--text-color);
    transition: .5s;

    &:hover {
        transform: scale(105%);
        cursor: pointer;
    }
}

.border2 {
    border: 1px solid var(--text-color);
}

.shadow {
    box-shadow: 0 0 10px 2px var(--primary-color);
}
.textshadow {
    text-shadow: 0 0 6px var(--primary-color);
}

.object-fit {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ease {
  transition-timing-function: ease;
}

#mainheader {
    padding: 10px;
    background-color: var(--primary-color);
    height: 80px;
    z-index: 7;
    position: fixed;
    left: 0px;
    right: 0px;
}

#subheader {
    position: fixed;
    left: 0px;
    right: 0px;
    height: 85px;
    background-color: var(--primary-color);
    z-index: 25;
    padding: 30px;
}

#container {
    padding: 50px;
    max-width: 800px;
}

#artcontainer {
  background-color: var(--primary-color);
  padding: 30px;
  text-align: center;
}

#outercontainer {
    display: flex;
	flex-wrap: wrap;
	padding: 50px;
	margin:auto;
}

a:link {
  color: var(--text-color);
  background-color: transparent;
  text-decoration: none;
  padding: 4px;
  transition: .5s;
}

a:visited {
  color: var(--text-color);
  background-color: transparent;
  text-decoration: none;
  padding: 4px;
}

a:hover {
  color: var(--primary-color);
  padding: 4px;
  background-color: var(--text-color);
  transition: .5s;
}

a.nohover:link {
  padding: 0;
}

a.nohover:visited {
    padding: 0; 
}

a.nohover:hover {
  padding: 0;
}


@media (max-width:850px) {
    .text6 {
        font-size: 50px;
    }
}

@media (max-width:768px) {
    
    .wrapper {
        grid-template-columns: 1fr 1fr;
    }
    .colspan2 {
        grid-column: span 1;
    }

    .techimg1 {
        order: 1;
    }
    .techblurb1{
        order: 2;
        text-align:left;
    }
    .techimg2 {
        order: 3;
    }
    .techblurb2{
        order: 4;
        text-align:left;
    }
    .techimg3 {
        order: 5;
    }
    .techblurb3{
        order: 6;
        text-align:left;
    }
    .techspacer {
        order: 7;
    }

    .bizwrapper {
        grid-template-columns: 1fr;
    }    
    .prismimg {
        order: 1;
    }
    .prismtext {
        order: 2;
    }
    .sabiimg {
        order: 3;
    }
    .sabitext {
        order: 4;
    }

    .text6 {
        font-size: 35px;
    }

    .flower {
        width: 300px;
    }
    .about {
        position: fixed;
        left: 30px;
        top: 60px;
    }
    #subheader {
        height: 100px;
    }

}

@media (max-width:650px) {
    .photo {
        grid-column: 1/ -1;
    }
}

@media (max-width:565px) {
    .text6 {
        font-size: 30px;
    }
    .text0 {
        font-size: 70px;
    }
    .text2 {
        font-size: 19px;
    }

}

@media (max-width:520px) {
    .wrapper {
        grid-template-columns: 1fr;
    }


}


