:root {
  --main-color: #0474a5;
  --secondary-color: #00bfff;
  --gray-color: #6c757d;
  --transition: 0.5s;
  --section-padding : 50px;
}
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: cairo;
}

a {
  text-decoration: none;
  color: #000;
}
ul{
  list-style: none;
}
/* main-title  */
.main-title, .main-title-white {
    width: 100%;
    cursor: pointer;
}
.main-title-white{
  color: #ffffff;
}

.main-title h2 , .main-title-white h2{
    font-size: 2.6rem;
    text-transform: uppercase;
    border: 4px solid #000;
    width: fit-content;
    margin: auto;
    padding: 10px;
    border-radius: 8px;
    transition: var(--transition);
    position: relative;
}

.main-title-white h2{
  border: 4px solid white;
}

.main-title h2::before,
.main-title h2::after,
.main-title-white h2::before,
.main-title-white h2:after {
    content: '';
    position: absolute;
    left: -30px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--main-color);
    transition: all .4s;
}

.main-title-white h2::before,
.main-title-white h2:after{
  background-color: #fff;
}

.main-title h2::after , 
.main-title-white h2::after{
    left: calc(100% + 18px);
}

.main-title h2:hover,
.main-title-white h2:hover {
    color: white;
    transform: scale(1.1);
}
.main-title-white h2:hover{
  color: #000;
}

.main-title h2:hover::before ,
.main-title-white h2:hover::before {
    left: 0;
    top: 0;
    transform: translateY(0);
    width: 50%;
    height: 100%;
    border-radius: 0px;
    z-index: -1;
}

.main-title h2:hover::after,
.main-title-white h2:hover::after {
    left: 50%;
    top: 0;
    transform: translateY(0);
    width: 50%;
    height: 100%;
    border-radius: 0px;
    z-index: -1;
}

@media (max-width : 400px){
  .main-title h2 , .main-title-white h2{
    font-size: 2rem;
    padding: 6px;
  }
}

.whatsapp{
  position: fixed;
  left: 30px;
  bottom: 30px;
  border-radius: 50%;
  box-shadow: 1px 1px 8px #00000071;
  transition: var(--transition);
  animation: jump 0.5s ease infinite alternate;
}
/* navbar */
.navbar-brand span {
  color: var(--main-color) !important;
}
.nav-link {
  transition: var(--transition);
}
.nav-link.active,
.nav-link:hover {
  color: var(--main-color) !important;
}
/* home  */
#home {
  min-height: 100vh;
  padding: 0 10px;
  background-image: url(../image/school.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  color: white;
}
#home .text{
  z-index: 99;
}
#home .overlay{
  width: 100%;
  height: 100%;
  background-color: #0475a593;
  position: absolute;
}
@media (max-width : 567px){
  #home h1{
    font-size: 45px !important;
  }
}
/* about  */
#about {
  padding: 20px 0;
}
#about > div{
  padding: var(--section-padding) 10px;
}
#about .img-box{
  width: 200px;
  height: 200px;
  border: 8px solid var(--main-color);
  border-radius: 10px;
}
#about .img-box img{
  width: 100%;
  border-radius: 6px;
}
/* portfolio */
#portfolio {
  padding: var(--section-padding) 10px;
  background-color: var(--main-color);
}

#portfolio .project{
  padding: 1px;
  transition: all 1s ease;
  cursor: pointer;
  transform: translateY(100px);
  opacity: 0;
}

#portfolio .project.show{
  transform: translateY(0);
  opacity: 1;
}
#portfolio .project:hover{
  transform: scale(1.02);
}

#portfolio .project .img-box{
  width: 100%;
  height: 200px;
  overflow: hidden;
}

#portfolio .project .img-box img{
  width: 100%;
  height: 100%;
}

#portfolio .project p{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
#portfolio .arrow{
  color: var(--main-color);
  transition: var(--transition);
  animation: move 1s ease infinite;
}
/* why */
#why{
  padding: var(--section-padding) 10px;
}

#why .card{
  color: white;
  background-color: var(--main-color);
  cursor: pointer;
  transition: var(--transition);
  position: relative;
}

#why .card::before , #why .card::after{
  content : '';
  height: 0%;
  width: 4px;
  background-color: rgb(255, 255, 255);
  position: absolute;
  z-index: 999;
  transition: var(--transition);

}

#why .card::before{
  left: 0;
  top: 0;
}

#why .card::after{
  right: 0;
  bottom: 0;
}

#why .card:hover{
  transform: scale(1.02);
}
#why .card:hover::before , 
#why .card:hover::after{
  height: 100%;
}

/* start  */
#contact {
  background-color: var(--main-color);
  padding: var(--section-padding) 20px;
  color: #fff;
}
#contact input , 
#description{
  width: 90%;
  border: none;
  outline: none;
  padding: 10px;
  margin: 10px;
  caret-color: var(--main-color);
  font-size: 22px;
}

#description{
  resize: none;
} 
/* footer  */
footer h2, 
footer h3{
  color: var(--main-color) !important;
}

footer ul a{
  transition: var(--transition);
  font-size: 20px;
}

footer ul a:hover{
  color: var(--main-color) !important;
}
/* animation */
@keyframes move{
   from {
     transform: translateX(10px);
   }
   to {
    transform: translateX(0);
   }
}
@keyframes jump{
   from {
     transform: translateY(10px);
   }
   to {
    transform: translateY(0);
   }
}