/*
    Theme Name: Eppunormaali
    Version: 1.0.1
*/

html, body{
	margin: 0;
}
body{
	font-family: 'Josefin Sans', sans-serif;
	font-size: 20px;
}
h1, h2, h3{
	font-family: 'Oswald', sans-serif;
}
h2{
	font-size: 40px;
}
h3{
	font-size:32px;
}
h4{
	font-size: 22px;
	margin-top: 40px;
}
header{
	background-image: url('kuvat/eppunormaali.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: local;
	background-position: center;
}
.logo{
	position: absolute;
	width: 80%;
	top: 0;
	bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transition: 200ms;
    transition: 200ms;
}

.logo.fixed{
	position: fixed;
	top: 0;
	left: 0px;
	bottom: auto;
	right: auto;
	width: 100px;
	z-index: 501;
}

.center{
	text-align: center;
	margin: auto;
}

.italic{
	font-style: italic;
}

/* Preloader */
#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
}
#loader {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #ff3636;
    -webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
    z-index: 1001;
}

#loader:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #e95a44;
    -webkit-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 3s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
}

#loader:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #fd785a;

    -webkit-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
      animation: spin 1.5s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
}

@-webkit-keyframes spin {
    0%   { 
        -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg);  /* IE 9 */
        transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
    }
    100% {
        -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(360deg);  /* IE 9 */
        transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
    }
}
@keyframes spin {
    0%   { 
        -webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg);  /* IE 9 */
        transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */
    }
    100% {
        -webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(360deg);  /* IE 9 */
        transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */
    }
}

.loader-section.section-left {
    background-color: #1b1a1a;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.loader-section.section-right {
    background-color: #1b1a1a;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
}

.loaded #loader-wrapper .loader-section.section-left {
    -webkit-transform: translateX(-100%);  /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateX(-100%);  /* IE 9 */
    transform: translateX(-100%);  /* Firefox 16+, IE 10+, Opera */
    -webkit-transition: all 0.5s 0.3s ease-out; 
    transition: all 0.5s 0.3s ease-out;
}
 
.loaded #loader-wrapper .loader-section.section-right {
    -webkit-transform: translateX(100%);  /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateX(100%);  /* IE 9 */
    transform: translateX(100%);  /* Firefox 16+, IE 10+, Opera */
    -webkit-transition: all 0.5s 0.3s ease-out; 
    transition: all 0.5s 0.3s ease-out;
}

.loaded #loader {
    opacity: 0;
    -webkit-transition: all 0.3s ease-out; 
    transition: all 0.3s ease-out;
}

.loaded #loader-wrapper {
    visibility: hidden;
}

.loaded #loader-wrapper {
	-webkit-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	transform: translateY(-100%);

	-webkit-transition: all 0.3s 1s ease-out; 
	transition: all 0.3s 1s ease-out;
}

#loader-wrapper h1{
    z-index: 1003;
    color: #eee;
    position: absolute;
    left: 0;
    right: 0;
    top: 150px;
    transition: all 0.3s 0.3s ease-out;
    text-align: center;
}

.loaded #loader-wrapper h1 {
    top: -100%;
}

/* Ajankohtaiset ja carousel */
#ajankohtaiset {
    background-color: #e95a44;
  	background-image: url(kuvat/ajankohtaiset.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    background-attachment: fixed;
    min-height: 338px;
}
#ajankohtaiset .container{
	width: 80%;
}

#ajankohtaiset a, #ajankohtaiset a:hover, #ajankohtaiset a:focus{
	color: #480d0d;
}
.item{
	color: #fff;
    padding: 20px 0 50px 0;
}
.carousel-control{
	width: 10%;
}
.carousel-control.right, .carousel-control.left{
	background-image: none;
}

/* Navigointi */
nav{
    width: 100%;
    text-align: center;
    margin: auto;
    position: relative;
    background-color: #fff;
    z-index: 500;
    overflow: hidden;
    -webkit-transition: 500ms ease-out;
    -moz-transition: all 500ms ease-out;
    -ms-transition: all 500ms ease-out;
    -o-transition: all 500ms ease-out;
    transition: all 500ms ease-out;
    height: 100%;
}
.nav-logo{
	position: absolute;
    top: -100%;
    left: 40px;
    margin: auto;
    -webkit-transition: 200ms;
    transition: 200ms;
}
.nav-logo.fixed{
	top: 0;
}
nav ul{
	list-style: none;
    margin-top: 30%;
    padding-left: 0;
}
nav.fixed{
	position: fixed;
	top: -100%;
}
nav.open{
	top: 0;
}
nav ul li{
	margin-bottom: 20px;
}
nav ul li a{
	color: #000;
	font-size: 22px;
	font-family: 'Oswald', sans-serif;
}
nav ul li a:hover, nav ul li a:focus{
	color: #f5161a;
}
i.fa.fa-home{
	font-size: 33px;
}
#mobile-nav{
    position: fixed;
    top: 10px;
    right: 40px;
    z-index: 502;
    cursor: pointer;
}
.icon-bar{
	display: block;
    width: 30px;
    height: 4px;
    border-radius: 3px;
    background-color: #000;
    margin-top: 5px;
    -webkit-transition: 400ms ease-out;
    -moz-transition: all 400ms ease-out;
    -ms-transition: all 400ms ease-out;
    -o-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
}

/* Dividerit */
.divider{
	height: 300px;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.martti{
	background-image: url('kuvat/martti.jpeg');
}
.pantse{
	background-image: url('kuvat/pantse.jpg');
}
.juha{
	background-image: url('kuvat/juha.jpg');
}
.sami{
	background-image: url('kuvat/sami.jpeg');
}
.aku{
	background-image: url('kuvat/aku.jpeg');
	background-position: top;
}

/* Tietopalkki */
#tietopalkki, #diskografia, #keikkamyynti, #muuta, #error{
	padding: 100px 30px 100px 30px;
	position: relative;
}
#tietopalkki h2{
	margin-bottom: 80px;
}
.lyhyt-teksti{
	text-align: justify;
}
.yhteiskuva{
	max-width: 100%;
}

#tietopalkki .italic{
	font-size: 18px;
	margin-top: 30px;
}

/* Keikat */
#keikat {
    padding:100px 30px;
}
#keikat h2{
	margin-bottom: 50px;
}
#keikat .container-fluid:nth-child(2){
	padding: 0;
}
#keikat a, #keikat a:hover{
	color: #000;
}
#keikat table{
	margin-top: 50px;
	width: 100%;
}
#keikat th{
	text-align: center;
	font-family: 'Oswald', sans-serif;
	width: 25%;
}

#keikat tbody tr:first-child{
	display: none;
}

#keikat tr{
	border: 1px solid #000;
}
#keikat td{
	display: block;
}
.quote {
    float: left;
    background-color: #e95a44;
    color: white;
    padding: 20px;
    margin-top: 310px;
    position: relative;
    left: 0;
    width: 100%;
    text-align: center;
    height: 300px;
}
.quote q:after, .quote q:before{
	content: "";
}
q.first{
	margin-top: 48px;
}
q{
	margin-top: 0px;
    font-size: 25px;
    display: block;
    float: left;
    padding-left: 80px;
    font-family: 'Raleway', sans-serif;
}
.eppulogo{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 300px;
	top: -500px;
}

.bit-event {
    display: inline-block !important;
    width: 100% !important;
    position: relative !important;
}
a.bit-details {
    display: inline-block !important;
    width: 70%;
    padding: 15px;
    position: relative;
    margin-right: auto;
    float: left;
}
.bit-details.bit-event-buttons {
    display: inline-block !important;
    margin-left: auto !important;
    position: absolute;
    top: 3px;
    right: 0;
}
.bit-date {
    display: block;
    text-align: left;
}
.bit-venue {
    display: block;
    text-align: left;
}
.bit-location {
    display: block;
    text-align: left !important;
    margin-left: 0 !important;
}
.bit-rsvp-container {
    display: block !important;
}
.bit-offers-container {
    display: block !important;
    margin: 5px 0 5px 0 !important;
}

/* Some */
#some{
	padding: 100px 30px 100px 30px;
}

ul.stream{
	min-height: 1000px;
}

.dcwss.dc-wall .stream li .section-thumb img, .dcwss.dc-wall .stream li .section-text img, .dcwss.dc-wall .stream li.dcsns-facebook .section-thumb img{
	width: 100%;
	height: auto;
}
.wall-outer .dcsns-toolbar .filter li a{
	min-width: 50px;
}
.wall-outer .dcsns-toolbar .filter li a {
    background: #e95a44 !important;
}

/* Diskografia */
#diskografia h2{
	padding-bottom: 100px;
	transition-delay: 0.3s;
}
.vinyyli{
	position: absolute !important;
	top: 25px;
	left: 0px;
	z-index: -1;
	width: 150px;
}
#filters {
	margin:1%;
	padding:0;
	list-style:none;
}

#filters li {
	float:left;
	cursor: pointer;
}

#filters li:first-child{
	transition-delay: 0.5s;
}

#filters li:nth-child(2){
	transition-delay: 0.7s;
}

#filters li:nth-child(3){
	transition-delay: 0.9s;
}

#filters li:nth-child(4){
	transition-delay: 1.1s;
}

#filters li:nth-child(5){
	transition-delay: 1.3s;
}

#filters li:nth-child(6){
	transition-delay: 1.5s;
}

#filters li span{
	display: block;
	padding:5px 20px;		
	text-decoration:none;
	color:#666;
	cursor: pointer;
}

#filters li span.active {
	background: #e95a44;
	color:#fff;
}

#levyt .levy{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	width:45%;
	margin:1%;
	display:none;
	float:left;
	overflow:hidden;
}

.album{
	transition-delay: 1.5s !important;
}

.levy-wrapper {
	overflow:hidden;
	position: relative !important;
	background: #666;
	cursor:pointer;
}

.levy img {
	width:100%;
	height: auto;
	position: relative;
	top:0;
	-webkit-transition: all 200ms cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: all 200ms cubic-bezier(0.645, 0.045, 0.355, 1);		
}

.levy p.albumi-nimi{
	position: absolute;
	width: 100%;
	min-height: 30px;
	margin-bottom: 0px;
	padding: 5px;
	bottom: -140%;
	-webkit-transition: all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
	color: #fff;
	z-index: 1;
}

.levy:hover p.albumi-nimi{
	bottom: 0;
}

.levy:hover img {
	transform: scale(1.5);
}

.levy:hover .overlay{
	opacity: 0.9;
}

.overlay{
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #e95a44;
    transition: 200ms ease-in;
    top: 0;
    opacity: 0;
}

.fa.fa-link{
	width: 65px;
    height: 65px;
    font-size: 27px;
    line-height: 2.4;
    margin-top: 33%;
    color: #fff;
    border: 2px solid white;
    border-radius: 40px;
}

.btn{
	background-color: #e95a44;
	color: #fff;
	font-size: 20px;
	padding: 5px 20px;
	border-radius: 0;
	margin-top: 30px;
}

/* Keikkamyynti */
.keikkamyynti{
	margin-top: 50px;
	margin-bottom: 30px;
}

/* Muuta */
.social-media-icon{
	width: 50px;
	height: auto;
}
.spotify{
	width: 150px;
}
#muuta a{
	color:#ff383c;
}

.brs{
	max-width: 100%;
}

/* Albumi-sivu */
#albumi{
	position: relative;
	overflow: hidden;
}

#albumi .row{
	display: flex;
    flex-wrap: wrap;
}

.albumi{
	order: 2;
}
.albumi img{
	width: 100%;
	height: auto;
	padding: 10px;
}
.kappaleet{
	order: 1;
}
.kappaleet h2{
	margin-top: 0px;
}
a.back{
	color: #000;
}
.fa.fa-angle-double-left{
	font-size: 24px;
	color: #000;
	margin-bottom: 70px;
	margin-top: 70px;
}
.levy-vinyyli{
	position: absolute;
	left: 0;
	transform: rotate(90deg);
	bottom: 0;
	display: none;
}
.levy-vinyyli img{
	width: 200px;
}
.relative{
	position: relative;
}

/* Tiedote */
#tiedote{
	padding-bottom: 100px;
}

/* Animations */
.animation{
	opacity: 0;
 	position: relative;
}

.fadeLeft{
	-moz-transform: translate3d(-100px, 0px, 0px);
	-webkit-transform: translate3d(-100px, 0px, 0px);
	-o-transform: translate(-100px, 0px);
	-ms-transform: translate(-100px, 0px);
	transform: translate3d(-100px, 0px, 0px);
}
.fadeLeft.in-view, .fadeUp.in-view{
	opacity: 1;
	-moz-transition: all 500ms ease-out;
	-webkit-transition: all 500ms ease-out;
	-o-transition: all 500ms ease-out;
	transition: all 500ms ease-out;
	-moz-transform: translate3d(0px, 0px, 0px);
	-webkit-transform: translate3d(0px, 0px, 0px);
	-o-transform: translate(0px, 0px);
	-ms-transform: translate(0px, 0px);
	transform: translate3d(0px, 0px, 0px);
}

.fadeUp{
	-moz-transform: translate3d(0px, 200px, 0px);
	-webkit-transform: translate3d(0px, 200px, 0px);
	-o-transform: translate(0px, 200px);
	-ms-transform: translate(0px, 200px);
	transform: translate3d(0px, 200, 0px);
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
}

.skew{
}

.skew.in-view{
	opacity: 1;
	animation: skew 500ms 1;
	-moz-transition: all 300ms ease-out;
	-webkit-transition: all 300ms ease-out;
	-o-transition: all 300ms ease-out;
	transition: all 300ms ease-out;
}

@keyframes skew{
	0%{
		-moz-transform: skew( 45deg, 45deg );
		-webkit-transform: skew( 45deg, 45deg );
		-o-transform: skew( 45deg, 45deg );
		-ms-transform: skew( 45deg, 45deg );
		transform: skew( 45deg, 45deg );
	}
	100%{
		-moz-transform: skew( 0deg, 0deg );
		-webkit-transform: skew( 0deg, 0deg );
		-o-transform: skew( 0deg, 0deg );
		-ms-transform: skew( 0deg, 0deg );
		transform: skew(0deg, 0deg);
	}
}

.kaikkiSanat{
	width: 100%;
	height: auto;
	max-width: 700px;
}

#tiedote h2 {
    margin-bottom: 40px;
}

/* Footer */
footer{
	padding: 10px;
    background: #ea5a43;
    font-size: 15px;
    color: #fff;
}

footer a{
	color: #fff;
}

/* Keikkasivu */
.keikkaboksi{
	padding: 20px 10px 40px 10px;
	text-align: center;
	border: 3px solid black;
	width: 100%;
	margin-bottom: 30px;
	background-image: url('kuvat/eppunormaali_keikka_kitara.jpg');
	background-size: cover;
	position: relative;
	color: #fff;
}

.keikkapvm{
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 10px;
	color: #e95a44;
	font-family: 'Oswald';
}

.tapahtumakaupunki{
	font-size: 35px;
	text-transform: uppercase;
	font-weight: bold;
	margin-bottom: 10px;
}

.tapahtumapaikka{
	font-size: 20px;
	text-transform: uppercase;
	font-weight: bold;
	margin-bottom: 40px;
}

.lippulinkki{
	color: #000;
	background-color: #e95a44;
	padding: 10px 15px;
    border-radius: 7px;
    transition: 250ms ease-in;
    font-weight: bold;
}

.lippulinkki:hover {
	text-decoration: none;
    background-color: #fff;
    color: #000;
    font-weight: bold;
}

.osta{
	display: block;
	margin-bottom: 10px;
	font-size: 	15px;
}

div.keikkaboksi:has(>div.loppuunvarattu) {
	opacity: 75%;
}

.loppuunvarattu {
    width: 90%;
    top: 50%;
    margin: 0 1rem auto;
    background-color: red;
    z-index: 100;
    position: absolute;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%) rotate(350deg);
    -webkit-font-smoothing: antialiased;
}

/* Custom, iPhone Retina */ 
@media only screen and (min-width : 320px) {
	.logo.fixed{
		left: 40px;
	}
	.vinyyli{
		width: 100px;
	}
}


/* Extra Small Devices, Phones */ 
@media only screen and (min-width : 480px) {
	h2{
		font-size: 60px;
	}
	.divider{
		height: 300px;
	}
	.martti{
		background-image: url('kuvat/martti.jpg');
	}
	.pantse{
		background-image: url('kuvat/pantse.jpg');
	}
	.juha{
		background-image: url('kuvat/juha.jpg');
	}
	.sami{
		background-image: url('kuvat/sami.jpg');
	}
	.aku{
		background-image: url('kuvat/aku.jpg');
		background-position: center;
	}
	#keikat tbody tr:first-child{
		display: table-row;
	}
	#keikat tr{
		border: none;
	}
	#keikat td{
		display: table-cell;
	}
	.vinyyli{
		width: 150px;
	}
	#levyt .levy{
		width: 30%;
	}
}

/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {
	.logo{
		width: 500px;
	    left: auto;
	    right: 80px;
	}
	#tietopalkki .right{
		text-align: right;
	}

	#tietopalkki{
		padding: 100px;
	}
	.vinyyli{
		width: 200px;
	}
	#levyt .levy{
		width: 23%;
	}

	#albumi{
		padding-bottom: 0px;
	}

	#albumi .row{
		display: block;
	}

	.albumi img{
		padding: 0px;
	}	

	.kappaleet{
		padding-top: 0px;
	}
	.levy-vinyyli{
		display: block;
	}
	.keikkaboksi{
		width: 90%;
	}
}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {
	nav{
	    width: 100%;
	    height: 70px;
	    text-align: right;
	    margin: auto;
	    position: relative;
	    background-color: #fff;
	}
	nav.fixed{
		position: fixed;
		top: 0;
	}
	nav ul{
		height: inherit;
		display: inline-block;
		list-style-type: none;
		margin-top: 0px;
	}
	nav ul li{
		float: left;
		padding: 20px 30px 0px 30px;
	}
	#mobile-nav{
		display: none;
	}
	.logo{
		width: 600px;
	}
	.divider{
		height: 400px;
	}
	#levyt .levy{
		width: 18%;
	}

	#ajankohtaiset .item{
		padding: 60px;
	}
	.quote{
		margin-top: 110px;
		height: 200px;
	}

	.eppulogo{
		left: auto;
		top: -90px;
	}
	.pantse{
		margin-top: 0px;
	}
	.bit-details.bit-event-buttons {
	    display: inline-block !important;
	    width: 330px !important;
	    margin-left: auto !important;
	}

	.bit-event {
	    display: inline-block !important;
	    width: 100% !important;
	    position: relative !important;
	}
	a.bit-details {
	    display: inline-block !important;
	    width: 70%;
	    padding: 15px;
	    position: relative;
	    margin-right: auto;
	    float: left;
	}
	.bit-details.bit-event-buttons {
	    display: inline-block !important;
	    width: 330px !important;
	    margin-left: auto !important;
	    position: absolute;
	    top: 3px;
	    right: 0;
	}
	.bit-date {
	    display: inline-block;
	    float: left;
	    margin-left: auto !important;
	}
	.bit-venue {
	    display: inline-block !important;
	    float: left;
	    margin-left: 10px;
	}
	.bit-location {
	    display: inline-block;
	    float: left;
	    margin-left: 10px !important;
	}
	.bit-rsvp-container {
	    display: inline-block !important;
	}
	.bit-offers-container {
	    display: inline-block !important;
	}
}

/* Large Devices, Wide Screens */
@media only screen and (min-width : 1200px) {
	.levy-vinyyli{
		left: auto;
		right: 0;
		transform: rotate(0deg);
	}
	.levy-vinyyli img{
		width: auto;
	}
	.eppulogo{
		right: 5%;
	}
}
