@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;1,300;1,400;1,500&display=swap');

:root{
  --pink:#360219;
  --violet:#104144;
}

*{
  font-family: 'Roboto', sans-serif;
  text-transform: capitalize;
  text-decoration: none;
  outline: none;
  margin: 0; padding: 0;
  box-sizing: border-box;  
}

*::selection{
  background:rgb(7, 35, 39);
  color:#fff;
}

html{
  font-size: 62.5%;
  overflow-x: hidden;
}

.heading{ /*For styling all the headings in the entire HTML */
  font-size: 4rem;
  color:var(--pink);
  text-align: center;
  padding:0 1rem;
  padding-top: 6rem;
  letter-spacing: .2rem;
  font-weight: 500;
}

.title{  /*For styling all the titles under the headings in the entire HTML */
  padding:0 1rem;
  font-size: 2rem;
  text-align: center;
  font-weight: 500;
  color:rgb(5, 22, 29);
}

header{ /*To style the navbar */
  width:96%;
  background:rgb(177, 175, 175);
  position: fixed;
  top:2rem; left:50%;
  transform: translateX(-50%);
  border-radius: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding:1rem 2rem;
  z-index: 1000;
  transition: .5s;
}

.header-active{   /* This comes from js. It is to set how the navbar behaves when user has scrolled */
  top:0;
  width: 100%;
  border-radius: 15px;
  box-shadow: 0 .4rem .6rem rgba(36, 35, 35, 0.3);
}

header .navbar ul{  /* To set the content inside the navbar */
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
}

header .navbar ul li{  /* To set the content inside the navbar */
  margin:0 1rem;
}

header .navbar ul li a{  /* To set the content inside the navbar */
  font-size: 2rem;
  color:var(--pink);
  transition: .2s;
}

header .navbar ul li .active,   /* To set the color of the content of the words inside navbar when on hover */
header .navbar ul li a:hover{
  color:var(--violet);
}

header .logo{  /* To style the logo in the navbar */
  font-size: 2.5rem;
  color: var(--violet);
  text-transform: uppercase;
}
#logo2{
  font-size: 2.5rem;
  color: var(--violet);
  text-transform: uppercase;
  height: 24px;
}
header .logo i{  /* To style the icon in the logo in the navbar */
  color:var(--pink);
  padding:0 .2rem;
}

header .fa-bars{ /* To style the bars on the right for menu */
  font-size: 3rem;
  color:var(--pink);
  cursor: pointer; 
  display: none; /* Display none so that it doesn't show anything when on computer */
  transition: .5s; /* To set the speed the home bar should transition */
}

.home{    /* To style the Homepage just under the navbar */
  min-height: 100vh;
  background:linear-gradient(rgba(2, 1, 1, 0.8),rgba(20, 0, 4, 0.8)), url(images/4.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: 0;
  overflow:hidden;
  position: relative;
}

.home .content{    /* To style the content inside the Home page */
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  padding-top: 14rem;
  padding-bottom: 8rem;
  text-align: center;
}

.home .content h1{   /* To style the heading inside the Home page */
  font-size: 5rem;
  color: rgb(207, 204, 204);
  padding:0 1rem;
  text-shadow: 0 .3rem .5rem rgba(0,0,0,.3);
  text-transform: uppercase;
}

.home .content p{  /* To style the paragraph inside the Home page */
  font-size: 2rem;
  color:#eee;
  padding:2rem 25rem;
}

.home .content button{   /* To style the button in the Home page */
  height:4rem;
  width:20rem;
  border-radius: 5rem;
  background:rgb(1, 43, 59);
  color:#fff;
  font-size: 1.8rem;
  cursor: pointer;
  transition: .4s;
  border:none;
  box-shadow: 0 .3rem 1rem rgba(78, 1, 1, 0.3);
}

.home .content button:hover{   /* To style the hover effect on the button in the Home page */
  letter-spacing: .2rem;    /* When on hover, letters spacing increases */
}

.home .box-container{    /* To style the content inside the cards */
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.home .box-container .box{ /* To style the card itself */
  height:20rem;
  width:25rem;
  background: rgb(228, 227, 227);
  opacity: 1;
  text-align: center;
  border-radius: 1rem;
  box-shadow: 0 .9rem .5rem rgba(0,0,0,.5);
  margin: 2rem;
  cursor: pointer;
}


.home .box-container .box i{   /* To style the icons inside the cards */
  height:6rem;
  width:6rem;
  line-height: 6rem;
  text-align: center;
  border-radius: 50%;
  color:#fff;
  background:var(--violet);
  font-size: 3rem;
  margin:2rem 0;
  transition: .2s;
}

.home .box-container .box h3{ /* To style the heading inside the card */
  font-size: 2rem;
  color:var(--pink);
  transition: .2s;
}

.home .box-container .box p{ /* To style the paragraph inside the card */
  font-size: 1.3rem;
  padding:.7rem 2rem;
  color:#666;
}

.home .box-container .box:hover i{ /* To set the hover effect of the icons inside the cards*/
  background:var(--pink);
}

.home .box-container .box:hover h3{  /* To set the hover effect on h3 */
  color:var(--violet);
}

.home::before{    /* To set the cards appear across the border and the border to be curved */
  content: '';
  position: absolute;
  bottom:-25rem; left:50%;
  transform: translateX(-50%);
  border-top: 70vh solid #fff;
  width:120%;
  border-radius: 50%;
  z-index: -1;
}

.about .row{ /* To style the entire about us div */
  display: flex;
  justify-content: center;
  align-items: center;
}

.about .row .image img{  /* To style the image in the about us div */
  height:60vh;
  width:48vw;
  margin-top: 20px;
  border-radius: 5%;
  box-shadow: 0 0 0.7rem 0.6rem rgba(17, 51, 59, 0.3);
}

.about .row .content{ /* To style the content inside ABOUT US div */
  padding: 5rem;
}

.about .row .content h3{  /* To style the H3 inside ABOUT US div */
  font-size: 3rem;
  color:var(--pink);
}

.about .row .content p{  /* To style the paragraph inside ABOUT US div */
  font-size: 1.6rem;
  color:rgb(134, 134, 134);
  padding:2rem 0;
  font-weight: 400;
}

.about .row .content button{  /* To style the button inside ABOUT US div */
  height:3.5rem;
  width:17rem;
  background:var(--violet);
  color:#fff;
  border:none;
  border-radius: 5rem;
  box-shadow: 0 .8rem 1rem rgba(0,0,0,.3);
  cursor: pointer;
  font-size: 2rem;
  transition: .2s;
}

.about .row .content button:hover{  /* To style the button hover inside ABOUT US div */
  letter-spacing: .2rem;
  opacity: .8;
}


.about-content {
  padding-top: 20px; /* Margin of paragraph from top  */
}

.skills-bar p {
  margin-top: 6px; /* Margins of the progress bars */
  font-weight: 600; /* Weight of the progress bars headings */
}

.progress-bar {
  border-radius: 16px; /*To set the border radius inside the progress bars */
}

.progress{
  border-radius: 16px !important;
  margin-bottom: 10px;
}

/*-------------- Start of Services section styling --------------*/
.services-section{
  background: rgb(7, 20, 29);
  background-size: cover;
  padding: 60px 0;
}
.inner-width{
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 0 20px;
  overflow: hidden;
}
.section-title{
  text-align: center;
  color: #ddd;
  text-transform: uppercase;
  font-size: 30px;
}
.border{
  width: 160px;
  height: 2px;
  background: #82ccdd;
  margin: 40px auto;
}
.services-container{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.service-box{
  max-width: 33.33%;
  padding: 10px;
  text-align: center;
  color: #ddd;
  cursor: pointer;
}

.service-icon{
  display: inline-block;
  width: 70px;
  height: 70px;
  border: 3px solid #82ccdd;
  color: #82ccdd;
  transform: rotate(45deg);
  margin-bottom: 30px;
  margin-top: 16px;
  transition: 0.3s linear;
}
.service-box:hover {
  background: #456e79;
  opacity: 0.9;
  cursor: pointer; /*To make cursor change to pointer when on hover */
  transition: 0.9s; /*To set the speed of the hover effect */
  border-radius: 10%; /* To set the corners of the hover boxes */
}
.service-icon i{
  line-height: 70px;
  transform: rotate(-45deg);
  font-size: 26px;
}

.service-title{
  font-size: 18px;
  text-transform: uppercase;
  margin-bottom: 10px;
  font-weight: 500;
}
.service-desc{
  font-size: 14px;
  margin-top: 30px;
  margin-right: 30px;
  color: rgb(160, 156, 156);
}
/*-------------- End of Services section styling --------------*/



/*-------------- Start of teacher section styling --------------*/
.teacher{
  background:#f9f9f9;
  /* background:linear-gradient(rgba(2, 1, 1, 0.8),rgba(20, 0, 4, 0.8)), url(images/ship3.jpg) no-repeat; */
  background:linear-gradient(rgba(65, 66, 66, 0.8),rgba(1, 71, 88, 0.8)), url(images/star.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: 0;
  overflow:hidden;
  position: relative;
}

#price {
  color: whitesmoke;
}
#pricetitle {
  color: rgb(163, 159, 159);
}
.teacher .card-container{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding:2rem 0;
}

.teacher .card-container .card{
  padding:2rem; /*For padding for contents inside the card */
  margin: 2rem; /* To set the margins between the cards */
  background:rgb(206, 205, 205);
  text-align: center;
  width:28rem;
  /* box-shadow: 0 0 .7rem .5rem rgba(136, 135, 135, 0.3); */
  border-radius: 1rem;
}

.teacher .card-container .card img{
  height:10rem;
  width:100%;
  object-fit: cover;
  filter: grayscale(0);
  transition: .1s;
}

.teacher .card-container .card:hover img{
  filter: grayscale();
}

.teacher .card-container .card h3{
  color:var(--pink);
  font-size: 2rem;
  padding:.5rem 0;
}

.teacher .card-container .card p{
  font-size: 1.7rem;
  color:#666;
}

.teacher .card-container .card .icons a{
  font-size: 1.9rem;
  padding:1.5rem .5rem;
  color:var(--pink);
}

.teacher .card-container .card .icons a:hover{
  color:var(--violet);
}



/*--------To design the content paragrapgh inside the card--------*/
/* .price-content {
  display: inline;
  float: left;
  width: 100%;
  padding: 0 15px;
  margin: 5px;
} */

.teacher .card-container ul li {
  list-style: none; /* To remove the dots behind the list brought in by ul and li */
  display: row; /* To align the items in the navbar  in a line from left to right */
  margin-left: 10px; /* To create the spaces between the words in the navbar*/
  font-size: 1.6rem;
  float: left;
  margin: 2px;
}

.card ul li {
  border-bottom: 1px solid #b9b9b9; /* To create a line under each wording, its width, solid and its color */
  padding: 5px 5px; /*To determine the padding between the wording inside the paragraph in the card */
  list-style: none; /*To rremove the dot dots brought by ul li listing */
}

ul li:last-child {
  border: none;
}

/*--------To design the icons in the card-------------------*/
.fa-check-square{  /*Pick the icon by the bootstrap class name */
  color: green; /*Color of the icon*/
  margin-right: 10px; /* To set the margin between the icons and the words */
  font-size: 20px; /*To set the size of the icons */
}

#fa-award{  /*Pick the icon by the bootstrap class name */
  color: green; /*Color of the icon*/
  margin-right: 10px; /* To set the margin between the icons and the words */
  font-size: 20px; /*To set the size of the icons */
}

.fa-times-circle {
  color: rgb(148, 16, 16); /*Color of the icon*/
  margin-right: 10px; /* To set the margin between the icons and the words */
  font-size: 20px; /*To set the size of the icons */

}

/*-------------- End of teacher section styling --------------*/

.course{
background-color: rgb(228, 227, 227);
height: 100vh;
}

.course .box-container{  /*To set the styling for the courses section */
  width:85%;
  display: flex;
  justify-content: center;
  margin:0 auto;
  padding-top: 6rem;
  flex-wrap: wrap;
}

.course .box-container .box{ /* To design the card */
  height:29rem;
  width:25rem;
  margin:3.5rem 2rem;
  text-align: center;
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 .5rem .7rem .5rem rgba(2, 0, 0, 0.3);
  /* box-shadow: .3rem .3rem 0 .1rem var(--violet),
              .5rem .5rem .5rem rgba(0,0,0,.3); */
}

.course .box-container .box i{ /* To design the icons on the card */
  height:10rem;
  width:10rem;
  line-height: 8rem;
  text-align: center;
  color:#fff;
  border-radius: 50%;
  background:#040f0f;
  margin-top: -4rem;
  border:1rem solid #fff;
  border-left:1rem solid #040f0f;
  border-right:1rem solid #040f0f;
  box-shadow: 0 0 0 1rem #fff inset;
  font-size: 3.5rem;
}

.course .box-container .box h3{  /* To design the Headings on the card */
  font-size: 2rem;
  color:var(--violet);
}

.course .box-container .box p{ /* To design the paragraphs on the card */
  font-size: 1.5rem;
  color:#999;
  padding:1rem 3rem;
  font-weight: 500;
}

.review{
  background:#f9f9f9;
}

.review .box-container{
  display: flex;
  justify-content: center;
  padding-top: 4rem;
  flex-wrap: wrap;
}

.review .box-container .box{
  width:28rem;
  padding-bottom: 1rem;
  text-align: center;
  box-shadow: 0 .6rem .6rem .5rem rgba(0, 0, 0, 0.3);
  background:rgb(226, 225, 225);
  margin:4rem 2rem;
}

.review .box-container .box img{
  height:8.5rem;
  width:8.5rem;
  object-fit: cover;
  border-radius: 50%;
  margin-top: -4rem;
  border:.6rem solid var(--pink);
  border-left:.6rem solid var(--violet);
  border-bottom:.6rem solid var(--violet);
}

.review .box-container .box h3{
  font-size: 2rem;
  color:var(--pink);
  padding:0 .5rem;
  margin: 20px;
}

.review .box-container .box p{
  font-size: 1.4rem;
  color:rgb(47, 68, 70);
  padding:0 1.3rem;
  margin: 10px;
  font-weight: 400;
}

.review .box-container .box .stars i{
  font-size: 1.6rem;
  color:var(--violet);
  padding:1.3rem .1rem;
}

.contact{
  background: #040f0f;
}

.contact .row{
  display: flex;
  align-items: center;
  justify-content: center;
  padding:5rem 0;
}

.contact .row .image iframe{
  width: 40vw;
  height:75vh;
  padding-right: 3rem;
  border-radius: 20px;
}

#contact1 {
  color: #fff;
}

#contact2 {
  color: rgb(179, 180, 180);
}


.contact .row .form-container{
  width:50%;
  padding-right: 6rem;
}

.contact .row .form-container input, textarea{
  height:4rem;
  width:100%;
  background:#fff;
  border:none;
  border-radius: 5rem;
  padding:0 1rem;
  margin:1rem 0;
  color:var(--pink);
  font-size: 1.7rem;
  transition: .2s linear;
  background-color: #dcdddd;
}

.contact .row .form-container input:focus, textarea:focus{
  border:.2rem solid var(--pink);
}

.contact .row .form-container textarea{
  height:20rem;
  border-radius: 1rem;
  padding:1rem; 
  resize: none;
  background-color: #dcdddd;
}

.contact .row .form-container input[type="submit"]{
  width:17rem;
  background:var(--pink);
  color:#fff;
  cursor: pointer;
  font-size: 2rem;
  transition: .2s;
}

.contact .row .form-container input[type="submit"]:hover{
  background:none;
  color:var(--pink);
  border:.2rem solid #fff;
}

.footer{
  text-align: center;
}

.footer .icons{
  padding:3rem 0;
}

.footer .icons a{
  height:4.5rem;
  width: 4.5rem;
  line-height: 4.2rem;
  text-align: center;
  border-radius: 50%;
  color:var(--violet);
  border:.2rem solid var(--violet);
  font-size: 2rem;
  margin:0 .1rem;
  transition: .2s linear;
}

.footer .icons a:hover{
  color:#fff;
  background:var(--pink);
  border-color: var(--pink);
}


.footer .credit{
  font-size: 2rem;
  border-top: .1rem solid #999;
  margin:0 auto;
  margin-bottom: 2rem;
  color:#666;
  width:90%;
  padding:1rem 0;
}

.footer .credit span{
  color:var(--pink);
}




header .fa-times{    /* To set details of the X that appears when you click menu bars on mobile.
                                    Comes from the js function */
  transform: rotate(180deg);
  color:var(--violet);
}



/* media queries  */

@media (max-width:768px){

  html{
    font-size: 55%;   /* To set the font-sized when on phone */
  }

  header .fa-bars{  /* To make the home bars appear when on phone */
    display: block;
  }


  .home .content button{
    background:rgb(88, 96, 99);
  }


  header .navbar{
    position: fixed;  /* To make the navbar remain fixed when on phone */
    top:-100rem; right:0; 
    width:70%;
    background:rgb(177, 175, 175);
    border-radius: 2rem;
    opacity: 0;
    transition: .5s linear;
  }

  header .navbar ul{  /* To set the direction the menu should hover to when you click home on mobile */
    flex-flow: column;
    padding:2rem 0;
  }

  header .navbar ul li{ /* To set the details when you click home on mobile */
    margin:1rem 0;
    width:100%;
    text-align: center;
  }

  header .navbar ul li a{ /* To set details for the navbar when on mobile */
    font-size: 2rem;
    display: block;
  }

  header .nav-toggle{   /* To set details of the navbar box when clicked on phone */
    top:5.5rem;   /* To set distance from top of the navbar box when clicked on phone */
    opacity: 1;  /* To set the opacity of the navbar box when clicked on phone */
  }

  .home .content p{ /* To style the card content on phone*/
    padding:1.5rem 2rem;
  }

  .home::before{   /* To make the curve disappear when on phone */
    display: none;
  }

  .about .row{ /* To set the flow of the about us row view.
                 1) To be in column instead of organized in a row.
                 2) To be in reverse so that image can come on top then the paragraph */
    flex-flow: column-reverse;
  }

  .about .row .image img{ /* To style the image when on mobile */
    height:30vh;
    width:70vw;
    margin: 10px;
    border-radius: 5%;
    /* box-shadow: 0 0 0.7rem 0.6rem rgba(17, 51, 59, 0.3); */
    box-shadow: 0 .8rem 1rem 0.6rem rgba(54, 54, 54, 0.3);
    margin-top: 25px;
    margin-bottom: 25px;
  }

  .about .row .content{  /* To style the content when on mobile */
    padding: 0 6.5rem;
    margin-bottom: 20px;
  }

  .course{
    height:100rem;
  }

  .course .box-container{ /*To set the styling for the courses section */
    width:100%;
    height:29rem;
    margin:3.5rem 2rem;
  }

  .contact .row{
    flex-flow: column;
  }

  .contact .row .image iframe{
    height:50vh;
    width:90vw;
    border-radius: 9px;
  }

  .contact .row .form-container{
    width:90%;
    padding:0;
  }

  .teacher{
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
  }
}
@media (max-width:500px){
  .course{
    height:130rem;
  }

  .home .content button{
    background:rgb(88, 96, 99);
  }
  @media screen and (max-width:960px) {
    .service-box{
      max-width: 45%;
    }
  }
  
  @media screen and (max-width:768px) {
    .service-box{
      max-width: 50%;
    }
  }
  
  @media screen and (max-width:480px) {
    .service-box{
      max-width: 100%;
    }
  }
  
}