/* Homepage specific styling goes here. Excluded on all subpages */
/* For most builds, this stylesheet should be wiped and started fresh */

.green{
	color: #53E466;
}

span{
	display: inline-block;
}

/* HOME HERO */

.home-hero {
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	padding-top: 100%;
}

.hero_tagline{
	background-color: #06121A;
	padding: 30px 65px;
	text-align: center;
}

.hero_tagline h1{
	color: #fff;
	font-family: 'IBM Plex Sans';
	font-size: 3rem;
	text-transform: uppercase;
}

.hero_tagline h1 span{
	color: #fff;
	font-family: 'IBM Plex Sans';
	font-size: 1.375rem;
	font-weight: 400;
	display: block;
}

@media screen and (min-width: 1025px) {

	.home-hero {
		padding-top: 55.5%;
		position: relative;
	}

	.hero_tagline{
		background-color: transparent;
		text-align: left;
		position: absolute;
		left: 0;
		top: 50%;
    transform: translateY(-50%);
	}
	
	.hero_tagline h1{
		font-size: 4.375rem;
	}
	
	.hero_tagline h1 span{
		font-size: 2.5rem;
	}
}

@media screen and (min-width:1650px){

	.hero_tagline{
		padding: 0 0 0 120px;
	}

	.hero_tagline h1{
		font-size: 7.9375rem;
	}
	
	.hero_tagline h1 span{
		font-size: 3.75rem;
	}

	.hero_tagline .button{
		font-size: 1.4375rem;
	}
}

/* SECTION - INTRO TEXT  */

.intro_text{
	padding: 40px 0 60px;
	text-align: center;
}

.intro_text h2{
	font-size: 1.875rem;
	color: #1A325E;
	text-transform: uppercase;
	font-weight: 700;
}

@media screen and (min-width:1025px){

	.intro_text{
		padding: 100px 0 120px;
	}

	.intro_text h2{
		font-size: 3.125rem;
	}

	.intro_text p{
		font-size: 1.175rem;
		padding: 0 15px;
	}

	.intro_text .button{
		font-size: 1.1375rem;
		font-weight: 700;
	}
}

/* SECTION - PRACTICE AREAS */

/* SECTION - WHY HIRE */
.more_content.button {
	margin: auto !important;
	display: block;
	max-width: 180px;
	display:none;
}
.button_content {
	background: rgba(0, 137,203);
	max-width: 1000px;
	margin-top: 50px;
    margin-left: auto;
    margin-right: auto;
    padding: 4% 35px;
}
.button_content h1, .button_content h2, .button_content h3, .button_content p {
	color:#fff;
}
.button_content a {
	color:#fff;
	text-decoration:underline;
}

/* In style.css */

/* SECTION - TESTIMONIALS  */

.testimonials{
	border-style: solid;
  border-width: 40px 35px 95px;
	border-color: #fff;
	background-color: #0089CB;
	padding: 50px 30px 0;
}

.testimonials-container{
	position: relative;
}

.testimonials-container h2{
	color: #fff;
	font-size: 1.875rem;
	font-weight: 700;
}

.testimonials-container i{
	color: #fff;
	margin-right: 5px;
}

.slider-testimonial-content{
	font-family: 'Merriweather';
	font-style: italic;
	font-size: 1.375rem;
}

.testimonials .slider-testimonial-source{
	margin-bottom: 60px;
	font-family: 'Merriweather';
	font-size: 1.375rem;
}

.testimonials .slick-dots {
  bottom: calc(-95px / 2);
	transform: translateY(50%);
	display: flex;
	justify-content: center;
}

.slider-testimonial-single *{
	color: #fff;
}

.testimonials .slick-arrow-container{
	left: -35px;
	width: calc(100% + 70px);
}

.testimonials .slick-arrow-container button{
	width: 75px;
	height: 75px;
	background-color: #fff;
	border-radius: 50%;
	font-size: 2.25rem;
}

#slider-testimonials-a-prev{
	transform: translateX(-50%);
}

#slider-testimonials-a-next{
	transform: translateX(50%);
}

.testimonials .slick-arrow-container i{
	color: #0089CB;
}

.testimonials .slick-dots li button{
	width: 10px;
	height: 10px;
}

.testimonials .slick-dots li button:before {
  color: #53E466;
}

.testimonials .slick-dots li.slick-active button .slick-dot-icon:before {
  color: #53E466;
}

@media screen and (min-width:1025px){
	.testimonials{
		max-width: 965px;
    margin: 0 auto;
		padding: 0;
		border-width: 0;
	}

	.testimonials-container{
		padding: 60px 80px 10px;
	}

	.slider-testimonial-content,
	.testimonials .slider-testimonial-source{
		font-size: 1.25rem;
	}

	.testimonials .slick-dots {
		bottom: -50px;
	}

	.testimonials .slick-arrow-container{
		left: 0;
		width: 100%
	}

	.testimonials-container h2{
		font-size: 2.4rem;
	}
}

@media screen and (min-width:1650px){

	.testimonials{
		max-width: 1400px;
	}

	.testimonials .slick-dots {
		bottom: -100px;
	}

	.testimonials-container h2{
		font-size: 3.125rem;
	}

	.slider-testimonial-content,
	.testimonials .slider-testimonial-source{
		font-size: 1.5rem;
	}

	.testimonials-container{
		padding: 120px 200px 60px;
	}
}

/* SECTION  - MEET JOHN  */

.meet_john{
	padding: 0 0 30px;
}

.meet_john .top{
	margin-bottom: 20px;
	text-align: center;
}

.meet_john .bottom h2{
	color: #1A325E;
	font-weight: 700;
	text-transform: uppercase;
}

.meet_john .bottom .subtitle{
	color: #0089CB;
	font-size: 1.3125rem;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 15px;
}

.meet_john .bottom p{
	font-size: 1.175rem;
}

.content_wrapper.whisker::before,
.content_wrapper.whisker::after{
	display: none;
}

@media screen and (min-width:640px){
	.meet_john .bottom h2,
	.meet_john .bottom .subtitle{
		text-align: center;
	}	
}

@media screen and (min-width:1025px){
	.meet_john .flexer{
		display: flex;
    flex-direction: row-reverse;
	}

	.meet_john{
		padding: 200px 0;
	}

	.meet_john .top img{
		max-width: 100%;
		position: relative;
		z-index: 2;
	}

	.meet_john .bottom{
		margin-right: 8%;
    width: 45%;
	}

	.meet_john .bottom h2, 
	.meet_john .bottom .subtitle{
		text-align: left;
	}

	.meet_john .bottom .subtitle{
		line-height: 1.2;
	}

	.meet_john .subtitle br{
		display: none;
	}

	.subtitle.whisker::before,
	.subtitle.whisker::after{
		display: none;
	}

	.content_wrapper.whisker::before,
	.content_wrapper.whisker::after{
		display: block;
	}

	.whisker::before{
		left: initial;
		right: calc(100% + 30px);
		width: 100vw;
		height: 12px;
	}
	
	.whisker::after{
		left: calc(100% + 30px);
		right: initial;
		width: 100vw;
		height: 12px;
	}

	div.section_wrapper{
		padding: 140px 0 0;
		background-repeat: no-repeat;
		background-position-x: right;
	}
}

@media screen and (min-width:1650px){
	div.section_wrapper{
		padding: 200px 0 0;
	}

	.meet_john{
		padding: 260px 0 100px;
	}
}

/* SECTION - INFO  */

.info{
	padding: 40px 0 25px;
	background-size: cover;
	background-repeat: no-repeat;
}

.info .top{
	text-align: center;
	margin-bottom: 15px;
}

.info .single_info{
	margin-bottom: 50px;
}

.info .bottom .title{
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
}

.info .bottom p{
	color: #fff;
}

@media screen and (min-width:1025px){

	.info{
		padding: 160px 60px 40px 0;
	}

	.info .top{
		display: none;
	}

	.info .bottom{
		display: grid;
		grid-template-columns: 1fr 1fr;
		max-width: 70%;
		margin-left: auto;
		grid-gap: 0 160px;
	}

	.info .bottom .title{
		font-size: 1.575rem;
		margin-bottom: 6px;
	}

	.info .bottom p{
		font-size: 1.175rem;
	}
}

/* SECTION - CLIENT CODE  */

.client_code{
	padding: 50px 0 15px;
}

.client_code h2{
	font-size: 2.0625rem;
	font-weight: 700;
	color: #1A325E;
	margin-bottom: 20px;
}

.single_code{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

.single_code .left{
	width: 12.33%;
	text-align: center;
	margin: 8px 15px 0 0;
}

.single_code .left .number{
	font-size: 1.25rem;
	font-weight: 600;
	color: #0089CB;
	background-size: cover;
	background-repeat: no-repeat;
	width: 37px;
	height: 39px;
}

.single_code .right{
	flex: 1;
	text-align: left;
}

.single_code .right h3{
	color: #0089CB;
	font-size: 1.125rem;
	margin-bottom: 15px;
}

@media screen and (min-width:1025px){

	.client_code{
		padding: 100px 0 120px;
	}

	.client_code p.whisker{
		max-width: 72%;
		font-size: 1.175rem;
		margin-bottom: 70px;
	}

	.client_code .codes{
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr 1fr;
		grid-auto-flow: column;
    grid-gap: 0 100px;
	}
}

@media screen and (min-width:1650px){
	.single_code .right h3,
	.single_code .right p{
		font-size: 1.175rem;
	}

	.single_code .left .number{
		width: 55px;
		height: 58px;
		line-height: 45px;
		font-size: 1.8125rem;
	}
}
@media screen and (max-width:1024px){
.hero_tagline {
    background-color: #06121A;
    position: relative;
	padding:30px;
    left: unset;
    top: unset;
    transform: unset;
    text-align: center;
}
.hero_tagline h1 {
    color: #fff;
    font-size: 3rem;
    text-transform: uppercase;
}
.hero_tagline h1 span {
    font-size: 1.375rem;
    font-weight: 400;
    display: block;
}
}
.office_info{
	display: none;
}
@media screen and (max-width:767px){
	.home-hero{background-size:contain}
}