@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Roboto+Slab:wght@100;300;400;700&display=swap');

:root{
  --extender: 0;
  --transitor: margin-left .5s;
}
*{
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}
body{
  height: 100vh;
  width: 100vw;
  overflow-x: hidden;
  font-family: 'Roboto Slab', serif;
}

/* Navigation */

nav{
  position: fixed;
  top: 0;
  height: 90px;
  margin-bottom: -90px;
  background-color: #212529;
  transition: height .25s, margin-bottom .25s;
  width: 100vw;
  color: white;
  z-index: 10;
  line-height: 70px;
  font-family: 'Montserrat', sans-serif;
  
}
nav .selected{
  color: #FF4500;
}
.mobile nav{
  transition: height 0s, margin-bottom 0s, line-height 0s;
}
nav div{
  width: 90%;
  margin: 0 auto;
  max-width: 2000px;
}
nav a{
  display: inline-block;
  text-decoration: none;
  color: inherit;
  transition: .25s;
  padding: 10px;
}
nav a:hover{
  color: #FF4500 !important;
}
nav ul{
  list-style: none;
  display: block;
  transition: .25s, 0s width;
}
nav li{
  display: inline-block;
  font-size: 20px;
  transition: .25s;
}
nav div{
  position: relative;
  transition: .25s;
}
nav .right{
  position: absolute;
  right: 0;
}
nav .left{
  position: absolute;
  left: 0;
  font-weight: 700;
}
.navbar-shrink{
  height: 70px;
  margin-bottom: -70px;
  line-height: 50px;
}
.left{
  font-size: 30px;
}
.navbar-shrink .left{
  font-size: 20px;
}
nav button{
  display: none;
}
.mobile nav button{
  display: inline-block;
  vertical-align: middle;
  top: 10px;
  height: 50px;
  width: 100px;
  line-height: 50px;
  border: none;
  background-color: #212529;
  color: #999;
  border-radius: 5px;
  border: 1px solid #999;
}
.mobile nav ul{
  position: absolute;
  top: 70px;
  left: 0px;
  width: 90vw;
}
.mobile nav ul li{
  display: block;
  width: calc(100% - 20px);
  padding: 10px;
  text-align: center;
  background-color: #212529;
}
.mobile .selected{
  color: white;
}

/* main section */


/* master header */

header{
  height: 100vh;
  width: 100vw;
  position: relative;
  background-color: #333;
  overflow: hidden;
}
header div{
  width: 80vw;
  position: absolute;
  top: 50%;
  left: 50%;
  text-align: center;
  transform: translate(-50%,-50%);
  color: white;
  text-shadow: 2px 2px 4px #000000;
  font-size: 50px;
  font-weight: 700;
}
.mobile header div{
  font-size: 30px;
}
header img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  min-height: 100%;
  width: 100%;
}
header a{
  display: inline-block;
  background-color: #313539;
  margin-top: 10px;
  padding: 25px;
  text-decoration: none;
  border-radius: 5px;
  color: inherit;
  transition: background-color .5s;
  font-size: 25px;
  font-weight: 400;
}
header a:hover{
  background-color: #FF4500;
}

/* services */
#services{
  position: relative;
  text-align: center;
  padding: 20px 0;
  vertical-align: top;
}
#services div:nth-child(1){
  margin-bottom: 25px;
}
#d2{
  position: relative;
  left: 50%;
  transform: translate(-50%);
}
#d2 div{
  display: inline-block;
  width: calc(33% - 140px);
  padding: 20px;
  vertical-align: top;
}
#d2 img{
  margin-bottom: 10px;
  height: 128px;
}
#d2 h4{
  font-size: 20px;
  margin-bottom: 15px;
}
#d2 p{
  color: gray;
}
#d2 span{
  display: inline-block;
  vertical-align: middle;
}
.mobile #d2 div{
  width: calc(100% - 120px);
}
.mobile #d2 div img{
  width: 60%;
}

/* about */
#about{
  position: relative;
  text-align: center;
  padding: 45px 0;
}
#about div:nth-child(2) div{
  width: calc(50% - 40px);
  display: inline-block;
  vertical-align: middle;
  padding: 10px;
  text-align: justify;
  font-size: 1vw;
  color: gray;
}
#about div{
  position: relative;
}
#about img{
  width: 80%;
  margin-left: 50%;
  transform: translate(-50%,0);
  top: 50%;
  left: 50%;
}
.mobile #about img{
  width: 100%;
}
.mobile #about div:nth-child(2) div{
  width: calc(100% - 80px);
}
.mobile #about div:nth-child(2) div{
  font-size: 16px;
}
#about h3{
  margin-bottom: 45px;
}

/* testimonials */
#testimonials{
  position: relative;
  text-align: center;
  margin-bottom: 60px;
  overflow: hidden;
}
.testimonial{
  display: inline-block;
  vertical-align: top;
  width: 300px;
  padding: 10px;
  position: relative;
  max-width: calc(80vw - 100px);
}
#testimonials .btn{
  display: inline-block;
  border: 1px solid white;
  color: #4CF3B6;
  vertical-align: middle;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 30px;
  border-radius: 25px;
  cursor: pointer;
  transition: .25s;
}
#testimonials .btn:hover{
  background-color: #4CF3B6;
  color: white;
  border: 1px solid #4CF3B6;
}
#testimonials h3{
  margin-bottom: 25px;
}
#testimonials .fa-star, #testimonials .name{
  color: #4CF3B6;
  font-weight: 700;
}
#testimonials .role{
  color: gray;
}
.testimonials{
  display: inline-block;
  vertical-align: middle;
  width: calc(80vw - 100px);
  max-width: 1000px;
  overflow: hidden;
}
.mobile .testimonial{
  display: inline-block;
  width: 100%;
}
#superWide{
  margin-left: calc(50% + (var(--extender) + (var(--tentitionalsEven) / 2)) * 320px);
  transition: var(--transitor);
  transform: translate(-50%,0);
  width: 10000px;
  display: inline-block;
  text-align: center;
}
.mobile #superWide{
  margin-left: calc(50% + (var(--extender) + (var(--tentitionalsEven) / 2)) * calc(80vw - 80px));
}

/* contact */
#contact{
  background-image: url('map-image.png');
  position: relative;
  background-color: #222;
  text-align: center;
  padding: 50px 0;
}
#contact .first{
  margin-bottom: 20px;
}
#contact input, #contact textarea{
  padding: 20px;
  width: calc(90% - 80px);
  max-width: 650px;
  height: 20px;
  margin-bottom: 25px;
  display: inline-block;
  border: none;
  border-radius: 5px;
}
.mobile #contact input, .mobile #contact textarea{
  width: calc(100% - 60px);
}
#contact textarea{
  height: 190px;
}
#contact button{
  display: inline-block;
  background-color: #313539;
  margin-top: 10px;
  padding: 25px;
  text-decoration: none;
  border-radius: 5px;
  color: inherit;
  transition: background-color .5s;
  font-size: 25px;
  font-weight: 400;
  border: none;
  color: white
}
#contact button:hover{
  background-color:#FF4500;
  text-shadow: 2px 2px 4px black;
}
#contact h2{
  color: white;
  text-shadow: 2px 2px 4px #666;
}
#contact h3{
  margin-bottom: 20px;
  text-shadow: 2px 2px 4px black;
}
#contact .left, #contact .right{
  display: inline-block;
  width: calc(50% - 40px);
  vertical-align: top;
  padding: 0 10px;
}
#contact .left{
  text-align: right;
}
#contact .right{
  text-align: left;
}
.mobile #contact .left, .mobile #contact .right{
  text-align: center;
  width: 100%;
  padding: 0;
}

/* footer */
footer{
  padding: 20px;
}
footer div{
  display: inline-block;
  width: 40%;
  text-align: center;
  vertical-align: middle;
}
footer .d2{
  width: 20%;
}
footer a{
  color: inherit;
  text-decoration: none;
}
footer .d2 a{
  display: inline-block;
  background-color: black;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: white;
  line-height: 40px;
  transition: .25s;
}
footer .d2 a:hover:nth-child(1){
  background-color: #1DA1F2;
}
footer .d2 a:hover:nth-child(2){
  background-color: #4267B2;
}
footer .d2 a:hover:nth-child(3){
  background-color: #0A66C2;
}
/* general classes */
.hidden{
  display: none;
}
.mobile .hiddenmobile{
  display: none;
}
.cb{
  clear: both;
}
img{
  width: 100%;
}
h2{
  font-size: 60px;
  user-select: none;
}
.mobile h2{
  font-size: 40px !important;
}
h3{
  color: gray;
  font-size: 16px;
  width: 80%;
  margin-left: 10%;
  user-select: none;
}
.mobile h3{
  padding: 10px auto;
  size: 14px;
}
.scroller{
  display: block;
  position: absolute;
  top: -70px;
}
.red, .green{
  padding: 10px 0;
}
.red{
  color: red;
}
.green{
  color: green;
}