/* ------------ Basic Stuff -------------*/

body,
html {
	margin: 0; 
	padding: 0;
	height: 100%;
}
body {
	font: 300 19px/30px 'Roboto', Arial, Verdana, sans-serif;
	/* font: 300 19px/30px "Alpineo"; */
	color: #0a0a0a;
}

/* ------------ Content -------------*/

#page {
	height: 100%;
}
.contact { 
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.bottom_section,
.top_section {
	height: 100%;
}
.top_section {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background: #ffffff;
}
.bottom_section {
	background: rgba(181, 178, 178, 0.35);
    color: #000000;
}
.logo,
.text {
	padding: clamp(35px,6vw,60px) 20px 0;
	max-width: 720px;
	margin: 0 auto;
	text-align: left;
}
.bottom_section .logo {
	margin-bottom: 0;
}
.text {
	height: 100%;
	width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    box-sizing: border-box;
}
.top_section .text {
	align-items: flex-end;
}

.bottom_section {
	display: flex;
	flex-wrap: wrap;
}
.bottom_section > div {
	width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bottom_section .contact_button_wrap a {
    color: white;
    background: #004582;
    padding: 11px 22px;
    border-radius: 3px;
}
.bottom_section .powered_by {
    align-items: flex-end;
}


h2,
h1 {
	font-size: clamp(22px,3.6vw,36px);
	font-size: clamp(26px, 4.0vw, 40px);
	line-height: clamp(28px,4.2vw,42px);
	margin: 0;
	/* font-family: fantasy; */
}
h2 {
	font-weight: 400;
	margin-bottom: clamp(20px,3vw,30px);
}
h3 {
	font-size: clamp(18px,2.2vw,22px); 
	line-height: clamp(22px,2.6px,26px);
	margin: 0 0 clamp(10px,1.5vw,15px); 
}
.top_section h1 {
	color: #004582;
	margin-bottom: 0.4em;
}

.introduction {
	font-size: clamp(18px,2.4vw,24px);
	line-height: clamp(26px,3.4vw,34px);
	font-weight: 300;
	text-wrap: balance;
}

.logo {
	max-width: clamp(120px,24vw,240px);
	max-width: clamp(180px,32vw,320px);
	padding: clamp(20px,3.5vw,35px) clamp(30px,5vw,50px);
	/* background: #000; */
	margin-bottom: clamp(30px,5.5vw,55px);
}
.logo img {
	display: block; 
	width: 100%; 
	height: auto;
}
.line {
	border-top: 1px solid #f7dfc6;
}
p {
	margin: 0 0 15px 0;
}
strong {
	color: #333;
	font-weight: 700;
}

a:hover{
	color: rgba(0,0,0, 0.5);
}
a {
	color: #004582;
	transition: 0.5s;
	text-decoration: none;
}
.text_top,
.text_right,
.text_left {
	float: none;
	width: 100%;
	text-align: center;
}
.text_top {
	padding: 0 0 clamp(35px,6vw,60px);
} 

.locations {
	display: flex;
    align-items: center;
    justify-content: space-evenly;
    padding-top: 1em;
	display: none;
}

.cf {
	clear: both; 
	float: none; 
	height: 0;
	width: 0;
}
.powered_by {
	font-size: clamp(12px,1.4vw,14px); 
	color: rgba(51,51,51, 0.5);
	/* align-self: flex-end; */
	margin-bottom: clamp(10px,1.5vw,15px);
	/* opacity: 0.5; */
}
.powered_by span {
	display: none;
}
.powered_by a {
	text-decoration: none; 
	color: rgba(51,51,51, 0.5);
}
.powered_by a:hover {
	color: #333;
}

/* ------------ Responsive -------------*/

@media screen and (max-width: 500px) {
	.logo img {
		width: 100%;
		height: auto;
		margin-left: 0;
	}
	.locations {
		/* flex-direction: column; */
		font-size: medium;
		line-height: 1.5em;
		justify-content: space-between;
	}
	/* .locations > div {
		margin-bottom: 2em;
	} */
}
@media screen and (max-width: 450px) {
	.text_right,
	.text_left {
		float: none;
		clear: both; 
		width: 100%;
	}
}

/* ------------ Fonts -------------*/

@font-face {
	font-family: 'Alpineo';
	src: url('fonts/alpineo-bold-webfont.woff2') format('woff2'),
		 url('fonts/alpineo-bold-webfont.woff') format('woff');
	font-weight: 700;
	font-style: normal;

}

@font-face {
	font-family: 'Alpineo';
	src: url('fonts/alpineo-regular-webfont.woff2') format('woff2'),
		 url('fonts/alpineo-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;

}