/*

font-family: 'Baloo Paaji 2', sans-serif;
font-family: 'Fredoka One', sans-serif;

*/
/* --- SETTINGS --- */

*{
	box-sizing: border-box;
}

body{
	margin: 0;
	padding: 0;
	font-family: 'Baloo Paaji 2', sans-serif;
	color: #232323;
}

img{
	max-width: 100%;
}

h1{
	font-family: 'Fredoka One';
	font-weight: normal;
	font-size: 100px;
	color: #f1f1f1;
	margin: 0;
}

h2{
	font-family: 'Fredoka One';
	font-weight: normal;
	font-size: 40px;
	margin: 0;
	margin-bottom: 10px;
	text-transform: capitalize;
}

h3{
	display: inline-block;
	font-family: 'Baloo Paaji 2', sans-serif;
	font-weight: bold;
	font-size: 25px;
	padding: 5px 10px;
	color: #60609d;
	border: 2px solid #60609d;
	margin-bottom: 10px;
}

p{
	font-size: 16px;
	line-height: 18px;
	margin: 0;
	margin-bottom: 15px;
}

::-moz-selection{
	background: #ececec;
}

::selection{
	background: #ececec;
}

.parallax{
	transform: scale(1.1);
}

/* --- SVG --- */

.st0{fill:#9F74DF;}
.st1{fill:none;}
.st2{fill:#5481D9;}
.st3{fill:#99D395;}
.st4{fill:#EC9D8C;}
.st5{fill:#FFFFFF;}
.st6{fill:#E0E0E0;}
.st7{opacity:0.15;}
.st8{fill:url(#SVGID_1_);}
.st9{opacity:0.15;fill:#FFFFFF;}
.st10{fill:none;stroke:#000000;stroke-width:16.5261;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}


/* --- CONTENT ---- */

header{
	position: relative;
	padding: 250px 30px;
	text-align: center;
	overflow: hidden;
}

#header-image{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#header-image div{
	background-position: center;
	background-size: cover;
	position: absolute;
	width: 100%;
	height: 100%;
}

#header-image div#img-1{
	background-image: url('../images/background-1.jpg');
}

#header-image div#img-2{
	background-image: url('../images/background-2.jpg');
}

#header-image div#img-3{
	background-image: url('../images/background-3.jpg');
}

#header-image div#img-4{
	background-image: url('../images/background-4.jpg');
}

#header-image div#img-5{
	background-image: url('../images/background-5.jpg');
}

#header-image:before{
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: #60609d;
	opacity: 0.4;
	z-index: 100;
}

main{
	position: relative;
	width: 100%;
	padding: 0;
}

#goals-progress{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
}

#goals-progress.sticked{
	position: fixed;
}

#goals-progress div:first-child p{
	background: rgba(96, 96, 157, 0.4);
	color: #60609d;
}

#goals-progress div:last-child{
	position: relative;
	width: 0;
	height: 60px;
	overflow: hidden;
	transition: all .7s ease;
}

#goals-progress div:last-child p{
	background: #60609d;
	color: #f1f1f1;
}

#goals-progress p{
	font-family: 'Fredoka One';
	font-size: 20px;
	line-height: 60px;
	text-align: center;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
}

main > .inner-container{
	padding: 100px 30px;
	width: 80%;
	max-width: 1200px;
	margin: 0 auto;
}

section{
	margin-bottom: 60px;
}

section.career h2{
	color: #5481D9;
}

section.selfdevelopment h2{
	color: #99D395;
}

section.hobbies h2{
	color: #EC9D8C;
}

section.stuff h2{
	color: #9F74DF;
}

.goals{
	transition: all .7s ease 6.3s;
	max-height: 100px;
}

.goals.removed{
	overflow: hidden;
	max-height: 0;
}

.goals input{
	display: none;
}

.goals label{
	font-size: 18px;
	line-height: 18px;
	cursor: pointer;
	margin-bottom: 15px;
	vertical-align: middle;
	display: inline-block;
	position: relative;
	padding-left: 45px;
}

.goals label span{
	display: block;
	position: absolute;
	left: 15px;
	top: -1px;
	width: 20px;
	height: 20px;
	margin-right: 10px;
	border: 2px solid #000;
	border-radius: 3px;
}

.goals label span svg{
	position: absolute;
	width: 160%;
	left: -30%;
	bottom: 10%;
}

.goals svg polyline{
	stroke-dasharray: 300;
	stroke-dashoffset: 300;
	transition: all .7s ease;
}

.goals input:checked ~ label{
	text-decoration: line-through;
}

.goals input:checked ~ label polyline{
	stroke-dashoffset: 600;
}

section.career .goals svg polyline{
	stroke: #5481D9;
}

section.selfdevelopment .goals svg polyline{
	stroke: #99D395;
}

section.hobbies .goals svg polyline{
	stroke: #EC9D8C;
}

section.stuff .goals svg polyline{
	stroke: #9F74DF;
}

section#completed{
	text-align: center;
}

.achieved-goal{
	text-align: left;
	margin-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
}

.achieved-goal.placeholder{
	display: block;
	text-align: center;
}

#toggle-button{
	cursor: pointer;
	margin-bottom: 60px;
}

#completed .inner-container{
	overflow: hidden;
	transition: all .7s ease;
}

.achieved-goal p:first-child{
	margin-bottom: 0;
	background: none !important;
	width: 300px;
	color: #232323;
}

.achieved-goal p{
	display: inline-block;
	font-size: 17px;
	padding: 5px 10px;
	background: #60609d;
	color: #f1f1f1;
	max-width: 50%;
}

.achieved-goal.career p{
	background-color:#5481D9;
}

.achieved-goal.selfdevelopment p{
	background-color:#99D395;
}

.achieved-goal.hobbies p{
	background-color:#EC9D8C;
}

.achieved-goal.stuff p{
	background-color:#9F74DF;
}

.achieved-goal strong{
	text-transform: capitalize;
}

footer{
	padding: 10px 15px;
	background: #60609d;
}

footer p{
	color: #f1f1f1;
	opacity: 0.4;
	text-align: center;
	font-size: 12px;
	margin: 0;
}

#fireworks{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	opacity: 0;
	animation: fadeinout 7.5s ease;
}

#fireworks canvas{
	min-width: 100vw;
	min-height: 100vh;
	opacity: 0.6;
}

#fireworks h4{
	position: absolute;
    width: 100%;
    top: 30%;
    margin: 0;
    text-align: center;
    font-size: 10vw;
    text-transform: uppercase;
    color: #f1f1f1;
    font-family: 'Fredoka One', sans-serif;
    z-index: 100;
    transform: scale(0);
    transform-origin: 50% 50%;
    animation: popup .7s ease .5s forwards;
}

/* --- LOGIN --- */

#form-wrapper{
	text-align: center;
	min-height: 100vh;
	padding-top: 150px;
	background: #60609d;
}

#form-wrapper h1{
	margin-bottom: 60px;
}

#form-wrapper h1, #form-wrapper label, #form-wrapper input{
	color: #f1f1f1;
}

#form-wrapper .error-msg{
	color: #ff5c5c;
	font-size: 18px;
	margin-bottom: 15px;
}

#form-wrapper form{
	width: 80%;
	max-width: 250px;
	margin: 0 auto;
}

#form-wrapper label, #form-wrapper input{
	font-size: 20px;
	line-height: 20px;
	text-align: left;
	display: block;
}

#form-wrapper label{
	font-size: 14px;
	padding: 0 10px;
}

#form-wrapper input{
	padding: 5px 10px;
	margin-bottom: 15px;
	width: 100%;
	border: 2px solid #f1f1f1;
	border-radius: 3px;
	background: rgba(241,241,241,0);
	transition: all .7s ease;
}

#form-wrapper input:focus{
	outline: none;
	background: rgba(241,241,241,0.4);
}

#form-wrapper input[type="submit"]{
	margin-top: 30px;
	font-size: 24px;
	display: inline-block;
	width: auto;
	background: rgba(241,241,241,1);
	color: #60609d;
	cursor: pointer;
	box-shadow: 0px 5px 1px rgba(241,241,241,0.4);
	transition: none;
}

#form-wrapper input[type="submit"]:hover, #form-wrapper input[type="submit"]:focus{
	transform: translate(0, 2px);
	box-shadow: 0px 3px 1px rgba(241,241,241,0.4);
}

#form-wrapper ~ footer{
	background: rgba(35, 35, 35, 0.4);
	margin-top: -38px;
}

@keyframes fadeinout{
	0%{opacity: 0;}
	13%{opacity: 1;}
	87%{opacity: 1;}
	100%{opacity: 0;}
}

@keyframes popup{
	from{transform: scale(0);}
	to{transform: scale(1);}
}

@media screen and (max-width: 750px){
	header h1{
		font-size: 60px;
	}

	.achieved-goal p:first-child{
		width: 100%;
	}

	.achieved-goal p{
		max-width: none;
		width: auto;
	}
}

@media screen and (max-width: 450px){
	h1{
		font-size: 60px;
	}

	h2{
		font-size: 25px;
	}
}