/* -------------------------------------
CSS: Index Page
----------------------------------------

#Fonts
#Global styles
#Spacing
#Typography
#Buttons
#Header
#Content
#Footer
#Animations

---------------------------------------- */


/* --------------------------
#Fonts
----------------------------- */

@font-face {
	font-family: 'Montserrat Light';
	src: url('../fonts/montserrat-300-light-webfont.woff2') format('woff2'), url('../fonts/montserrat-300-light-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat Regular';
	src: url('../fonts/montserrat-400-regular-webfont.woff2') format('woff2'), url('../fonts/montserrat-400-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat Medium';
	src: url('../fonts/montserrat-500-medium-webfont.woff2') format('woff2'), url('../fonts/montserrat-500-medium-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Montserrat Semibold';
	src: url('../fonts/montserrat-600-semibold-webfont.woff2') format('woff2'), url('../fonts/montserrat-600-semibold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}


/* --------------------------
#Global styles
----------------------------- */

* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

:focus {
	outline: -webkit-focus-ring-color auto 0;
}

html,
body {
	font-family: "Montserrat Light", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: normal;
	font-size: 12.5px;
	letter-spacing: 0.5px;
	color: #757880;
}


/* --------------------------
#Spacing
----------------------------- */

.big-space-above {
	margin-top: 4em;
}

.small-space-above {
	margin-top: 2em;
}


/* --------------------------
#Typography
----------------------------- */


/* Page Titles */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Montserrat Medium", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: normal;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 1.4em;
	color: #2f3033;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin-bottom: 20px;
}

h1,
h2,
h3 {
	font-size: 16px;
}

h3 {
	font-family: "Montserrat Semibold", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

h4,
h5 {
	font-size: .8125em;
}

h6 {
	font-size: 0.67em;
}

p {
	letter-spacing: 0.05em;
	line-height: 22px;
}

b,
strong {
	font-family: "Montserrat Medium", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: normal;
}


/* Links */

a {
	color: #757880;
}

a.content:hover {
	color: #757880;
}

a.content:visited {
	color: #757880;
}


/* Lists */

ol,
ul {
	list-style-type: none;
	line-height: 1.7em;
	letter-spacing: .6px;
}

ol li,
ul li {
	padding: 0 0 0 2em;
	position: relative;
}


/* Line */

hr {
	margin: 2em 0;
	border: none;
	border-top: 1px solid #e1e1e1;
}


/* Text Alignment */

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.text-center-vertically {
	display: ~"-webkit-@flex";
	display: ~"-moz-@flex";
	display: ~"-ms-@flexbox";
	display: ~"-ms-@flex";
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	-moz-align-items: center;
	-ms-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}


/* --------------------------
#Buttons
----------------------------- */

.button,
button,
a.button,
.footer a.button {
	display: inline-block;
	padding: 0 2em;
	width: auto;
	height: auto;
	border-radius: 0;
	border: none;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	background-color: #2f3033;
	font-family: "Montserrat Light", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: normal;
	text-align: center;
	text-decoration: none;
	-webkit-appearance: none;
	text-transform: uppercase;
	line-height: 36px;
	font-size: 11.2px;
	color: #fff;
	-moz-transition: background .2s ease-in-out;
	-o-transition: background .2s ease-in-out;
	-webkit-transition: background .2s ease-in-out;
	transition: background .2s ease-in-out;
	height: 36px;
}

@media (min-width: 46em) {
	.button,
	button,
	a.button,
	.footer a.button {
		line-height: 40px;
		font-size: 12px;
		height: 40px;
	}
}

.button:visited,
button:visited,
a.button:visited,
.footer a.button:visited {
	background-color: #2f3033;
}

.button:hover,
button:hover,
a.button:hover,
.footer a.button:hover,
.button:focus,
button:focus,
a.button:focus,
.footer a.button:focus,
.button:active,
button:active,
a.button:active,
.footer a.button:active {
	color: #fff;
	background-color: #171718;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.button.primary,
button.primary,
a.button.primary,
.footer a.button.primary,
.button.primary:visited,
button.primary:visited,
a.button.primary:visited,
.footer a.button.primary:visited {
	background-color: #f28d4f;
}

.button.primary:hover,
button.primary:hover,
a.button.primary:hover,
.footer a.button.primary:hover,
.button.primary:focus,
button.primary:focus,
a.button.primary:focus,
.footer a.button.primary:focus,
.button.primary:active,
button.primary:active,
a.button.primary:active,
.footer a.button.primary:active {
	background-color: #ee6e20;
}


/* --------------------------
#Header
----------------------------- */

.header {
	position: relative;
	display: table;
	overflow: hidden;
	width: 100%;
	height: 330px;
}

@media (min-width: 33em) {
	.header {
		height: 358px;
	}
}

@media (min-width: 46em) {
	.header {
		height: 416px;
	}
}

@media (min-width: 64em) {
	.header {
		height: 481px;
	}
}

@media (min-width: 80em) {
	.header {
		height: 618px;
	}
}

@media (min-width: 100em) {
	.header {
		height: 683px;
	}
}

.header--background {
	position: absolute;
	top: -5em;
	bottom: -5em;
	left: 0;
	right: 0;
	z-index: -1;
	background-position: center 50%;
	background-size: cover;
}

.header--text-wrap {
	display: table-cell;
	vertical-align: middle;
	padding: 0 2em;
	background-color: rgba(0, 0, 0, 0.1);
}

.wrapper {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
}

@media (min-width: 33em) {
	.wrapper {
		max-width: 75%;
	}
}

@media (min-width: 64em) {
	.wrapper {
		max-width: 1200px;
	}
}


/* Header Text */

.header h1 {
	margin: 0 auto 0.2em;
	word-break: break-all;
	max-width: 100%;
	text-align: center;
	text-shadow: 0px 2px 3px rgba(0, 0, 0, 0.1);
	letter-spacing: 0.03em;
	line-height: 1.1em;
	font-family: "Montserrat Semibold", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: normal;
	font-size: 24px;
	color: #fff;
}

@media (min-width: 33em) {
	.header h1 {
		font-size: 36px;
	}
}

@media (min-width: 46em) {
	.header h1 {
		font-size: 48px;
	}
}

@media (min-width: 64em) {
	.header h1 {
		max-width: 1200px;
		font-size: 60px;
	}
}

@media (min-width: 80em) {
	.header h1 {
		font-size: 72px;
	}
}

.header h2 {
	margin: 0 0 1em;
	letter-spacing: 0.025em;
	line-height: 1.5em;
	text-transform: none;
	font-family: Georgia, serif;
	font-weight: 400;
	font-style: italic;
	font-size: 14px;
	color: #fff;
	text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
}

@media (min-width: 33em) {
	.header h2 {
		font-size: 15px;
	}
}

@media (min-width: 46em) {
	.header h2 {
		font-size: 21px;
	}
}

@media (min-width: 80em) {
	.header h2 {
		font-size: 24px;
	}
}


/* Header Button */

.header button,
.header button:visited {
	background: rgba(255, 255, 255, .25);
	margin: 0;
	padding: 22px 25px;
	line-height: 0;
	letter-spacing: 0.08em;
	font-family: "Montserrat Light", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: normal;
	text-align: center;
	font-size: 13px;
	-webkit-transition: background .2s cubic-bezier(0.2, .3, .25, .9);
	-moz-transition: background .2s cubic-bezier(0.2, .3, .25, .9);
	-o-transition: background .2s cubic-bezier(0.2, .3, .25, .9);
	transition: background .2s cubic-bezier(0.2, .3, .25, .9);
}

.header button:hover,
.header button:focus,
.header button:active {
	background: rgba(255, 255, 255, .55);
}

@media (min-width: 33em) {
	.header button {
		padding: 25px 30px;
		font-size: 14px;
	}
}

@media (min-width: 46em) {
	.header button {
		padding: 28px 35px;
		font-size: 15px;
	}
}

@media (min-width: 80em) {
	.header button {
		padding: 30px 40px;
	}
}


/* Hoststar Logo */

.logo-link {
	position: absolute;
	top: 0;
	left: 0;
}

.logo {
	width: 111px;
	margin: 2.5em 2em;
	border: 2px solid transparent;
}

@media (min-width: 33em) {
	.logo {
		width: 120px;
	}
}

@media (min-width: 64em) {
	.logo {
		width: 160px;
		margin: 3.5em 4em;
	}
}

.svg {
	opacity: .6;
}


/* --------------------------
#Content
----------------------------- */

.content-part {
	padding: 6.5em 2em 7em;
	background-color: #fff;
}

.content-part.dimmed {
	background-color: #f4f5f9;
}

.content-part .text-wrap {
	max-width: 55.38462em;
	margin: 0 auto;
}


/* --------------------------
#Footer
----------------------------- */

.footer {
	background-color: #2f3033;
	padding: 1.2em 2em 5.2em;
	color: #9c9b9b;
}

@media (min-width: 24em) {
	.footer {
		padding: 5.2em 2em 3em;
	}
}

.footer .row {
	padding-bottom: 0;
}

@media (min-width: 64em) {
	.footer .row {
		padding-bottom: 3rem;
	}
}

@media (min-width: 64em) {
	.footer .column,
	.footer .columns {
		padding: 0;
	}
}

.footer .two.column,
.footer .two.columns {
	width: 100%;
	padding-bottom: 0;
}

@media (min-width: 24em) {
	.footer .two.column,
	.footer .two.columns {
		float: left;
		width: 50%;
		padding-bottom: 2em;
	}
}

@media (min-width: 46em) {
	.footer .two.column,
	.footer .two.columns {
		width: 33.3333333333%;
		min-height: 13em;
		padding-bottom: 0;
	}
}

@media (min-width: 64em) {
	.footer .two.column,
	.footer .two.columns {
		min-height: 0;
		width: 16.6666666667%;
	}
}


/* Footer Links */

.footer a {
	display: block;
	padding: .25em 0;
	line-height: 1.4em;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 11px;
	color: #9c9b9b;
	letter-spacing: 0.25px;
}

.footer a:hover {
	color: #fff;
}

.footer header {
	color: #fff;
}

.footer header a:hover {
	text-decoration: underline;
}

.footer header,
.footer header a {
	height: 1.3em;
	margin-bottom: 1.2em;
	margin-top: 3rem;
	padding: 0;
	font-family: "Montserrat Regular", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: normal;
	letter-spacing: 0;
	font-size: 11px;
	text-decoration: none;
	text-transform: uppercase;
	color: #fff;
}

@media (min-width: 24em) {
	.footer header,
	.footer header a {
		margin-top: 0;
	}
}

.footer header.header-empty {
	display: none;
}

@media (min-width: 24em) {
	.footer header.header-empty {
		display: block;
	}
}

@media (min-width: 24em) {
	.footer header.header-empty.header-bottom {
		height: 0;
		margin-top: -2rem;
		margin-bottom: 0;
	}
}

@media (min-width: 46em) {
	.footer header.header-empty.header-bottom {
		height: 1.4em;
		margin-top: 0;
		margin-bottom: 1.5em;
	}
}


/* Footer Bottom Row */

.footer .row-bottom {
	position: relative;
	padding-bottom: 0;
}

@media (min-width: 46em) {
	.footer .row-bottom {
		padding-top: 2em;
	}
}

.footer .row-bottom .row-bottom--left {
	padding-top: 3rem;
}

@media (min-width: 24em) {
	.footer .row-bottom .row-bottom--left {
		padding-top: 2rem;
	}
}

@media (min-width: 46em) {
	.footer .row-bottom .row-bottom--left {
		padding-top: 0;
	}
}

.footer .row-bottom .row-bottom--right {
	text-align: center;
}

@media (min-width: 46em) {
	.footer .row-bottom .row-bottom--right {
		margin-top: 0;
		text-align: right;
	}
}

.footer .row-bottom .row-bottom--left a {
	display: block;
	padding: 0 1.5em 0.5em 0;
	letter-spacing: 0.5px;
}

@media (min-width: 46em) {
	.footer .row-bottom .row-bottom--left a {
		display: inline-block;
	}
}

.footer small {
	display: block;
	line-height: 1.6em;
	font-size: 11px;
}

.footer small.copyright {
	position: static;
	bottom: initial;
	padding-top: 4em;
	padding-bottom: 0;
	text-align: center;
}

@media (min-width: 46em) {
	.footer small.copyright {
		padding-top: 1em;
		text-align: left;
	}
}

@media (min-width: 64em) {
	.footer small.copyright {
		position: absolute;
		bottom: 0;
		padding-top: 0;
	}
}

@media (min-width: 100em) {
	.footer small.copyright {
		position: static;
		padding-top: 0.4em;
	}
}

.footer small.notice-vat {
	float: none;
	padding: 1em 0 0;
}

@media (min-width: 100em) {
	.footer small.notice-vat {
		float: right;
		margin-top: 22px;
		margin-right: 10px;
		padding: 0;
		color: #9C9B9B;
		text-align: right;
	}
}

.footer .row-bottom .button {
	float: none;
	min-width: 16.92em;
}

@media (min-width: 100em) {
	.footer .row-bottom .button {
		float: right;
	}
}


/* --------------------------
#Animations
----------------------------- */


/* All content fades in. */

@keyframes fadein {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@-moz-keyframes fadein {
	/* Firefox */
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@-webkit-keyframes fadein {
	/* Safari and Chrome */
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@-o-keyframes fadein {
	/* Opera */
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.animation-fadein {
	animation: fadein 2s;
	-moz-animation: fadein 2s;
	-webkit-animation: fadein 2s;
	-o-animation: fadein 2s;
}
