/* || Typography */
h1 {
    margin-bottom: 2rem;
    
	font-family: 'Cairo', sans-serif;
	font-size: 2.25rem;
	font-weight: 300;
    line-height: 1.2222;
    color: #2AABE4;	/* #FF6F61 */
}
h2 {
    margin-bottom: 1.5rem;
    
	font-family: 'Cairo', sans-serif;
	font-size: 1.5rem;
	font-weight: 300;
    line-height: 1.2222;
}
p {
	margin-bottom: 1rem;
	
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	font-weight: 300;
    line-height: 1.5;
}
a {
	color: #FFA661;
	text-decoration: none;
	font-weight: 300;
	
	position: relative;
}
.a-hover:before,
.a-hover:after {
	position: absolute;
	bottom: 0;
	
	width: 0;
	height: 1px;
	
	background-color: #FFA661;
	
	transition: all .3s;
	content: "";
}
.a-hover:before {
	right: 50%;
}
.a-hover:after {
	left: 50%;
}
.a-hover:hover:before,
.a-hover:hover:after {
	width: 50%;
}




/* || General styles */
html {
	height: 100%;
	margin: 0;
	padding: 0;
	
	border: 0;
}
body {
	height: 100%;
	margin: 0;
	padding: 0;
	
	border: 0;
  	
  	font-size: 100%;
  	line-height: 1;
  	color: #666B6E;
}
div {
	margin: 0;
	padding: 0;
	border: 0;
}


.grid-container {
	display: grid;
}
.content {
	margin-left: 1rem;
	margin-right: 1rem;
}




/* || Section main */
.section-main {
	grid-template-columns: auto;
	grid-template-rows: auto;
	
	min-height: 100%;
	
	overflow: hidden;
}
.section-main-content {
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	
	z-index: 2;
}
.section-main-image {
	grid-column: 1;
	grid-row: 1;
	
	position: relative;
	z-index: 1;
	
	width: 100%;
	height: 100%;
	
	overflow: hidden;
}
.svg-player {
	position: absolute;
	bottom: -5%;
	left: 10%;
	
	width: 150%;
	
	opacity: 0.25;
}
.svg-player-g {
	transform: scale(-1, 1);
	transform-origin: 50%;
}
.svg-player-path-head,
.svg-player-path-legs {
	fill: none;
	stroke: #FFA661;
	stroke-width: 2;
}
.svg-player-path-head {
	transform: matrix(1, 0, 0, 1, -6.8, -0.85);
}
.svg-player-path-body {
	fill: none;
	stroke: #5AABE4;
	stroke-width: 2;
}
.svg-player-path-ball {
	fill: #2AABE4;
}




/* || Section error */
.section-error {
	position: relative;
	
	background-color: #167284;
	
	transition: all .3s;
}
.section-error-closed {
	display: none;
}
.section-error p {
	margin: 0;
	padding: 1rem 1rem 1rem 3rem;
	
	font-family: 'Cairo', sans-serif;
	font-weight: 400;
	line-height: 2rem;
	text-align: center;
	color: #FFA661;
}
.section-error-close-button {
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	
	width: 1rem;
	height: 1rem;
	
	cursor: pointer;
}
.section-error-close-button:before,
.section-error-close-button:after {
	position: absolute;
	top: -0.1rem;
	left: 0.4rem;
	
	width: 3px;
	height: 1.3rem;
	
	border-radius: 1px;
	background-color: #FFA661;
	
	content: "";
}
.section-error-close-button:before {
	transform: rotate(45deg);
}
.section-error-close-button:after {
	transform: rotate(-45deg);
}




/* || Section contact */
.section-contact {
	padding: 1rem 0 2rem;
	
	background-color: #2AABE4;
}
.section-contact-submit {
	margin-top: 1rem;
	
	text-align: center;
}
.form-element {
	position: relative;
	
	margin-top: 2rem;
	padding-bottom: 1rem;
}


input {
	width: 100%;
	padding: 0.25rem;
	box-sizing: border-box;
	
	background-color: transparent;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #AED3EA;
	
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.1;
	color: #AED3EA;
	
	transition: all .4s;
	outline: 0;
}
.form-element-focused input {
    border-color: #167284;
    color: #167284;
}
.form-element-complete input {
    border-color: #FFFFFF;
    color: #FFFFFF;
}

select {
	width: 100%;
	height: 1.6rem;
	
	padding: 0.25rem;
	box-sizing: border-box;
	
	background-color: transparent;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #AED3EA;
	border-radius: 0px;
	
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.1;
	color: #AED3EA;
	
	transition: all .4s;
	cursor: pointer;
	        appearance: none;
	   -moz-appearance: none;
	-webkit-appearance: none;
	outline: 0;
}
.form-element-focused select {
    border-color: #167284;
    color: #167284;
}
.form-element-complete select {
    border-color: #FFFFFF;
    color: #FFFFFF;
}
.form-element-select:before {
	position: absolute;
	top: 0.3rem;
	right: 0.7rem;
	display: inline-block;
	
	padding: 0.1875rem;
	
	border-width: 0 0.1875rem 0.1875rem 0;
	border-style: solid;
	border-color: #AED3EA;
	
	content: "";
  	transform: rotate(45deg);
}
.form-element-focused.form-element-select:before {
	border-color: #167284;
}
.form-element-complete.form-element-select:before {
	border-color: #FFFFFF;
}

textarea {
	height: 1.6rem;
	width: 100%;
	display: block;
	
	padding: 0.5rem 0.25rem 0.25rem;
	box-sizing: border-box;
	
	background-color: transparent;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #AED3EA;
	
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.4;
	color: #AED3EA;
	
	transition: all .4s;
	resize: none;
	outline: 0;
}
.form-element-focused textarea {
	height: 6.3rem;
    border-color: #167284;
    color: #167284;
}
.form-element-complete textarea {
	height: 6.3rem;
    border-color: #FFFFFF;
    color: #FFFFFF;
}

label {
	position: absolute;
	top: 0;
	display: block;
	
	width: 100%;
	padding: 0.25rem;
	
	font-family: 'Roboto', sans-serif;
	font-size: 1.1rem;
	font-weight: 300;
	color: #AED3EA;
	
	box-sizing: border-box;
	pointer-events: none;
	transition: all .3s;
}
.cf-optional:after {
	position: absolute;
	right: 1.9rem;
	bottom: 0;
	
	font-size: 0.9rem;
	font-style: italic;
	line-height: 1.5rem;
	
	content: "*valfri";
	opacity: 1;
}
.form-element-focused label {
	padding: 0.25rem;
	
	font-size: 0.9rem;
	font-weight: 400;
	color: #167284;
	
	transform: translateY(-130%);
}
.form-element-complete label {
	padding: 0.25rem;
	
	font-size: 0.9rem;
	font-weight: 400;
	
	transform: translateY(-130%);
	
	opacity: 0;
}
.form-element-invalid label {
	padding: 0.25rem;
	
	font-size: 0.9rem;
	font-weight: 400;
	color: #FFC300;
	
	transform: translateY(-130%);
	
	opacity: 1;
}


.form-element-invalid:after {
	position: absolute;
	display: block;
	top: 1.6rem;
	
	padding: 0.25rem 0.5rem;
	box-sizing: border-box;
	
	font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    color: #FFC300;
	
	content: "\00D7\00A0\00A0" attr(data-text);
	pointer-events: none;
    transition: all .6s;
}


button {
	display: inline-block;
	
	box-sizing: border-box;
	padding: 0 5rem;
	
    background-color: transparent; /* #ffa661 */
    border-width: 1px;
    border-style: solid;
    border-color: #FFFFFF;
    border-radius: 5px 20px;
    
    font-family: 'Roboto', sans-serif;
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: .4rem;
	line-height: 2.7rem;
	color: #FFFFFF;
	
	cursor: pointer;
	transition: all .3s;
}
button:hover {
	background-color: #FFA661;
}




/* || Section error */
.section-sent {
	padding: 1rem 1rem 2rem;
	
	background-color: #2AABE4;
	
	text-align: center;
}
.section-sent h2 {
	color: #FFFFFF;
}
.section-sent p {
	color: #FFFFFF;
}
.svg-sent {
	width: 80%;
	max-height: 19rem;
	
	margin: 0 auto;
	
	fill: none;
	stroke: #FFFFFF;
	stroke-width: 2;
}
.svg-sent-g {
	transform: translate(118px, 20px) rotate(45deg);
}
.svg-sent-rect {
	width: 230px;
	height: 140px;
}




/* || Section teams */
.section-teams-header {
	margin-top: 4.5rem;
	margin-bottom: 2rem;
	
	text-align: center;
}
.section-teams-logo {
	display: block;
	align-self: center;
	
	padding-top: 2rem;
	
	text-align: center;
}
.section-teams-logo img {
	max-width: 15rem;
}
.section-teams-content {
	padding-bottom: 1.5rem;
}
.section-teams-skibf-content {
	padding: 2rem 0 1.5rem;
}




@media only screen and (min-width: 768px) {
	/* || Typography */
	h1 {
		font-size: 2.75rem;
	}
	h2 {
		font-size: 1.7rem;
	}
	p {
		font-size: 1.1rem;
	}
	
	
	
	
	/* || General styles */
	.content {
		margin-left: 2rem;
		margin-right: 2rem;
	}
	
	
	
	
	/* || Section main */
	.section-main {
		grid-template-columns: 2fr 1fr;
	}
	.section-main-image {
		grid-column: 2;
		grid-row: 1;
	
		overflow: visible;
	}
	.svg-player {
		left: -80%;
		
		width: 240%;
	}
	
	
	
	
	/* || Section error */
	.section-error-close-button {
		left: 2rem;
	}
	.section-error p {
		padding: 1rem;
	}
	
	
	
	
	/* || Section contact */
	.section-contact {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto;
	}
	.section-contact-col-1 {
		grid-column: 1;
		grid-row: 1;
	}
	.section-contact-col-2 {
		grid-column: 2;
		grid-row: 1;
	}
	.section-contact-submit {
		grid-column: 1 / span 2;
		grid-row: 2;
	}
}



@media only screen and (min-width: 900px) {
	/* || General styles */
	.content {
		margin-left: 1rem;
		margin-right: 1rem;
	}
	
	
	/* || Section teams */
	.section-teams {
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-rows: auto auto auto auto;
	}
	.section-teams-header {
		grid-column: 1 / span 3;
		grid-row: 1;
	}
	.section-teams-logo.team1 {
		grid-column: 1;
		grid-row: 2;
	}
	.section-teams-logo.team2 {
		grid-column: 2;
		grid-row: 2;
	}
	.section-teams-logo.team3 {
		grid-column: 3;
		grid-row: 2;
	}
	.section-teams-content.team1 {
		grid-column: 1;
		grid-row: 3;
	}
	.section-teams-content.team2 {
		grid-column: 2;
		grid-row: 3;
	}
	.section-teams-content.team3 {
		grid-column: 3;
		grid-row: 3;
	}
	.section-teams-skibf-content {
		grid-column: 1 / span 3;
		grid-row: 4;
	}
}



@media only screen and (min-width: 1021px) {
	/* || Section main */
	.section-main {
		grid-template-columns: 1fr 510px 510px 1fr;
	}
	.section-main-content {
		grid-column: 2;
		grid-row: 1;
		
		margin: 3rem 2rem;
	}
	.section-main-image {
		grid-column: 3;
		grid-row: 1;
	
		overflow: visible;
	}
	.svg-player {
		top: 0%;
		left: -20%;
    	
    	width: 140%;
	}
	
	
	
	
	/* || Section error */
	.section-error-close-button {
		left: 50%;
		transform: translate(-494px, -50%);
	}
	
	
	
	
	/* || Section contact */
	.section-contact {
		grid-template-columns: 1fr 510px 510px 1fr;
	}
	.section-contact-col-1 {
		grid-column: 2;
		grid-row: 1;
	}
	.section-contact-col-2 {
		grid-column: 3;
		grid-row: 1;
	}
	.section-contact-submit {
		grid-column: 2 / span 2;
		grid-row: 2;
	}
	
	
	
	
	/* || Section teams */
	.section-teams {
		grid-template-columns: 1fr 340px 340px 340px 1fr;
		grid-template-rows: auto auto auto auto;
		
		margin-bottom: 2rem;
	}
	.section-teams-header {
		grid-column: 2 / span 3;
		grid-row: 1;
	}
	.section-teams-logo.team1 {
		grid-column: 2;
		grid-row: 2;
	}
	.section-teams-logo.team2 {
		grid-column: 3;
		grid-row: 2;
	}
	.section-teams-logo.team3 {
		grid-column: 4;
		grid-row: 2;
	}
	.section-teams-content.team1 {
		grid-column: 2;
		grid-row: 3;
	}
	.section-teams-content.team2 {
		grid-column: 3;
		grid-row: 3;
	}
	.section-teams-content.team3 {
		grid-column: 4;
		grid-row: 3;
	}
	.section-teams-skibf-content {
		grid-column: 2 / span 3;
		grid-row: 4;
	}
}











