body{
  margin: 0 0;
  color: rgb(52, 52, 52);
  background-color: rgb(241, 240, 240);
  font-weight: lighter;
  overflow-x: hidden;
}


a{
  text-decoration: none;
  font-weight: lighter;
  color: rgb(52, 52, 52);
}

.light{
  background-color: rgb(241, 240, 240);
}

.dark{
  background-color: rgb(52, 52, 52);
}

.border{
  border: red solid;
}

.scroll{
  overflow-y:scroll;
}

.fade{
  opacity: 0;
}

.hide{
  display: none;  
}

.shift{
  padding-left: 2em;
}

.uppercase{
  text-transform: uppercase;
}

/*Sizing*/

#closebtn, #openbtn{
  display: none;
}

body, a{
  font-family: 'Didact Gothic', sans-serif;
  width: 100vw;
}

.content{
  display: flex;
  flex-flow: column;
  align-content: center;
  justify-content: center;
  margin: auto auto;
  width: 90vw;
  height: 750px;
  margin: 0 5vw;
  position: sticky;
}

.heading{
  font-family: 'Cardo', serif;
  font-size: 3em;
  text-align: center;
}

.main-button a, .contact-button a, #About, #Why, #Why a, #Contact{
  color: #f1f0f0;
}

#header, .smalltext, a, button{
  font-size: 0.85rem;
  letter-spacing: 0.85px;
  line-height: 1.5rem;
}


.description{
  line-height: 1.2rem;
}

button{
  padding: 1em 2em;
  border: none;
  background-color: #343434;
}

.title{
  font-size: 1.25rem;
  letter-spacing: 1.5px;
}

/* Navigator */

#header{
  position: sticky;
  background-color: #f1f0f0;
  display: grid;
  grid-template-columns: 50% 50%;
  align-content: center;
  align-items: center;
  margin: 0 0;
  padding: 1.5em 5vw;
  top: 0;
  transition: transform 0.7s ease;
  z-index: 99;
}

.slide-up{
  transform: translateY(-100px);
}

#header:hover{
  top: 0px;
}

#menu, #nav{
  display: flex;
  justify-self: end;
  width: 100%;
}

#nav :nth-child(n+1){
  padding-left: 5vw;
}

#openbtn, .closebtn{
  font-size: 2em;
  cursor: pointer;
}

.menu-open{
  text-align: right;
  font-size: 2em;
}

/*Landing page*/

.main-left{
  width: 600px;
  height: 600px;
  margin: auto auto;
  justify-self: right;
 }

.main-right{
  width: 100%;
  margin: auto auto;
  text-align: center;
}

.main-p, .wrap{
  font-family: 'Cardo', serif;
  font-size: 4em;
  text-align: center;
  letter-spacing: -1px;
  line-height: 1.2em;
  color: #343434;
}

.wrap{
  cursor:text;
  border-right: 0.02em solid #343434;
}

.cert{
  display: flex;
  flex-direction: row;
  width: 100%;
  justify-content: center;
  margin-top: 1em;
  padding: 2em;
}

.cert :nth-child(n){
  position:relative;
  padding: 0.5em;
  width: fit-content;
}

.cert p{
  padding: 1em;
  cursor: default;
}


/* About page */

#About, #Home{
  display: grid;
  grid-template-columns: 55% 45%;
}

.about-grid{
  display: flex;
  flex-flow: column;
  align-content: center;
  justify-content: center;
  margin: auto auto;
  margin-right: 5vw;
}

#About table{
  vertical-align: bottom;
}

#About :nth-child(1){
  width: 90%;
  text-align: left;
  padding-bottom: 5vh;
}

#About img{
  height: 750px;
  max-width: 50vw;
  justify-self: right;
  margin-right: -5vw;
}

/* Service & Why-us page */

table img{
  width: 75%;
}

td{
  text-align: center;
  vertical-align: top;
  padding: 0.85vw 1vw;
}

.carousel-inner{
  width: 80vw;
  margin: auto auto;
  padding-bottom: 10vh;
}


.carousel-control-prev{
  width: 2vw;
  z-index: 3;
}

.carousel-control-next{
  width: 2vw;
  z-index: 3;
}

/*Quote page */

#Quote img{
  height: 400px;
  width: 400px;
  margin: auto auto;
  margin-bottom: 0;
}

#Quote{
  width: 70vw;
  font-size: 2em;
  letter-spacing: 3px;
  text-align: center;
  margin: auto auto;
  margin-top: 0;
  padding: 10vh 0;
}

/*Contact page*/

#Contact{
  text-align: center;
}

.contact-button{
  width: fit-content;
  align-self: center;
  margin-top: 2em;
  background-color: #f1f0f0;
}

.contact-button a{
  color: #343434;
}


/*Dynamic animation*/

.reveal{
  position: relative;
  transform: translateY(150px);
  opacity: 0;
  transition: 1s all ease;
}

.reveal.active{
  transform: translateY(0);
  opacity: 1;
}

/* Scroller styling */

@keyframes slide {
  0% {
    top: 0;
  }
  25% {
    top: -1.2em;
  }
  50% {
    top: -2.4em;
  }
  75% {
    top: -3.6em;
  }
  100%{
    top: -4.8em;
  }
}

/* Cookie */

#cookie{
  display: flex;
  position: fixed;
  background-color: #f1f0f0;
  color: #343434;
  align-items: center;
  align-content: center;
  justify-content:left;
  margin: 0 0;
  bottom: 0;
  padding: 1em 5vw;
  height: fit-content;
  width: fit-content;
  transition: opacity 0.7s ease;
  z-index: 91;
  box-shadow: 0 0 20px 1px rgba(107, 112, 92, 0.5);
}

.cookieIcon{
  height: 5em;
  padding-right: 5vw;
  fill: #343434;
}

#cookie :nth-child(3){
  padding-right: 5vw;
  margin-right: 5vw;
}

#cookie :nth-child(3) :nth-child(1){
  font-size: 1.5em;
  font-weight: normal;
}

#cookie :nth-child(3) :nth-child(2) a, .link{
  font-size: 1em;
  font-weight: normal;
  text-decoration: underline;
}

#closeCookie{
  position: absolute;
  right: 0;
  top: 0;
  padding-top: 2em;
  width: 5vw;
  margin-right: 5vw;
  font-weight: normal;
  transition: transform 0.7s ease;
}

/* Footer */

#footer{
  display: flex;
  position: absolute;
  bottom: 7vh;
  width: 100%;
  padding-top: 1em;
  justify-content: flex-end;
}

#footer a{
  padding: 0 2vw;
  font-size:  1em;
  opacity: 0.6;
  color: #f1f0f0;
  transition: all 0.3s linear;
}

#footer a:hover{
  opacity: 1;
}

.showPolicy{
  display: block;
  position: sticky;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 90;
  padding: 1em 5vw;
  padding-bottom: 100px;
  background-color: rgb(241, 240, 240);
  line-height: 200%;
  text-align: left;
  overflow-y: scroll;
  overflow-x: auto;
}

.showPolicy .closeCookie{
  padding-top: 1em;
}

.showPolicy div{
  padding-bottom: 2em;
}

.showPolicy tr:nth-child(1){
  background-color: #343434;
  color: #f1f0f0;
  font-weight: normal;
}

.showPolicy tr:nth-child(3){
  background-color: #c9c8c8;
}

.showPolicy td, .showPolicy table a{
  font-size: 0.92em;
  text-align: left;
}

.showPolicy table a{
  text-decoration: underline;
}


/*Mobile*/


@media screen and (max-width: 900px){
  #nav{
    display: none;
  }

  #header{
    display: grid;
  }

  #openbtn{
    display: block;
  }

  #openbtn{
    font-size: 2.5em;
  }

  #nav{
    display: flex;
    background-color: rgba(241, 240, 240, 0.98);
    flex-flow: column;
    position: fixed;
    right: 0;
    top: 0;
    width: 0;
    height: 100vh;
    justify-content: center;
    text-align: center; 
    transition: ease-in-out 0.6s;
  }

  #nav:nth-of-type(1) :nth-child(n+2){
    padding-bottom: 4vh;
    font-size: 1.5em;
  }

  #closebtn{
    display: none;
    position: absolute;
    font-weight: bolder;
    flex-direction: row-reverse;
    top: 0;
    right: 0;
    padding: 1em 6vw;
    margin-top: 2em;
  }

  #menu:hover #nav:nth-of-type(1) :nth-child(n+2):hover{
    text-decoration: underline;
  }


  .content{
    height: 100vw;
  }

  .main-p{
    font-size: 10vw;
  }

  #header, .smalltext, a, button{
    font-size: 2vw;
    letter-spacing: 0.85px;
    line-height: 150%;
  }

  button{
    width: fit-content;
    align-self: center;
    padding: 1.75vw 2vw;
  }

  .heading{
    font-size: 7.5vw;  
    padding-bottom: 4vw;
    margin: 0 0;
  }


  .title{
    font-size: 2.5vw;
  }

  .carousel-inner{
    padding-bottom: 5vh;
  }

  #Quote{
    font-size: 4vw;
  }

  #Home a, #About, #Why, #Contact{
    color: #f1f0f0;
  }

  #Home img, #Quote img{
    height: 70vw;
    width: 70vw;
    position: absolute;
    z-index: 0;
    opacity: 0.6;
    justify-self: center;
    align-self: center;
  }


  .main-right, #Quote, #About{
    display: flex;
    width: 90vw;
    z-index: 1;
    align-self: center;
    flex-flow: column wrap;
  }

  
  #About img{
    display: none;
  }

  #About :nth-child(n) :nth-child(n){
    text-align: center;
    width: 100%;
  }

  .quote{
    z-index: 2;
  }


  .reveal{
    position: relative;
    transform: none;
    opacity: 1;
    transition: 1s all ease;
  }
  
  .reveal.active{
    transform: none;
    opacity: 1;
  }
}

/* Big Screen */

@media screen and (min-width: 1800pt){
  .content, #About img{
    height: 50vw;
  }

  .main-left{
    width: 900px;
    height: 900px;
  }

  .main-right{
    width: fit-content;
  }

  #Service img{
    width: 25vw;
  }

  #Quote img{
    width: 600px;
    height: 600px;
  }
  
  #cookie{
    width: 100%;
  }

  .heading{
    font-size: 4em;
  }
  
  #header, .smalltext, a, button {
    font-size: 1.2rem;
    letter-spacing: 0.85px;
    line-height: 2rem;
  }
 
  .title{
    font-size: 1.7rem;
    letter-spacing: 1.5px;
  }

  #header{
    padding: 2em 5vw;
  }

  #cookie{
    padding: 2em 5vw;
  }
  

}