/* --------------------------------------------
	
	main.css : this is the main style file of the theme.

	---
	
	CONTEXT:
	
	1. BASE (@base)
	2. TYPOGRAPHY (@typo)
	3. HELPERS (@helpers)
	4. LAYOUT (@layout)
	5. ELEMENTS (@elements)
	5. MEDIA QUERIES (@media)
	
 -------------------------------------------- */
 
 
 

/*  --------------------------------------------

	1. BASE (@base) - base html elements
	
    -------------------------------------------- */ 
html,
body {
	width: 100%; height: 100%; padding: 0; margin: 0; box-sizing: border-box;
	}
* {
	box-sizing: border-box;
	}
body {
	font-family: 'HK Grotesk', sans-serif; color: #222; background-color: #fff; font-size: 14px; line-height: 1.7; display: flex; align-items: center;
	}
img {
	max-width: 100%; height: auto;
	}
::selection {
 	text-shadow: none; color: #000; background: #FFF9CD;
	}
::-moz-selection {
 	text-shadow: none; color: #000; background: #FFF9CD;
	}
/* Loader */
html {
	overflow: hidden;
	}
html.loaded {
	overflow: auto;
	}
html:after {
	content: ""; position: fixed; z-index: 1000; top: 0; left: 0; right: 0; bottom: 0; background: white; background-image: url(../images/preloader.gif); background-position: center center; background-repeat: no-repeat; background-size: 48px 48px;
	}
html.loaded:after {
	display: none;
	}
body {
	transition: all .6s cubic-bezier(0.77, 0, 0.175, 1); opacity: 0;
	}
html.loaded body {
	opacity: 1;
	}

/*  --------------------------------------------

	2. TYPOGRAPHY (@typo) - typographic styles
	
    -------------------------------------------- */ 
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'HK Grotesk', sans-serif; font-weight: 700; font-style: normal; margin: 1em 0 .66em 0; 
	}
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
	margin-top: 0;
	}
h1 { 
	font-size: 6vw; line-height: 1.1; margin-top: 0;
	}
h2 { 
	font-size: 1.8em; line-height: 1.3;
	}
h3 { 
	font-size: 1.25em; line-height: 1.3;
	}
.profile-image + h1 {
	margin-top: 28px;
	}
h4 {
	font-size: 12px; text-transform: uppercase; letter-spacing: 5px;
	}
p:last-child {
	margin-bottom: 0;
	}
/* LIGHT TEXT */
.is-text-light {
	color: #fff;
	}
.is-text-light a {
	color: #fff;
	}
	


/*  --------------------------------------------

	3. HELPERS (@helpers) - shorthand helper styles
	
    -------------------------------------------- */ 
.rounded {
	border-radius: 50%;
	}
.soft-rounded {
	border-radius: 8px;
	}
.is-text-align-center {
	text-align: center;
	}
.is-text-align-right {
	text-align: right;
	}
.uppercase {
	text-transform: uppercase;
	}
.bold {
	font-weight: bold;
	}

/* SMALL TYPO */
.is-small-typo h1 {
	font-size: 24px; line-height: 1.3;
	}
.is-small-typo {
	font-size: 14px;
	}

/* MEDIUM TYPO */
.is-medium-typo h1 {
	font-size: 36px; line-height: 1.2;
	}
.is-medium-typo {
	font-size: 15px;
	}
	
	
	
/*  --------------------------------------------

	2. LAYOUT (@layout) - layout styles
	
    -------------------------------------------- */ 

/* CONTENT */
.content-wrap {
	width: 80%; margin: 0 auto; max-height: 100%; position: relative; z-index: 20;
	}
.content {
	padding: 3em 0;
	}

/* MEDIA */
.media {
	position: fixed; width: 100%; height: 100%; background-position: center center; background-size: cover; background-repeat: no-repeat; 
	}

/* PROFILE IMAGE */
.profile-image {
	max-height: 92px;
	}
.profile-image.is-outside {
	margin-top: -50%; margin-bottom: 0;
	}

/* LOGO */
.logo {
	margin-bottom: 24px;
	}
	
/* BUTTONS */
.button {
	border: 2px solid #222; font-family: inherit; font-size: 16px; line-height: 1; color: #222; text-decoration: none; background: none; cursor: pointer; padding: 16px 32px; margin: 10px 20px 0 0; display: inline-block; outline: none; position: relative; transition: all 0.3s; overflow: hidden;
	}
.button:only-child {
	margin-right: 0px;
	}
.button.small {
	font-size: 13px; padding: 8px 20px;
	}
.button.rounded {
	border-radius: 50px;
	}
.button.soft-rounded {
	border-radius: 5px;
	}
.button.rounded-soft {
	border-radius: 4px;
	}
.button:after {
	width: 0%; height: 100%; top: 0; left: 0; background: #222; content: ''; position: absolute; z-index: -1; transition: all 0.3s;
	}
.button:hover,
.button:active {
	color: #fff !important;
	}
.button:active {
	transition: all 0.1s; transform: scale(0.9); outline: 0;
	}
.button:hover:after,
.button:active:after {
	width: 100%;
	}
/* light buttons */
.button.light {
	border-color: #fff;
	}
.button.light:after {
	background: #fff;
	}
.button.light:hover,
.button.light:active {
	color: #111 !important;
	}

/* grey buttons */
.button.grey {
	border-color: #AAB8C1; color: #AAB8C1;
	}
.button.grey:after {
	background: #AAB8C1;
	}
/* icons in buttons */
.button i {
	display: inline-block; margin-right: 5px;
	}
.button i.right {
	margin-right: 0; margin-left: 5px;
	}
.button i:before {
	font-size: 120%;
	}

/*  --------------------------------------------

	6. MEDIA QUERIES (@media) - base html elements
	
    -------------------------------------------- */ 

/* TABLETS */
@media screen and (min-width: 768px) {
	
	body {
		font-size: 19px;
		}
		
	.profile-image {
		max-height: 128px;
		}	
	.profile-image.small {
		max-height: 92px;
		}
	.profile-image.big {
		max-height: 192px;
		}
	
	h1 { 
		font-size: 4vw; line-height: 1;
		}
		
	
	/* MEDIA */
	.media {
		position: fixed; top: 0; left: 0; width: 100%; height: 100%; bottom: 0;
		}
		
}

/* DESKTOPS */
@media screen and (min-width: 1200px) {
	
	.content-wrap {
		width: 50%;
		}
	.content {
		padding: 4em 0;
		}
	
	/* BUTTONS */
	.button.huge {
		font-size: 20px; padding: 22px 40px;
		}
		
}

/* DESKTOPS HIGH RES */
@media screen and (min-width: 1600px) {
	
	.content-wrap {
		width: 50%;
		}
	.content {
		padding: 6em 0;
		}
	
}