

@media screen and (max-width: 1800px) { 
	
.hero-text { width:42%; top:110px; margin:0; padding:0; margin-left:150px;  height: 50%; 
	}
.hero h1  {  font-size: 55px; line-height: 73px; }
.hero p  {  top:-1rem;   max-width: 90%;   font-size: 25px;  line-height: 34px;    }

 
.hero-text .cta-box { position: relative;  display:inline-block; top:-1rem;   width:500px; height:200px;   float:left; margin-left:2rem; z-index:999999999999999999;  } 
.hero-text .cta { position: relative;  display:inl-block;  float:left; top:15px; right:30px;  width:220px; height:40px;   border: 2px solid #FFFFFF; background: transparent;  } 
.hero-text .cta-extension, .bottom .cta-extension { position: relative;  display:inline-block; font-family: 'Roboto', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-style: normal;  font-weight:400;  font-size: 20px; line-height: 56px; color: #FFFFFF; vertical-align: middle; } 

	
}


@media screen and (max-width: 1599px) {  
	
	
    h2, h3{  font-size: 42px; line-height: 40px;   } 
    p { font-size: 20px; line-height: 30px;}

    header { height:700px; } 
	
	.navbar .logo {   width:260px;  top: 30px;  margin-left: -60px;  }
	
	
    .hero {   margin:0;  height: 900px; }  
    .hero-text { width:600px; top:120px; margin:0; padding:0; margin-left:100px;  height: 50%;  }
    .hero h1 {  font-size: 50px; line-height: 60px; }
	.hero p {   top:-1rem;   max-width: 100%;   font-size: 24px;  line-height: 33px; }	
	.hero .cta-box  {  top:-1rem;  } 
	
 
    .about, .team  {position:relative; top:30px;  padding:0; margin:0;  width:80%; margin-left:10%; margin-right:10%;  }
	

.about-detail, .team-members  {   width:80%; margin-bottom: 1rem;  padding:0; margin:0; margin-left:10%; margin-right:10%;  left:0;   }

.about-detail h2 { margin-bottom: 30px;    font-size: 38px; line-height: 48px;  margin-top:18px;}
.about-detail p { width: 100%;  text-align: center; }

	
    .practice  {left:2%; width:96%; height:auto;  top:80px;  margin-bottom:100px; }
    .practice-intro {width:46%; margin-top:40px;  padding: 4rem;   } .practice .link {margin-top:12%;   }
 

 	.team  {margin-top:0;  width: 100%;  left:0;  top: 120px; padding-bottom:0; padding:0; margin:0; }   
	 .team h2 {margin-bottom:30px;   margin-left:0px; width: 100%; font-size: 38px; line-height: 48px; } 


.team-members {  width:60%;   margin-left:20%;  margin-right:20%;   text-align: left;   margin-bottom:150px; } 

.team-members .member, .team-members .note  {   width:100%;  margin:0; } 
 

.member .detail, .team-members .note .detail { left:0;   height: auto; position: relative;  margin-top:6%; margin-bottom:6%;    } 
	
  .member .detail h3{ font-size: 20px; line-height: 30px;; margin-left:80px;  }  
 .member .detail img { position: absolute;   width:45px;    } 
	
 .team-members .note h3 {   margin-left: 80px; margin-top:6%; margin-bottom:6%; font-size:18px; line-height: 24px;  } 


	
  .bottom {  width: 90%; top:200px; padding:2%;  height: 400px;  text-align: center; margin-bottom: 150px;  }  
  .bottom h2 { font-size: 35px; line-height: 45px;  width:900px;  left: 50%; margin-left: -450px; top: -80px;   }  
	
  .bottom .cta {position:absolute;  display:block; text-align: center;  width: 200px;  left:50%; margin-left:-75px;  z-index:99; top:80px;   }
  
.bottom p { font-size:18px; position:relative;  display:block;  height: auto; margin:0;  width: 90%; margin-left:6% ; margin-right:4% ; margin-top: 5%; text-align: center;  color: white;  z-index:9; } 

	
	.bottom .bg {   top:-26%; margin:0; padding:0; width:100%; margin-right:23%; margin-left:1%;  height:400px;   background-size:100%;       }

 

.about .logo {  position: relative;  display:block;   width: 200px; height: auto;  padding-top: 80px; left:50%; margin-left:-100px;    }
.about p.copyright{  position: relative;  display:block; text-align: center;  width: 400px; height: 80px;  padding-top: 60px; left:50%; margin-left:-200px; font-size:18px; line-height: 25px;    }

	
}








@media screen and (max-width: 1279px) { 
	
	.wrapper {  max-width: 100%;  }
	
	a  {font-size:16px;}  .link  { font-size:16px; margin-top: 1.9rem;  }  
    p { font-size: 18px; line-height: 28px;}  
	p.eyebrow {   margin:0px; padding:0; font-size:16px; display:inline-block;} 

    header { height:600px; }
	
	.navbar .logo {   width:250px;  top: 28px;  margin-left: -65px;  }
	.navbar { height: 90px; padding-top: 20px;    }
	.navbar .cta { position: absolute;   right: 60px;  top: 22px; }
	.hero .cta-box  {  top:-1rem;  } 
	
    .hero {   top:0px; margin:0;  height: 400px; }  
    .hero-text { width:50%; top:20px; margin:0; padding:0; margin-left:80px;  height: 50%;  }
    .hero h1 {  font-size: 44px; line-height: 54px; }
	.hero p {  top:0;   max-width: 95%;   font-size: 24px;  line-height: 37px; }	
	
    .slider { height: 500px;  background-size: cover; }

 
 .about, .team  {position:relative; top:30px;  padding:0; margin:0;  width:80%; margin-left:10%; margin-right:10%;  }
	
.about-detail, .team-members  { position:relative; display: block;  width:81%; margin-bottom: 1rem;  padding:0; margin:0;  margin-left:10%; margin-right:10%;   }

.about-detail h2 {margin-top: 30px; margin-bottom: 30px;  width: 100%; position:relative;  display:inline-block;  height: auto; font-size: 30px; line-height: 40px; left:0; margin:0; padding:0;    }
.about-detail p { width: 100%;  text-align: center; }

	
    .practice  {left:2%; width:96%; height:100%;  top:80px;   }   .practice h2 {  font-size: 30px; line-height: 40px;  }
    .practice-intro {width:50%; margin-top:20px;  padding: 4rem;   } .practice .link {margin-top:12%;   }
	
 
.how-works-img {  height:30%; overflow: hidden;   margin-left:0%;   width:35%; vertical-align: middle; top:90px;  border-radius:15px; float: left;}  
.how-works-img img {position:relative; display: block;     width:100%;  border-radius:15px; vertical-align: bottom;   top:-20%; }
 
	
	.team  {margin-top:0;  width: 100%;  left:0;  top: 120px; padding-bottom:0; padding:0; margin:0; }   
	 .team h2 {margin-bottom:30px;   margin-left:0px; width: 100%; font-size: 30px; line-height: 40px; } 


.team-members {  width:60%;   margin-left:20%;  margin-right:20%;   text-align: left;   margin-bottom:200px; } 

.team-members .member, .team-members .note  {   width:100%;  margin:0; } 
 

.member .detail, .team-members .note .detail { left:0;   height: auto; position: relative;  margin-top:6%; margin-bottom:6%;    } 
	
  .member .detail h3{ font-size:18px; line-height: 24px; margin-left:80px;  }  
 .member .detail img { position: absolute;   width:45px; top:-10px;    } 
	
 .team-members .note h3 {   margin-left: 80px; margin-top:6%; margin-bottom:6%; font-size:18px; line-height: 24px;  } 

	
  .bottom {  width: 90%; top: 100px; padding:2%;  height: 520px;  text-align: left; margin-bottom:00px;  }  
  .bottom h2 { font-size: 30px; line-height: 39px;  width:600px;  left: 50%; margin-left: -260px; top: 30px;   }  
	
  .bottom .cta {position:absolute;  display:block; text-align: center;  width: 200px;  left:50%; margin-left:-60px;  z-index:99; top:160px;   }
  .bottom p { font-size:18px; position:relative;  display:block;  height: auto; margin:0;  width: 60%; margin-left:23% ; margin-right:16% ; margin-top: 15%; text-align: center;  color: white;  z-index:9;  left:0;   } 


	.bottom .logo {  width: 230px; height: 100px;  padding-top: 50px;  }
	.bottom .bg {   top:0; margin:0; padding:0; width:100%; margin-right:23%; margin-left:1%;  height:400px;   background-size:contain;       }

}




@media screen and (max-width: 960px) and (min-width: 400px) {

	
	header { height: 450px;  }
	
 .wrapper {  max-width: 99.9%;  }  
	
	 .about-detail h2, .practice-intro h2, .team h2, .bottom h2{  font-size: 25px; line-height: 32px; font-weight: bold;   } p { font-size: 18px; line-height: 28px;  }  
	p.eyebrow { margin-top: 30px; margin-bottom:0px; font-size:15px; display:inline-block; } 
	
  .navbar {  display: flex;  flex-direction: column;  height: 50px;  padding-top: 20px; position: sticky;    z-index: 999999999; }
  .navbar .logo { position: absolute;   left: 0; width:180px;  top: 22px;  margin-left: 30px;  }
 
	.cta {  width:160px; height:28px;  top:12px; right:00px;     font-size: 14px; line-height: 28px;  float: right;  } 
	.navbar .cta { position: absolute;   right: 15px;top:15px;  }
 
  .hero {  top: 30px;  height: 400px; text-align: left;   }
  .hero-text {  width: 77%; height: 200px;  margin: 0 auto;  top: 0.5%;  margin-left: 10%; }
  .hero h1 {  font-size: 30px;  line-height: 37px;  width: 92%;} 
  .hero p { font-size: 20px;  line-height: 25px; width: 92%; margin-bottom:0; top:5px; }  

  .hero .cta-box {  width:96%; height:100px; top:20px;  } 
  .hero .cta {  width:170px; height:28px;  top:20px; left:-33px;     font-size: 14px; line-height: 28px;     } 
  .hero-text .cta-extension, .bottom .cta-extension { font-size: 15px; line-height: 56px; top:10px;  left:-15px; }  .hero-text span{line-height:2rem;}
	
	

  .slider {  height: 400px; top:64px;    background: transparent url('images/hero-slider/hero-bg-mobile.jpg') no-repeat top center;  background-position: top center;  background-size: cover; }  
	

    .about, .team,  .practice {  display: block; position:relative;   width: 90%;  left: 2%;  top: 30px;  margin:0; padding: 0;  z-index:9;  }
	
	.about  {  display: block; position:relative;   width: 90%; height:auto;   left: 6%;    padding: 0; margin:0; z-index:9;  margin-bottom:60px;}
	
	.about .about-detail {width: 100%;   margin:0;  text-align: left;  } 
	.about-detail h2 { margin-left:0px; width: 100%; margin-top:10px; }
	.about .about-detail p { text-align: left; width: 100%; }
	.about-detail .cta-box { height: 50px; width: 80%;  margin-left:0; margin-right: 10%;  margin-top:40px; }
    .about-detail .cta-box .cta {float:left;    }

.practice {  height:auto;  margin :0; margin-left:0%;  width: 95%;  padding:0; right:0; float: left; top: 20px;    margin-bottom:60px; 
	  background-size: cover;  }  
  
.practice-intro {margin-top:0px;  padding:0;  padding-top:20px; padding-left:0; width: 90%; float: left;  margin-left:4%; } 
.practice-intro h2 { width: 100%; margin-top:10px;}  
	
.how-works-img { display: block;   overflow: hidden;  height:500px;  margin-left:4%;   width:90%; vertical-align: middle; top: 0px; text-align: center;   }  
.how-works-img img {position:relative; display: block;  top:00px;  width:100%; height:auto;   }
 
	
	.team  {margin-top:0;  width: 98%; height:auto; left:0;  top:60px; padding-bottom:0;   margin-bottom:240px; }   
	.team h2 {margin-bottom:30px;   margin-left:0px; width: 100%;margin-top:10px; }  

	   
	

.team-members {  width:90%;   margin-left:5%;  margin-right:5%;   text-align: left;   margin-bottom:200px; } 

.team-members .member, .team-members .note  {   width:100%;  margin:0; }  .team-members .note  .detail{   padding-right:5%;    } 
 

.member .detail, .team-members .note .detail { left:0;   height: auto; position: relative;  margin-top:6%; margin-bottom:6%;    } 
	
  .member .detail h3{ font-size:18px; line-height: 24px; margin-left:50px;  }  
 .member .detail img { position: absolute;   width:40px;     }   .member:nth-child(3) .detail img, .member:nth-child(4) .detail img  { top:0;   } 
	
 .team-members .note h3 {   margin-left: 50px; margin-top:6%; margin-bottom:6%;  }
	
	
  .bottom {  margin:0;  width: 90%; margin-left:5% ; margin-right:5%;  top:30px; padding:0;  height: 400px;  text-align: center; margin-bottom:-100px;   }  
  .bottom h2 { font-size: 23px; line-height: 34px;  width:360px;  left: 50%; margin-left: -180px; top: -60px; font-weight: 500;  }  
	
  .bottom .cta {position:absolute;  display:block; text-align: center;  width: 160px;  left:50%; margin-left:-75px;  z-index:99; top:100px;   }
  .bottom p { font-size:17px; position:relative;  display:block;  height: auto; margin:0;  width: 90%; padding:0%; margin-left:5% ; margin-right:5%;  margin-top: 10%; text-align: center;  color: white;  z-index:9; left:0; margin-top: 60px; } 

  .bottom .bg {   top:-26%; margin:0; padding:0; width:100%;    height:300px;   background-size:cover;       }

  .about .logo {  width: 180px; height: 80px;  padding-top: 80px; left:0; margin-left:10px;   }
  .about p.copyright {  width:68%; height: 80px;  padding-top: 0; left:0; margin-left:0px; font-size:15px; line-height: 25px;    }
	
	.full-width-bottom-section {    left: 45%;  right: 50%;   width: 105vw; } 
 

#popupModal {  width: 100%;  } 
	
.modal-content { width: 85%;  margin: 0 auto; left:-8px; padding: 10px; height: 420px;   border-radius: 15px; top:  40px;  max-width: 500px; margin-bottom:100px;  }
	
.iframe-container {   width: 100%;  padding-bottom: 120%;   top: 50px;  }

.iframe-container h3 {  font-size:26px;  padding:10px;  }

	.iframe-container .link {    height:130px;  }  
	.iframe-container .cta { font-size: 14px; line-height:40px;  margin-left:12%; margin-right:12%; width:76%;   top:5px; }
	.iframe-container .cta img { width:7%;   left:10px;     } 

	


	
}


@media screen and (max-width: 1079px) and (min-width: 640px) { 

.hero-images {   display:none;   }   
	
	.how-works-img {   height:42%; }  
.how-works-img img {  top:-26%; }

}



@media screen and (max-width: 399px) and (min-width: 100px) {

	
	header { height: 450px;  }
	
 .wrapper {  max-width: 99.9%;   }  
	
	 .about-detail h2, .practice-intro h2, .team h2, .bottom h2{  font-size: 22px; line-height: 30px; font-weight: bold;   } p { font-size: 16px; line-height: 24px;  }  
	p.eyebrow { margin-top: 30px; margin-bottom:0px; font-size:13px; display:inline-block;} 
	
  .navbar {  display: flex;  flex-direction: column;  height: 50px;  padding-top: 20px; position: sticky;    z-index: 999999999; }
  .navbar .logo { position: absolute;   left: 0; width:135px;  top: 23px;  margin-left: 15px;  }
 
	.cta {  width:140px; height:24px;  top:15px; right:0;     font-size: 13px; line-height: 26px;  float: right;  } 
	.navbar .cta { position: absolute;   right: 20px;  top:16px; }
 
  .hero {  top: 30px;  height: 400px; text-align: left;   }
  .hero-text {  width: 82%; height: 200px;  margin: 0 auto;  top: 2%;  margin-left: 30px; }
  .hero h1 {  font-size: 25px;  line-height: 33px;  width: 99%;} 
  .hero p { font-size: 18px;  line-height: 25px; width: 99%; margin-bottom:0; top:5px; }  

  .hero .cta-box {  width:90%; height:100px; top:20px;  } 
  .hero .cta {  width:140px; height:24px;  top:15px; left:-33px;     font-size: 13px; line-height: 26px;     } 
  .hero-text .cta-extension, .bottom .cta-extension { font-size: 15px; line-height: 56px; top:21px;  left:-15px; }  .hero-text span{line-height:2rem;}
	
	

  .slider {  height: 400px; top:60px;    background: transparent url('images/hero-slider/hero-bg-mobile.jpg') no-repeat top center;  background-position: top center;  background-size: cover; }  
	

    .about, .team,  .practice {  display: block; position:relative;   width: 90%;    top: 30px;  margin:0; padding: 0;  z-index:9;    }
	
	.about  {  display: block; position:relative;   width: 90%; height:auto;   left: 6%;    padding: 0; margin:0; z-index:9;  margin-bottom:60px;}
	
	.about .about-detail {width: 100%;   margin:0;  text-align: left;  } 
	.about-detail h2 { margin-left:0px; width: 100%; margin-top:10px; font-size: 22px;  line-height: 30px; }
	.about .about-detail p { text-align: left; width: 100%; font-size: 16px;  line-height: 24px;}
	.about-detail .cta-box { height: 50px; width: 80%;  margin-left:0; margin-right: 10%;  margin-top:30px; }
    .about-detail .cta-box .cta {float:left;    }

.practice {  height:auto;  margin :0; margin-left:0%;  width: 95%;  padding:0; right:0; float: left; top: 20px;    margin-bottom:60px; 
	  background-size: cover;  }  
  
.practice-intro {margin-top:0px;  padding:0;  padding-top:20px; padding-left:0; width: 90%; float: left;  margin-left:4%; } 
.practice-intro h2 { width: 100%; margin-top:10px;}   
	
.how-works-img { display: block;  height:400px; overflow: hidden;   margin-left:4%;   width:90%; vertical-align: middle; top:20px;  border-radius:15px; }  
.how-works-img img {position:relative; display: block;     width:100%;  border-radius:15px; vertical-align: bottom;   top:0; }
 
	
	.team  {margin-top:0;  width: 98%; height:auto; left:0;  top:60px; padding-bottom:0;   margin-bottom:240px; }   
	.team h2 {margin-bottom:30px;   margin-left:0px; width: 100%;margin-top:10px; }  

	   
	

.team-members {  width:90%;   margin-left:5%;  margin-right:5%;   text-align: left;   margin-bottom:200px; } 

.team-members .member, .team-members .note  {   width:100%;  margin:0; }  .team-members .note  .detail{   padding-right:5%;    } 
 

.member .detail, .team-members .note .detail { left:0;   height: auto; position: relative;  margin-top:6%; margin-bottom:6%;    } 
	
  .member .detail h3{ font-size:16px; line-height: 22px; margin-left:40px;  }  
 .member .detail img { position: absolute;   width:30px;     }   .member:nth-child(3) .detail img, .member:nth-child(4) .detail img  { top:0;   } 
	
 .team-members .note h3 {   margin-left: 50px; margin-top:6%; margin-bottom:6%; font-size:16px; line-height: 22px; }
	
	
  .bottom {  margin:0;   width: 96%; margin-left:2% ; margin-right:2%;  top:30px; padding:0;  height: 400px;  text-align: center; margin-bottom:-140px;   }  
  .bottom h2 { font-size: 20px; line-height: 30px;  width:320px;  left: 50%; margin-left: -160px; top: -40px; font-weight: 500;   }  
	
  .bottom .cta {position:absolute;  display:block; text-align: center;  width: 160px;  left:50%; margin-left:-75px;  z-index:99; top:80px;   }
  .bottom p { font-size:17px; position:relative;  display:block;  height: auto; margin:0;  width: 84%; padding:0%; margin-left:8% ; margin-right:8%;  margin-top: 10%; text-align: center;  color: white;  z-index:9; left:0; margin-top: 60px; } 

  .bottom .bg {   top:-26%; margin:0; padding:0; width:100%;    height:300px;   background-size:cover;       }

  .about .logo {  width: 160px; height: 80px;  padding-top: 80px; left:0; margin-left:10px;   }
  .about p.copyright {  width:85%; height: 80px;  padding-top: 0; left:0; margin-left:0px; font-size:13px; line-height: 20px;    }
	
	.full-width-bottom-section {    left: 45%;  right: 50%;   width: 105vw; } 
 
	
#popupModal {  width: 90%;  } 
	
.modal-content {  margin: 4% auto;  padding: 10px; height: 420px;   border-radius: 15px; top:  40px;  max-width: 500px;margin-bottom:100px;  }
	
.iframe-container {   width: 100%;  padding-bottom: 120%;   top: 50px;  }

.iframe-container h3 {  font-size:22px;  padding:10px;  }

	.iframe-container .link {    height:130px;  }  
	.iframe-container .cta { font-size: 14px; line-height:40px;  margin-left:5%; margin-right:5%; width:90%;   top:5px; }
	.iframe-container .cta img { width:7%;   left:10px;     } 


	
	
}

