@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@300;400;500;700&display=swap');

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Dosis', sans-serif;
    background-color: rgb(240, 240, 240);
    
}

@keyframes fade-in {
    from {opacity: 0; transform: translateY(25px);}
    to {opacity: 1;}
}

.fade-in-element-services { animation: fade-in 1.3s; }

/* ---------------------------------------------------------
                          Header
   --------------------------------------------------------- */

.about-home-hero { min-height: 300px; background-color: rgb(131, 131, 131); display: flex; flex-direction: column; justify-content: space-between; align-items: center; background-image: url("img/pages-hero.png"); background-position: center; background-repeat: no-repeat; background-size: cover; padding-bottom: 0px; }

.logo { height: 70px; width: auto; }

.menu { display: flex; flex-direction: row; justify-content: space-between; align-items: center; padding: 25px; position: fixed; z-index: 10; width: 100%; background-color: rgba(255, 255, 255, 0.566); }

/* .menu.scrolled {
    background: #0a0a0a;
  } */
  .scrolled {
    background-color: white;
  }

.nav-menu {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 0 0px;
}

.nav-item {
    color: black;
    text-decoration: none;
    font-size: 16px;
    margin-right: 20px;
    margin-left: 20px;
    text-transform: uppercase;
}
.login-btn { color: white; }
.uname-label { color: black; }

/* Home Hero */

.btn {
    color: white;
    text-decoration: none;
    text-align: center;
    transition: all .3s;
}

.btn:hover {
    transform: translateY(-5px);
    box-shadow: 0px 15px 20px rgba(0, 0, 0, 0.212);
}



.login-wrapper { position: fixed; right: 0; z-index: 100; display: none; background-color: rgba(255, 255, 255, 0); }
.login-form { display: flex; flex-direction: row; justify-content: center; align-items: center; }

.login-submit-btn { background-color: transparent; color: black; font-weight: 700; padding: 10px 0px; margin: 0px 0; border: none; cursor: pointer; width: 100%; font-size: 15px; transition: all, .3s; }

/* Login */
.login-btn { background-color: #54954C; border: 1px solid #54954C; color: white; padding: 9px 40px; border-radius: 100px; 
    letter-spacing: .3px; font-size: 14px; font-weight: 500; transition: all, .3s; }

/* Full-width input fields */
.login-input {
    width: 100%;
    padding: 8px 5px;
    margin: 15px 0;
    display: inline-block;
    border-top: none;
	  border-right: none;
    border-left: none;
    border-bottom: 2px solid rgb(148, 148, 148);
    box-sizing: border-box;
  }
  
  /* Set a style for all buttons */
  button { color: white; cursor: pointer; }

  .login-submit-btn { background-color: #4CAF50; color: white; padding: 10px 20px; margin: 8px 0; border: none; cursor: pointer; 
    width: 100%; font-size: 16px; transition: all, .3s; }
  
  button:hover { opacity: 0.8; }
  
  /* Extra styles for the cancel button */
  .cancelbtn { width: auto; padding: 10px 30px; background-color: #f44336; border: none; border-radius: 5px; }
  
  /* Center the image and position the close button */
  .imgcontainer { text-align: center; margin: 24px 0 12px 0; position: relative; }
  
  .container { padding: 16px; }
  
  span.psw { float: right; padding-top: 16px; font-size: 15px; }
  
  /* The Modal (background) */
  .modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    padding-top: 60px;
  }
  
  /* Modal Content/Box */
  .modal-content {
    background-color: #fefefe;
    margin: 5% auto 15% auto; /* 5% from the top, 15% from the bottom and centered */
    border: 1px solid #888;
    width: 80%; /* Could be more or less, depending on screen size */
  }
  
  /* The Close Button (x) */
  .close {
    position: absolute;
    right: 25px;
    top: 0;
    color: #000;
    font-size: 35px;
    font-weight: bold;
  }
  
  .close:hover, .close:focus { color: red; cursor: pointer; }
  
  /* Add Zoom Animation */
  .animate { -webkit-animation: animatezoom 0.6s; animation: animatezoom 0.6s }
  
  @-webkit-keyframes animatezoom {
    from {-webkit-transform: scale(0)} 
    to {-webkit-transform: scale(1)}
  }
    
  @keyframes animatezoom {
    from {transform: scale(0)} 
    to {transform: scale(1)}
  }

@media only screen and (max-width: 800px) {

    .login-wrapper { position: relative; right: 5; z-index: 100; display: none; width: 100%; margin: 10px 0; background-color: rgba(255, 255, 255, 0); }
    .login-form { display: flex; flex-direction: column; justify-content: center; align-items: center; }
    label { margin-left: 0px; margin-right: 0px; font-weight: 700; }
    label {  color: black; }
    .login-submit-btn {  color: black;  }
    .login-input { width: 100%; padding: 2px 5px; margin: 5px 0; border-bottom: 2px solid rgb(73, 73, 73); }
}

/* ---------------------------------------------------------
                    Services Page
   --------------------------------------------------------- */

   #services { padding: 30px 0; padding-bottom: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; }

   .section-heading { font-size: 40px; padding-bottom: 15px; border-bottom: 2px solid #54954C; width: 20%; text-align: center; margin-left: auto; margin-right: auto; margin-bottom: 15px; font-weight: 500; }
   .portfolio-testimonial-heading { width: 50%; }
   
   .services { display: flex; flex-direction: row; justify-content: center; align-items: center; flex-wrap: wrap; width: 100%; margin-left: auto; margin-right: auto; margin-top: 30px; }   
   .services a { width: 22%; }
   .service { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; }
   .portfolio-title { width: 18%; }
   .portfolio-title a { width: 100%; }
   
   .service-block { 
       display: flex; 
       flex-direction: column; 
       justify-content: center; 
       align-items: center; 
       width: 100%;
       background-color: #444444;
       color: white;
       padding: 2px 0;
       min-height: 35px;
       transition: all, .3s;  
   }
   .service-block:hover { transform: translateY(-4px); box-shadow: none; background-color: #54954C; color: white; }
   
   
   .service-block h1 { text-align: center; font-size: 17px; font-weight: 500; }
   
   .service-text { display: none; text-align: center; width: 50%; margin: 30px 0; margin-left: auto; margin-right: auto; font-size: 20px; }
   .support-text {  }
   .support-text h4 { font-size: 23px; font-weight: 500; margin: 20px 0; }

   .support-btn { width: 30%; padding: 14px 20px; border-radius: 5px; margin: 20px 0; font-weight: 500; font-size: 16px; }
   .support-btn:hover { background-color: rgb(109, 190, 98); box-shadow: none; }

   .service-text-intro { width: 70%; text-align: center; margin: 50px 0; display: flex; flex-direction: column; justify-content: center; align-items: center; }
   .serivce-text-intro { display: flex; }  .service-text-intro h1 { font-weight: 700; color: #54954C; margin: 15px 0; font-size: 25px; }
   .service-text-intro p { font-weight: 500; margin: 25px 0; font-size: 20px; line-height: 26px; letter-spacing: .5px; }

   .service-text h1 { font-weight: 700; color: #54954C; margin: 15px 0; font-size: 25px; }
   .service-text h2 { font-size: 28px; font-weight: 700; margin-top: 20px; }
   .service-text h3 { font-size: 24px; font-weight: 500; margin-top: 20px; }
   .service-text p { font-weight: 500; margin: 25px 0; font-size: 20px; line-height: 26px; letter-spacing: .5px; }
   .service-img-wrapper { width: 80%; display: flex; flex-direction: row; justify-content: center; flex-wrap: wrap; align-items: center; }
   .service-img { width: 50%; height: auto; }
   .service-text ul { margin-top: 20px; margin-bottom: 50px; text-align: left; }
   .service-text ul li { margin: 10px 0; text-align: left; list-style: outside; }

@media only screen and (max-width: 800px) {

    .services { display: flex; flex-direction: row; justify-content: center; align-items: center; flex-wrap: wrap; width: 100%; margin-left: auto; margin-right: auto; margin-top: 30px; } 

    .services-page-section-heading { width: 65%; }
    .portfolio-testimonial-heading { width: 90%; }

    .service { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; }
    .services a { width: 100%; }
    .service-text { width: 80%; }

    .service-block { padding: 4px 0; }

    .service-text-intro { width: 90%; text-align: center; margin: 35px 0; display: flex; flex-direction: column; justify-content: center; align-items: center; }
    .service-text p { font-weight: 500; margin: 15px 0; font-size: 20px; line-height: 26px; letter-spacing: .5px; }

    .support-btn { width: 70%; padding: 12px 20px; border-radius: 5px; margin: 20px 0; font-weight: 500; font-size: 15px; }
    .portfolios-wrapper { display: flex; flex-direction: row; justify-content: center; align-items: center; flex-wrap: wrap; width: 100%; }
    .portfolio-title { width: 45%; box-shadow: none; }

}



/* ---------------------------------------------------------
                      Footer
   --------------------------------------------------------- */

footer { display: flex; flex-direction: column; justify-content:center; align-items: center; padding: 50px 0; background-color: rgb(17, 17, 17); }   

.footer-row { display: flex; flex-direction: column; justify-content:center; align-items: center; }
.footer-row h2 { font-size: 20px; font-weight: 500; color: white; }
.footer-locations { display: flex; flex-direction: row; justify-content: center; align-items: center; }
.footer-locations p { margin: 10px 12px; text-align: center; font-weight: 500; color: white; }
.copyright { text-align: center; margin: 10px 0; font-weight: 500; color: white; }

.service-img-wrapper { width: 100%; display: flex; flex-direction: row; justify-content: center; flex-wrap: wrap; align-items: center; }
.service-img { width: 50%; height: auto; }