@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,700;1,400&family=Space+Mono:wght@700&display=swap');

body, html {
	font-family: 'DM Sans', sans-serif;
	font-size: 18px;
	line-height: 26px;
	margin: 0px;
	padding: 0px;
	height: 100%;
	background-color: #000;
}

.align_left {
	text-align: left;
}
 
.align_center {
	text-align: center;
}

.align_right {
	text-align: right;
}

.clear {
	clear: both;
}

.block {
	display: block !important;
}

.inline_block {
	display: inline-block !important;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Space Mono', monospace;
}

h2 {
	font-size: 36px;
	line-height: 1.2;
}

h3 {
	font-size: 28px;
	line-height: 1;
}

h4 {
	font-size: 20px;
	line-height: 1;
}

h5.section_subtitle {
	font-size: 18px;
	font-style: italic;
	margin-top: 20px;
}

.sans_serif {
	font-family: 'DM Sans', sans-serif;
}

/* ---------------  Margins+Padding ---------------- */
.padding_top_fifteen {
	padding-top: 15px;
}

.no_left_padding {
	padding-left: 0px !important;
}

.no_right_padding {
	padding-right: 0px !important;
}

.no_bottom_padding {
	padding-bottom: 0px !important;
}

.top_margin {
	margin-top: 25px;
}

.no_top_margin {
	margin-top: 0px !important;
}

.no_bottom_margin {
	margin-bottom: 0px !important;
}

.large_top_margin {
	margin-top: 50px;
	padding-top: 0px;
} 

.large_bottom_margin {
	margin-bottom: 50px;
	padding-bottom: 0px;
}

/* ---------------  Color+Weights ---------------- */
.white {
	color: #fff !important;
}

.pink {
	color: #F94EF5 !important;
}

.bold {
	font-weight: bold !important;
}

.light {
	font-weight: normal;
}

/* ---------------  Links ---------------- */
a, 
a:hover,
a:active,
a:focus {
	text-decoration: none;
	outline: none;
	border: 0px;
}

p {
	margin: 0 0 25px;
}

.button {
	border: 0px;
	border-radius: 25px;
	text-align: center;
	font-size: 24px;
	line-height: 1;
	padding: 15px 25px;
}

.button_pink {
	background-color: #F94EF5;
	color: #000;
}

.hover_white:hover {
	background-color: #fff;
	color: #F94EF5;
}

/* ---------------  Structural ---------------- */
#wrapper_container {
	background-color: #fff;
}


/* ---------------  Content Slides ---------------- */
.content_slide {
	padding-top: 0px;
	padding-bottom: 0px;
}

/* Clear after Slide */
.content_slide:after {
  content: "";
  display: table;
  clear: both;
}

.content_slide .container {
	padding-top: 90px;
	padding-bottom: 90px;
}

.content_slide .container.full_width {
	width: 100% !important;
	max-width: 100% !important;	
}

.content_slide .container.full_width .row {
	margin-left: 0px;
	margin-right: 0px;
}

.content_slide .container.full_width .row .col-md-12 {
	padding-left: 0px;
	padding-right: 0px;
}

.wrapper_white {
	background-color: #fff !important;
}

.wrapper_black {
	background-color: #000 !important;
}

.contianer_white .container {
	background-color: #fff !important;
}

.container_black .container {
	background-color: #000 !important;
}

.container_gray .container {
	background-color: #DADADA !important;
}

.top_border_pink .container {
	border-top: 6px #F94EF5 solid;
}

.top_container_border_pink {
	border-top: 6px #F94EF5 solid;
}

.bottom_container_border_pink {
	border-bottom: 6px #F94EF5 solid;
}

.section_title_wrapper {	
	margin-bottom: 90px;
}

.section_title_wrapper * {
	padding: 0px;
	margin: 0px;
}

.title_center .section_title_wrapper h2 {
	text-align: center;
}

.title_pink .section_title_wrapper * {
	color: #F94EF5;	
}

.fade_in_out {
	opacity: 1;
}


/* ---------------  Home ---------------- */
#home_header { 
	background-color: #000; 
	background-image: url('../img/home/header_terrain_flattened.jpg');
	background-position: top right;
	background-size: auto 100%;
	background-repeat: no-repeat;
	width: 100%;	
	min-height: 800px;
}

#home_header .fill_to_height {
	min-height: 800px;
}

#home_header_logo {
	min-width: 300px;
	margin-bottom: 75px;
}

#home_header_separator {
	margin-top: -35px;
	background: linear-gradient(rgba(0,0,0,0) 22%, #DADADA 22%);	
	padding-top: 0px;
	padding-bottom: 60px;
}

#home_header_byline_bcorp {
	padding-left: 10px;
	height: 100%;
}

.home_testimonials_slide {
	border-left: 30px #fff solid;
	border-right: 30px #fff solid;
}

.home_testimonials_slide .home_testimonials_slide_inner {
	background-color: #DADADA;
	padding: 80px;	
	padding-bottom: 0px;
	margin: 0 auto;	
}

.home_testimonials_slide .home_testimonials_slide_inner .home_testimonials_slide_inner_content_wrap {
	padding: 40px;
}

.home_testimonials_slide .home_testimonials_slide_inner .home_testimonials_slide_inner_content_wrap h3 {
	line-height: 1.5
}

.slick-track{
    display: flex;
}

.slick-track .slick-slide {
	height: auto;
}

.slick-track .slick-slide:active,
.slick-track .slick-slide:focus {
	outline: none;
}

.slick-track .slick-slide .home_testimonials_slide_inner {
	height: 100%;
}

.home_testimonials_slide_content {
	margin-top: 30px;
	margin-bottom: 30px;
}

.home_testimonials_slide_author {
	font-weight: bold;
}

.home_testimonials_slide_logo {
	display: block;
	margin-top: 50px;
}

.home_testimonials_slide_inner_text_wrap {
	position: relative;	
}

.home_testimonials_slide_inner_text_wrap:before { 
	content: " ";
	position: absolute;
	top: -25px;
	left: -155px;
	height: 115px;
	width: 115px;
	background-image: url('../img/home/speechmarks_left.png');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.home_testimonials_slide_inner_text_wrap:after { 
	content: " ";
	position: absolute;
	bottom: -35px;
	right: -155px;
	height: 115px;
	width: 115px;
	background-image: url('../img/home/speechmarks_right.png');
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

#home_section_how_it_works {
	background-image: url('../img/home/mt_taranaki_topography.png');
	background-position: top right;
	background-repeat: no-repeat;
	
}

.fade_in_out {
	opacity: 1;
}

.team_member_bio_picture {
	width: 100%;
	height: 100%;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

/* ---------------  Footer ---------------- */
#footer_wrapper {
	border-top: 6px #F94EF5 solid;
	background-color;
	padding-top: 180px;
	padding-bottom: 180px;	
}

#footer_wrapper .form-control {
	font-size: 18px;
	padding: 20px;
	color: #000;
}

#footer_wrapper .form-control::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #6D6E70;
  opacity: 1;
}

#footer_wrapper .form-control:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #6D6E70;
}

#footer_wrapper .form-control::-ms-input-placeholder { /* Microsoft Edge */
  color: #6D6E70;
}

#footer_spacer {
	width: 100%;
	height: 150px;
	background-color: #fff;
}

#footer_contact_strip {
	background-color: #fff;
	padding-top: 80px;
	padding-bottom: 80px;	
}

#footer_contact_strip a,
#footer_contact_strip span {
	font-weight: bold;
	color: #F94EF5;
	font-size: 18px;
}

ul.pink_list {
	list-style: none;
	padding-left: 15px;
}

ul.pink_list li:before {
  content: "\2022";
  color: #F94EF5;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}

ul.pink_list li {
	color: #fff;
}

#footer_strip_menu {
	width: 100%;
	list-style-type: none;
	margin: 0px;
	padding: 0px;
	display: table;
}

#footer_strip_menu li {
	display: table-cell;	
}

#footer_strip_menu li a {
	display: block;
}

/* ---------------  Container Overrides ---------------- */
@media (min-width: 1200px) {
	.container {
	    padding-left: 100px;
	    width: 1370px;
	    padding-right: 100px;
	    max-width: -moz-calc(100% - 200px);
		max-width: -webkit-calc(100% - 200px);
		max-width: -o-calc(100% - 200px);
		max-width: calc(100% - 200px);
	}
}

/* ---------------  CContact Form ---------------- */
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #F94EF5 !important;
    background: #F94EF5;
    color: #fff;
    font-size: 16px;
    padding: 10px;
}


/* ---------------  Bootstrap Table Columns ---------------- */

.row-height {
  display: table;
  table-layout: fixed;
  height: 100%;
  width: 100%;
}
.col-height {
	position: relative;
  display: table-cell;
  float: none;
  height: 100%;
}
.col-top {
  vertical-align: top;
}
.col-middle {
  vertical-align: middle;
}
.col-bottom {
  vertical-align: bottom;
}

@media (min-width: 480px) {
  .row-xs-height {
    display: table;
    table-layout: fixed;
    height: 100%;
    width: 100%;
  }
  .col-xs-height {
    display: table-cell;
    float: none;
    height: 100%;
  }
  .col-xs-top {
    vertical-align: top;
  }
  .col-xs-middle {
    vertical-align: middle;
  }
  .col-xs-bottom {
    vertical-align: bottom;
  }
}

@media (min-width: 768px) {
  .row-sm-height {
    display: table;
    table-layout: fixed;
    height: 100%;
    width: 100%;
  }
  .col-sm-height {
    display: table-cell;
    float: none;
    height: 100%;
  }
  .col-sm-top {
    vertical-align: top;
  }
  .col-sm-middle {
    vertical-align: middle;
  }
  .col-sm-bottom {
    vertical-align: bottom;
  }
}

@media (min-width: 992px) {
  .row-md-height {
    display: table;
    table-layout: fixed;
    height: 100%;
    width: 100%;
  }
  .col-md-height {
    display: table-cell;
    float: none;
    height: 100%;
  }
  .col-md-top {
    vertical-align: top;
  }
  .col-md-middle {
    vertical-align: middle;
  }
  .col-md-bottom {
    vertical-align: bottom;
  }
}

@media (min-width: 1200px) {
  .row-lg-height {
    display: table;
    table-layout: fixed;
    height: 100%;
    width: 100%;
  }
  .col-lg-height {
    display: table-cell;
    float: none;
    height: 100%;
  }
  .col-lg-top {
    vertical-align: top;
  }
  .col-lg-middle {
    vertical-align: middle;
  }
  .col-lg-bottom {
    vertical-align: bottom;
  }
}

/* --------------- FLUID GRID ---------------- */
ul.fluid_grid,
ul.fluid_number_grid {
	width: 100%;
	list-style-type: none;
	padding: 0px;
	margin: 0px;
	display: flex;
  	flex-wrap: wrap;
}

ul.fluid_grid.four_grid li,
ul.fluid_number_grid.four_grid li {
	width: 25%;
	padding: 3%;
}

ul.fluid_grid.three_grid li,
ul.fluid_number_grid.three_grid li {
	width: 32.3333333%;	
	margin-bottom: 6%;
}

ul.fluid_grid.two_grid li,
ul.fluid_number_grid.two_grid li {
	width: 48.3333333%;	
	margin-bottom: 6%;
}

ul.fluid_grid li h3,
ul.fluid_number_grid li h3 {	
	font-weight: bold;
}

ul.fluid_grid.three_grid li:nth-child(3n+2) {
	margin-left: 1.5%;
	margin-right: 1.5%;	
}

ul.fluid_grid.two_grid li:nth-child(even) {	
	margin-left: 1.5%;	
}

ul.fluid_grid.two_grid li:nth-child(odd) {	
	margin-right: 1.5%;	
}

ul.fluid_number_grid li * {
	text-align: center;
}

ul.fluid_number_grid li span.number_count {
	display: block;
	font-weight: bold;
	font-family: 'Source Serif Pro', serif;
	font-size: 1.666rem;	
}

ul.fluid_number_grid li h4 {
	font-family: 'Poppins', sans-serif;
	font-size: .777rem;
	font-weight: bold;	
}

ul.fluid_grid.larger_padding li {
	padding: 3%;
}
