@charset "utf-8";


/* FONTS */

@font-face {
    font-family: "Moderat";
    src: url(/fonts/moderat-regular-webfont.ttf) format("truetype");
}

@font-face {
    font-family: "Moderat-Bold";
    src: url(/fonts/moderat-bold-webfont.ttf) format("truetype");
}


/* VARIABLES

:root {
  --purple: #5950FF;
  --darkpurple: #040050;
  --blue: #5DABFF;
  --darkblue: #1768EF;
  --green: #11CD79;
  --red: #EB3646;
  --yellow: #F8D258;
  --darkerblack: #000000;
  --black: #252626;
  --darkgray: #707274;
  --gray: #979899;
  --borders: #BDBEBF;
  --lightgray: #E4E4E5;
  --background: #F5F6F7;
  --white: #FFFFFF;
}

*/


/* CSS RESET */

* {
	box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;	
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-kerning: auto;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

html {
	font-family: "Moderat", helvetica, sans-serif;
	-webkit-text-size-adjust: 100%;
	overflow-y: scroll;
}

article, aside, dialog, figcaption, figure, footer, header, hgroup, main, meter, nav, section {
	display: block;
}

[tabindex="-1"]:focus {
	outline: 0 !important;
}


/* GENERAL */

h1, .h1 {
	font-family: "Moderat-Bold", helvetica, sans-serif;
	font-weight: bold;	
	font-size: 5em;
	line-height: 80px;
	padding: 8px 0px;
	text-align: center;
	color: #FFFFFF;
}

h2, .h2 {
	font-family: "Moderat-Bold", helvetica, sans-serif;
	font-weight: bold;	
	font-size: 3.5em;
	line-height: 64px;
	text-align: center;
	color: #252626;
	padding-bottom: 40px;
}

h3, .h3, p, li, dt, dd {
	font-size: 1.25em;
	line-height: 24px;
	color: #252626;
}

h3, .h3 {
	font-weight: bold;
	padding-bottom: 16px;
}

a {
	color: #C71D9D;
	text-decoration: underline;
	outline: none;
}

a:hover {
	text-decoration: none;
}

a:hover img {
	opacity: 0.8;
}

a:focus {	
	-webkit-box-shadow: 0px 0px 0px 4px #5DABFF;
	-moz-box-shadow: 0px 0px 0px 4px #5DABFF;
	box-shadow: 0px 0px 0px 4px #5DABFF;
	text-decoration: none;
}

a:active,
a:visited {
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

img {
	width: 100%;
	vertical-align: middle;
}

ul {
	list-style: none;
	padding-bottom: 24px;
}

li {
	padding-bottom: 16px;
}

dt {
	font-weight: bold;	
	padding-bottom: 8px;
}

dd {
	padding-bottom: 24px;
}

address {
	font-style: normal;
}

abbr {
	text-decoration: none;
	border-bottom: none;
	cursor: help;
}

meter {
	width: 100%;
	height: 4px;
	background: none;
	background-color: #E4E4E5;
}

meter::-webkit-meter-bar {
	background: none;
	background-color: #E4E4E5;
}

meter::-webkit-meter-optimum-value {
	background: #11CD79;
}

meter::-moz-meter-bar {
	background: #11CD79;
}


/* LAYOUT */

header {
	padding: 64px 24px 80px 24px;
	z-index: 1;
}

main {
	padding: 0 24px;
}

footer {
	margin-top: -40px;
	padding: 64px 24px;
}

section {
	margin-top: -40px;
	margin-bottom: 80px;
	padding: 40px 24px 24px 24px;
	z-index: 2;
}

.layout-12-columns {
	margin-left: auto;
	margin-right: auto;	
	max-width: 984px;
}

.layout-10-columns {
	margin-left: auto;
	margin-right: auto;
	max-width: 776px;
}

.layout-8-columns {
	margin-left: auto;
	margin-right: auto;
	max-width: 616px;
}


/* CONTROLS */

.overlay {
	background-color: rgba(4, 0, 80, 0.5);
	position: relative;
	z-index: 2;
}

.elevation {
	-webkit-box-shadow: 0px 2px 4px 0px #BDBEBF;
	-moz-box-shadow: 0px 2px 4px 0px #BDBEBF;
	box-shadow: 0px 2px 4px 0px #BDBEBF;
}

.rounded {
	-webkit-border-radius: 4px;	
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.border {
	border: 1px solid #E4E4E5;
}

.offscreen {
    overflow: hidden;
    text-indent: -9999px;  
    font-size: 0px;  
    line-height: 0px;
}

.nowrap {
	white-space: nowrap;
}


/* BACKGROUNDS */

.purple {
	background-color: #5950FF;
}

.darkpurple {
	background-color: #040050;
}

.blue {
	background-color: #5DABFF;
}

.darkblue {
	background-color: #1768EF;
}

.green {
	background-color: #11CD79;
}

.red {
	background-color: #EB3646;
}

.yellow {
	background-color: #F8D258;
}

.darkerblack {
	background-color: #000000;
}

.black {
	background-color: #252626;
}

.darkgray {
	background-color: #707274;
}

.gray {
	background-color: #979899;
}

.lightgray {
	background-color: #BDBEBF;
}

.borders {
	background-color: #E4E4E5;
}

.background {
    background-color: #F5F6F7;
}

.white {
    background-color: #FFFFFF;
}


/* CONTENT */

#anchor,
#anchor li {
	padding-bottom: 0;
}

#anchor a,
#anchor a:hover, 
#anchor a:visited {
	position: absolute;
}

#anchor a:active, 
#anchor a:focus { 
	position: relative;
	text-align: center;	
	text-indent: 0px;
	font-size: 1em;
	padding: 16px 0;
	line-height: normal;
	color: #FFFFFF;
	display: block;
	background-color: #5950FF;
	overflow: auto;
	-webkit-box-shadow: none;
	box-shadow: none;
	text-decoration: none;
}

#introduction {
	padding: 16px 24px;
	margin-top: -80px;
}

#headshot {
	margin: 0 auto;
	width: 100%;
	max-width: 320px;
	position: relative;
	z-index: 1;
	-moz-border-radius: 160px;
    -webkit-border-radius: 160px;
    border-radius: 160px;
	border: 4px solid #FFFFFF;
}

#preamble {
	font-size: 1.5em;
	line-height: 32px;
	padding-bottom: 8px;
	text-align: center;
	color: #FFFFFF;
}

.links a {
	padding-left: 40px;
	display: inline-block;
}

#contactinfo a {
	color: #252626;
	text-decoration: none;
}

#socialmedia {
	font-size: 0;
	padding-bottom: 40px;
}

.noelevation {
	padding-left: 0px;
	padding-right: 0px;
	margin-top: -56px;
}

#logos {
	font-size: 0;
	padding-bottom: 0;
	margin-bottom: -16px;
}

#socialmedia li {
	display: inline-block; 
	margin-right: 16px;
	width: 56px;
	height: 56px;	
	position: relative;
	vertical-align: top;
	padding-bottom: 0;
}

#socialmedia li.last {
	margin-right: 0;
}

#socialmedia a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    text-decoration: none;
	border-radius: 28px;
}

#socialmedia img {
	width: 56px;
}

#qualifications dt {
	padding-left: 80px;
	padding-bottom: 32px;
}

#qualifications dd {
	margin-left: 80px;
	padding-bottom: 16px;
}

#qualifications dd.first {
	margin-top: -24px;
}

#qualifications dd.onlylist {
	margin-top: -16px;
}

#qualifications dd.dot {
	background:url(/icons/dot.png) no-repeat 0 0; background-size: 24px 24px;
	padding-left: 40px;
}

#qualifications dd.last,
#skills dd.last {
	padding-bottom: 40px;
}

#logos li {	
	width: 16.66667%;
	height: 112px;	
	display: inline-block;
    position: relative;
	vertical-align: top;
	padding-bottom: 0;
	margin-bottom: 16px;
}

#logos a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    text-decoration: none;
 	margin: 4px;
}

#logos a:before,
#logos a:after {
    content: " ";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}

#logos img {
	max-width: 104px;
}

#copyright {
	text-align: center;
	color: #FFFFFF;	
}


/* ICONS */

.pdf {
	background:url(/icons/pdf.png) no-repeat 0 0; 
	background-size: 24px 24px;
}

#mail {
	background:url(/icons/mail.png) no-repeat 0 0; 
	background-size: 24px 24px;
}

#phone {
	background:url(/icons/phone.png) no-repeat 0 0;
	background-size: 24px 24px;
}

#home {
	background:url(icons/home.png) no-repeat 0 0; 
	background-size: 24px 24px;
}


/* IMAGES */

#pricerunner {
	background:url(images/pricerunner.png) no-repeat 0 0; 
	background-size: 56px 56px;
}

#bouvet {
	background:url(images/bouvet.png) no-repeat 0 0; 
	background-size: 56px 56px;
}

#funka {
	background:url(images/funka.png) no-repeat 0 0;
	background-size: 56px 56px;
}

#cybercom {
	background:url(images/cybercom.png) no-repeat 0 0;
	background-size: 56px 56px;
}

#kth {
	background:url(images/kth.png) no-repeat 0 0;
	background-size: 56px 56px;
}


/* RESPONSIVE */

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

	#logos li {
		width: 25%;
	}
}

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

	header,
	main {
		padding-left: 0px;
		padding-right: 0px;
	}

	header {
		padding-top: 56px;
	}	

	section {
		margin-bottom: 0px;
	}

	section.first {
		padding-top: 56px;
	}	

	h1 {
		font-size: 4.5em;
		line-height: 72px;
	}

	h2 {
		font-size: 3em;
		line-height: 56px;
		text-align: left;
		padding-bottom: 24px;	
	}

	#introduction {
		margin-top: -72px;
	}

	#headshot {
		max-width: 296px;
	}	

	#preamble {
		font-size: 1.25em;
		line-height: 24px;
	}

	.rounded {
		-webkit-border-radius: 0px;	
		-moz-border-radius: 0px;
		border-radius: 0px;	
	}

	.elevation {
		-webkit-box-shadow: 0px 0px 0px 0px #FFFFFF;
		-moz-box-shadow: 0px 0px 0px 0px #FFFFFF;
		box-shadow: 0px 0px 0px 0px #FFFFFF;
	}

	.noelevation {
		margin-top: 0px;
		margin-bottom: 56px;		
		padding-left: 24px;
		padding-right: 24px;
		padding-top: 56px;
	}	
}

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

	#logos li {
		width: 33.33333%;
	}

	#qualifications dt {
		padding-left: 40px;
	}	

	#qualifications dd {
		margin-left: 0px;
	}

	#pricerunner {
		background:url(images/pricerunner.png) no-repeat 0 0;
		background-size: 24px 24px;
	}	

	#bouvet {
		background:url(images/bouvet.png) no-repeat 0 0;
		background-size: 24px 24px;
	}

	#funka {
		background:url(images/funka.png) no-repeat 0 0;
		background-size: 24px 24px;
	}

	#cybercom {
		background:url(images/cybercom.png) no-repeat 0 0;
		background-size: 24px 24px;
	}

	#kth {
		background:url(images/kth.png) no-repeat 0 0;
		background-size: 24px 24px;
	}
}

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

	#headshot {
		max-width: 240px;
	}

	#introduction {
		margin-top: -56px;
	}	

	#logos li {
		width: 50%;
	}
}

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

	#copyright {
		font-size: 1em;
	}
}	

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

	#socialmedia li {
		width: 56px;
		height: 56px;	
	}

	#socialmedia img {
		width: 56px;
	}
}