/* Defaults
------------------------------------------------------------------------------ */
:root
{
    --body-font: "Saira Extra Condensed", sans-serif;
    --body-fallback-font: 'Arial', sans-serif;
    --body-bg:#1C453B;
    --body-text-color: #ffffff;
    --tt-dark-green: #1C453B;
    --tt-gold: #C2B28B;
    --heading-font: "Saira Extra Condensed", sans-serif;
    --heading-fallback-font: 'Arial', sans-serif;
}
body 
{
    font-family: var(--body-font), var(--body-fallback-font);
    font-weight: 400;
    font-size: 16px;
	font-style: normal;
    line-height: 20px;
    background-color: var(--body-bg);
	letter-spacing: normal;
	color: var(--body-text-color);
    padding: 0px 0px 0px 0px;
    margin: 0px 0px 0px 0px;
}
html, body
{
	height: 100%;
	margin: 0;
}

/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a
{
	color: var(--body-ne-lime); 
	text-decoration: none;
}
a:hover
{
	text-decoration: underline;
}


/* Headings
------------------------------------------------------------------------------ */
h1, h2, h3
{
	font-family: var(--heading-font), var(--heading-fallback-font);
	font-style: normal;
	font-weight: 500;
	font-style: normal;
	letter-spacing: normal;
	padding: 0px 0px 100px 0px;
	margin: 0px 0px 0px 0px;
	color: var(--body-text-color);
}
h1
{
	font-size: 3.8em;
	line-height: 1.25;
	color: var(--tt-gold);
}
h2
{
	font-size: 2.7em;
	line-height: 1.5;
	padding-bottom: 40px;
}
h3
{
	font-weight: 600;
	font-size: 28px;
	line-height: 34px;
	color: var(--baf-dark-blue);
	padding: 20px 0px 20px 0px;
	margin-left: 16%;
	margin-right: 16%;
}
h4
{
	font-family: var(--heading-font);
	font-weight: 700;
	font-size: 40px;
	font-style: normal;
	line-height: 50px;
	letter-spacing: normal;
	color: var(--baf-light-blue);
	padding: 80px 0px 30px 0px;
}
h5
{
	font-family: var(--heading-font);
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	color: var(--baf-dark-blue);
	letter-spacing: normal;
}
/* Up to 550px */
@media only screen and (max-width: 550px) {
	h1.section_heading 
	{
		text-align: center;
	}
}
@media only screen and (max-width: 650px) {
	h3
	{
		margin-left: 5%;
		margin-right: 5%;
	}
}

/* Paragraphs
------------------------------------------------------------------------------ */
p
{
	font-size: 1.5em;
}
/* Default Buttons
------------------------------------------------------------------------------ */
a.btn,
button
{
	display: inline-block;
	padding: 20px 30px 20px 30px;
	margin: 10px 0px 10px 0px;;
	font-family: var(--body-font), var(--body-fallback-font);
	font-weight: 600;
	font-size: 16px;
	line-height: 16px;
	background-color: var(--body-bg);
	color: var(--baf-dark-blue);
	border-radius: 30px;
	white-space: nowrap;
	border: 1px solid transparent;
	width: auto;
	letter-spacing: 0px;
	text-transform: uppercase;
	transition: 0.3s;
}
a.btn:hover,
button:hover
{
	text-decoration: none;
	background-color: var(--baf-dark-blue);
	color: var(--body-bg);
}
a.btn i
{
	padding-right: 10px;
}


/* Sections 
------------------------------------------------------------------------------ */
.section 
{
	padding: 95px 0px 95px 0px;
	text-align: left;
}


/* Section - Full Page Image
------------------------------------------------------------------------------ */
.section.full_page_image
{
	position: relative;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	height: 100%;
	overflow: hidden;
	overflow-y: hidden;
	text-align: center;
}
.section.full_page_image .actual_image_layer
{
	position: absolute;
	width: 100%;
	height: 100%;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	background-image: none;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	animation: zoomin 20s 1;
	-webkit-animation: zoomin 20s 1;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-iteration-count: 1;
	animation-delay: 0s;
	-webkit-animation-fill-mode: forwards;
	overflow: hidden;
	overflow-y: hidden;
}
@keyframes zoomin {
	0% {
		-webkit-transform: scale(1);
    }
    100% {
        -webkit-transform: scale(1.2);
    }
}
.section.full_page_image .actual_image_layer.treehouse
{
	background-image: url("../images/heroes/treehouse-hero.jpg");
}
.section.full_page_image .actual_image_layer.treehouse_sideways
{
	background-image: url("../images/heroes/treehouse-side-elevation.jpg");
}


.section.full_page_image .arrow_down
{
	position: absolute;
	bottom: 70px;
	width: 100%;
	animation: bounce_chevron 2s 1;
	-webkit-animation: bounce_chevron 2s 1;
	animation-fill-mode: forwards;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-delay: 0s;
	-webkit-animation-fill-mode: forwards;
	overflow: hidden;
	overflow-y: hidden;
	font-size: 50px;
	line-height: 50px;
	color: #ffffff;
	text-align: center;
}
@keyframes bounce_chevron {
	0% {
		transform: translate(0, 0);
    }
    50% {
        transform: translate(0px, 30px);
    }
	100% {
		transform: translate(0, 0);
    }
}
@media only screen and (max-width: 1500px) {

	.section.full_page_image
	{
		height: 700px;
	}
	
}
@media only screen and (max-width: 1050px) {

	.section.full_page_image
	{
		height: 500px;
	}
	
}
@media only screen and (max-width: 750px) {

	.section.full_page_image
	{
		height: 400px;
	}
	
}
@media only screen and (max-width: 565px) {

	.section.full_page_image
	{
		height: 300px;
	}
	
}

/* Section - General Content
------------------------------------------------------------------------------ */
.section.general_content
{
	padding: 60px 0px 60px 0px;
	text-align: center;
	height: auto;
}
.section.general_content.small_padding
{
	padding: 20px 0px 20px 0px;
	text-align: center;
	height: auto;
}
.section.general_content.small_padding p
{
	margin-bottom: 0px;
}

.section.general_content.left
{
	text-align: left;
}
.section.general_content.dark_green
{
	background-color: var(--tt-dark-green);
}
@media only screen and (max-width: 1000px) {

	.section.general_content .flex_container
	{
		flex-direction: column;
		text-align: center;
	}
	.section.general_content .flex_container.flex_gap_99
	{
		gap: 15px;
	}
}

/* Section - Lower Hero Panel
------------------------------------------------------------------------------ */
.section.lower_hero_panel
{
	position: relative;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	background-image: none;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	text-align: center;
	height: 100vh;
	overflow: hidden;
	overflow-y: hidden;
}
.section.lower_hero_panel.treehouse
{
	background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('../images/heroes/treehouse-side-elevation.jpg');
}
@media only screen and (max-width: 1500px) {

	.section.lower_hero_panel
	{
		height: 700px;
	}
	
}
@media only screen and (max-width: 1050px) {

	.section.lower_hero_panel
	{
		height: 500px;
	}
	
}
@media only screen and (max-width: 750px) {

	.section.lower_hero_panel
	{
		height: 400px;
	}
	
}
@media only screen and (max-width: 565px) {

	.section.lower_hero_panel
	{
		height: 300px;
	}
	
}


/* Section - Footer 
------------------------------------------------------------------------------ */
.section.footer
{
	padding: 0px 0px 0px 0px;
	background-color: var(--tt-gold);
}
.section.footer .flex_container
{
	display: flex;
	justify-content: space-between;
}
.section.footer ul
{
	text-align: left;
	list-style: none;
}
.section.footer li a
{
	color: #ffffff;
}
.section.footer .footer_logo_container
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	/* gap: 50px; */
}
.section.footer .footer_logo
{
	width: 230px;
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
	padding-right: 50px;
}
.section.footer .footer_logo img
{
	max-width: 100%;
	display: block;
}
.section.footer .logos_container
{
	height: 100%;
	gap: 60px;
}

@media only screen and (max-width: 840px) {

	.section.footer
	{
		padding: 0px 0px 20px 0px;
	}
	.section.footer .flex_container
	{
		flex-direction: column;
		text-align: center;
	}
	.section.footer .footer_logo_container
	{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.section.footer .footer_logo
	{
		width: auto;
		padding-right: 0px;
	}
	.section.footer .logos_container
	{
		flex-direction: row;
		gap: 20px;
	}
}


/* #Misc
=================================================================================================================== */
.centered
{
	text-align: center;
}
.left
{
	text-align: left;
}
.right
{
	text-align: right;
}
.limit-to-two-lines
{
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2; /* number of lines to show */
			line-clamp: 2; 
	-webkit-box-orient: vertical;
}
@media only screen and (max-width: 1190px) {
	br.not_mobile
	{
		display: none;
	}

}


/* Flex Box
=================================================================================================================== */
.flex_container
{
	display: flex;
}
.justify_content_space_around
{
	justify-content: space-around;
}
.justify_content_space_between
{
	justify-content: space-between;
}
.justify_content_center
{
	justify-content: center;
}
.flex_align_items_center
{
	align-items: center;
}
.flex_gap_99
{
	gap: 99px;
}
.flex_wrap
{
	flex-wrap: wrap;
}
.flex_item.padded_7pc
{
	margin: 0px 7% 0px 7%; 
	padding: 0px 0% 0px 0%;
}
.flex_item.padded_out
{
	margin: 0px 7% 0px 7%; 
	padding: 0px 0% 0px 0%;
}

/* Grid Box
=================================================================================================================== */
.grid-container
{
	display: grid;
	box-sizing: border-box;
}
.grid-container *
{
	box-sizing: border-box;
}


/* #Media Queries
=================================================================================================================== */

/* Bigger than 1000 */
@media (min-width: 1000px) {

}
/* ALL NON DESKTOP SIZES - Smaller than standard 960 (devices and browsers) */
@media only screen and (max-width: 959px) {
}

/* TABLET PORTRAIT - Size to standard 960 (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* ALL MOBILE Sizes (devices and browser) */
@media only screen and (max-width: 767px) {
}

/* MOBILE LANDSCAPE Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {
}

/* MOBILE PORTRAIT Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {
}

