@charset "UTF-8";
/* CSS Document */
*, ::after, ::before {
    box-sizing:border-box
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color:transparent
}

.container-fluid {
	max-width: 100vw;
	overflow: hidden;
}

.logo-images {
	/* max-width: 40vw;*/
	 margin: 10px auto;
 }
 
 .logo-images a, .logo-images img.img-fluid {
	 display:inline-block;
	 max-width: 20vw;
	 margin:0;
 }

video {
	display: block;
	outline: none;
    border: 0;
	cursor: pointer;
}
/*iframe{
  width: 92vw;
  height: calc(92vw/1.77);
  max-width:1000px;
}*/
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
    display:block
}

body {
	color:#06145D;
	font-family: 'Montserrat', sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	margin:0;
	padding: 0;
}

a {
text-decoration:none;
}

a:hover, a:active {
text-decoration:underline;
}

.img-fluid {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
	
}

.img-fluid2 {
	display: block;
	height: auto;
	width: 100%;
	max-width: 80vw;
	margin-left: auto;
	margin-right: auto;
}

h1 {
	font-size: 3rem;
	line-height: 1;
}

h2 {
	font-size: 2.5rem;
}

h3 {
	color: #30007B;
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1;
}

.fw-normal {
	font-weight: 500;
}

.fw-black {
	font-weight: 900;
}

.mb-0 {
	margin-bottom: 0;

}

.mt-0 {
	margin-top: 0;
}

.row {
	max-width: 100vw;
	overflow: hidden;
}

.pink-row {
	background-color: #FD81E3;
}

.purple-row {
	background-color: #7722FA;
	
}
.white-row {
	background-color: #ffffff;	
}

.row.header-row {
	position: relative;
	min-height: 40px;
	background-color: #ffffff;
}

.header-icons {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
	}

	.header-icons1 {
	left: 10px;
	}

	.header-icons2 {
	right: 10px;
	}

	.header-icons .img-icon {
	width: 30px;
	height: auto;
	}

.light-grey-row {
	background-color: #f2f2f2;	
}

.pink-bg {
	background-color: #FD81E3;
}

.purple-bg {
	background-color: #7722FA;
}

.dark-purple-text {
	color: #30007B;
	line-height: 3.4rem;

}

.dark-purple-text-intro {
	font-size: 1.9rem;
	line-height: 2.6rem;
}

.hero-style1 .dark-purple-text-intro{
	/* tähän tyylit */
}

.dark-purple-text-video {
	font-weight: 700;
	font-size: 1.9rem;
	line-height: 1.9rem;
	margin-top: 2em;
	margin-bottom: .5em;
}

.pink-text {
	color: #FD81E3;
}

.bpinkbg {
	background-image: url("images/vainruisjutut-osa2-bottom-pink-bg.svg");
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
}

.bpurplebg {
	background-image: url("images/vainruisjutut-osa3-bottom-purple-bg.svg");
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
}

h1 span {
	padding-left: 10px;
	padding-right: 10px;
}

.white-text {
	color:#ffffff;
}

.white-bg {
	background-color: #ffffff;
}

.light-grey-bg {
	background-color: #f2f2f2;
}

.m11deg {
	transform: rotate(-11deg);
	transform-origin: 50% 50%;
	margin-left: -50px;
	margin-right: -50px;
}

.p11deg {
	transform: rotate(11deg);
	transform-origin: 50% 50%;
}

.p11deg2 {
	transform: rotate(11deg) translateX(-3.5%) translateY(10px);
	transform-origin: 50% 50%;
}

.zerodeg {
	transform: rotate(0deg);
}

.text-left {
	text-align: left;
}

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

.text-right {
	text-align: right;
}

.pt-10pr {
	padding-top: 5%;
}

.pt-025 {
	padding-top: 0.25em;
}

.pb-025 {
	padding-bottom: 0.25em;
}

h1 {
	/*font-size: 2rem;*/
}

.h1 {
	padding-left: 10px;
	padding-right: 10px;
	margin: 0;
}

.h2{
	padding-left: 10px;
	padding-right: 10px;
	margin: 0;
}

h1 .h1 {
	font-size: 2.2rem;
	line-height: 1;
}

h1 .h2 {
	font-size: 2rem;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: 2px;
}

.hero-style1 h3 {
	font-size: 1.3rem;
	line-height: 1.35;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 40px;
	width: 66%;
}

h1 sub {
	font-size: 2rem;
	vertical-align: initial;
}

div.spacer{
	width: 100%;
	clear: both;
}

.mb-10{
	margin-bottom: 10px;
}

.mb-20{
	margin-bottom: 20px;
}

.max-800px{
	max-width: 100vw;
	margin-left: auto;
	margin-right: auto;
	padding-left: 4vw;
	padding-right: 4vw;
}

.max-1000px{
	max-width: 100vw;
	margin-left: auto;
	margin-right: auto;
	padding-left: 4vw;
	padding-right: 4vw;
}

.over-bottom-50{
	transform: translateY(-50%);
    margin-bottom: -240px;
}

.hero-style1 {
	overflow: visible;
	z-index: 10;
	position: relative;
	margin-bottom: 0px;
	padding-bottom: 170px;
	width: 140vw;
	margin-left: -20vw;
	margin-right: -20vw;
	padding-top: 40px;
	padding-top: 120px;
	margin-top: -100px;
}

.hero-style1 h1 {
	max-width: 80vw;
	margin-left: auto;
	margin-right: auto;
}

.z1{
	position: relative;
	z-index: 1;
}

.z10{
	position: relative;
	z-index: 10;
}

.z20{
	position: relative;
	z-index: 20;
}

.z30{
	position: relative;
	z-index: 30;
}
.z40{
	position: relative;
	z-index: 40;
}
.z50{
	position: relative;
	z-index: 50;
}

.videokuvaholder{
	margin-top: 0;
	margin-bottom: 0;
}

.videokuva{
	cursor: pointer;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

.row-cols{
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	margin-right: -15px;
	margin-left: -15px;
}

.col-50{
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
	position: relative;
	padding-right: 15px;
	padding-left: 15px;
}

.col-50 p, .alasivucontent p{
	font-size: 1.2rem;
}

.col-50 a{
	color:#7722FA;
}

.pdt-100{
	padding-top: 100px;
}

.pdb-100{
	padding-bottom: 100px;

}
.img-bg-osa2{
/*	background-image: url("images/vain-ruisjutut-osa2-bg.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: top center;
*/
	width: 120vw;
	margin-left: -10vw;
	margin-right: -10vw;
}

.mg-lr-100{
	width: 100vw;
	margin-left: auto;
	margin-right: auto;
}

.mg-lr-over{
	width: 140vw;
	margin-left: -20vw;
	margin-right: -20vw;
}

.alasivubg{
	background-image: url("images/alasivu-bg.svg");
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
	
}
.alasivucontainer.mg-lr-over {
	width: 180vw;
	margin-left: -40vw;
	margin-right: -40vw;
}

.alasivu-otsikkoalue {
	position: relative;
}

.alasivuotsikko {
	position: absolute;
	bottom: 25%;
	left: 50%;
	transform: rotate(-11deg) translateX(-50%);
	transform-origin: 50% 50%;
	margin-left: -50px;
	margin-right: -50px;
}

h2.alasivuotsikko {font-size: 2.5rem;}

/* nämä puuttui */
.alasivucontent{
width: 90%;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
.alasivucontent h1{}
.alasivucontent h2{}
.alasivucontent h2+h1{
}

.embed-responsive {
position: relative;
display: block;
width: 100%;
padding: 0;
overflow: hidden;
}
.embed-responsive::before {
display: block;
content: "";
}
.embed-responsive-21by9::before {
padding-top: 42.857143%;
}
.embed-responsive-16by9::before {
padding-top: 56.25%;
}
.embed-responsive-4by3::before {
padding-top: 75%;
}
.embed-responsive-1by1::before {
padding-top: 100%;
}
.embed-responsive .embed-responsive-item, .embed-responsive embed, .embed-responsive iframe, .embed-responsive object, .embed-responsive video {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}

/* nämä puuttui end */
.mt-10vw{
	margin-top: -10vw;
padding-bottom: 0vw;
}

.mt-20vw {
	margin-top: -5vw;
	padding-bottom: 0vw;
}

.pb-7vw {
	padding-bottom: 7vw;
	}

.pb-10vw {
padding-bottom: 10vw;
}
.pb-10vw {
padding-bottom: 15vw;
}
.pb-20vw {
padding-bottom: 20vw;
}
.ptpb-30 {
	padding: 30px;
}

h2.alert {
	width: 100%;
font-weight: 900;
	margin-bottom: 3rem;
margin-left: auto;
margin-right: auto;
	max-width: 500px;
}

h2.alert div {
	margin-bottom: 5px;
}

h2.alert div.text-right {
	padding-right: 10px;
}

h2.alert div.text-left {
padding-left: 15px;
}

h2.alert+p {
        margin-top: 2em;
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.text-bg-purple {
	/*background-color: #7722FA;*/
	
}

.text-purple {
	color: #7722FA;
}

.text-bg-pink span {
background-color: #FD81E3;
display: inline-block;
letter-spacing: 2px;
padding: 3px 10px;
}

.some {
font-size: 1.6rem;
font-weight: 600;
padding: 2rem;
margin-bottom: 0;
line-height: 1;
}

.some span {
	display:block;
	margin-top: 10px;
	margin-bottom: 15px;
}

.some a {
	color:#06145D;
	display: inline-block;
	margin: 5px;
	line-height: 1;
}
.img-icon {
	width: 40px;
	height: auto;
}

/* Form */
form {
	padding: 40px 0;
}

.form-control {
	display: block;
	width: 100%;
	height: calc(2.25rem + 2px);
	padding: .375rem .75rem;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .11rem;
	color: #30007B;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: .25rem;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	margin-bottom: 15px;

}
::-webkit-input-placeholder { /* Edge */
  color: #000000;
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #000000;
}

::placeholder {
  color: #000000;
}

label {
	font-size: 1.3rem;
    color: #ffffff;
    margin-bottom: 10px;
    display: block;
    padding: 0 15px;
}

textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	overflow: auto;
	resize: vertical;
}
textarea.form-control {
height: auto;
}
.p11deg2 .not-have-padding {
	transform: translateX(15px);
}

.alasivucontent {
width: 90%;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}

.alasivucontent h1{}

.alasivucontent h2{}

.alasivucontent h2+h1{
}

/* ----------Maksimileveys 767px ja alle---------- */

@media (max-width:767px) {
	.over-bottom-50 {
		transform: translateY(-50%);
		margin-bottom: -160px;
	}

	.pdt-100>.row-cols {
		margin-top: -50px;
	}

	.osallistu-btn {
		max-width: 260px;
	}

	.send-btn {
		max-width: 200px;
	}
	h2.subtitle{
		max-width: 100vw;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ----------Minimileveys 768px ja ylitse---------- */

@media (min-width:768px) {
	.some span {
		display: inline-block;
	}
	.logo-images {
		/* max-width: 308px;*/
		 margin: 10px auto;
	 }

	 .logo-images a, .logo-images img.img-fluid {
		display:inline-block;
		max-width: 154px;
		margin:0;
	}

	.row-cols {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		flex-direction:row;
		margin-right: -15px;
		margin-left: -15px;
	}

	.col-50 {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
		position: relative;
		padding-right: 15px;
		padding-left: 15px;
	}

	.hero-style1 {
    	overflow: visible;
    	z-index: 10;
    	position: relative;
   		margin-bottom: 0px;
	    padding-bottom: 250px;
		width: 140vw;
		margin-left: -20vw;
		margin-right: -20vw;
	}

	.hero-style1 h1 {
		max-width: 93vw;
	    margin-left: auto;
	    margin-right: auto;
	}

	h1 .h1 {
		font-size: 7rem;
		line-height: 1;
	}

	h1 .h2 {
		font-size: 5rem;
		line-height: 1.43;
		font-weight: 900;
		letter-spacing: 2px;
	}

	h1 sub {
		font-size: 3rem;
		vertical-align: initial;
}	

	.hero-style1 h3 {
		font-size: 2rem;
		line-height: 1.4;
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 60px;
		width: 66%;
}
	.img-fluid2 {
		max-width: 100vw;
	}

	.osallistu-btn {
		max-width: 660px;
	}

	.send-btn {
		max-width: 300px;
	}
}

@media (min-width:768px) and (max-width:900px) {
	h2 {
		font-size: 2rem;
		line-height: 1;
	}
	
	h1 .h1 {
		font-size: 4rem;
		line-height: 1;
	}

	h1 .h2 {
		font-size: 3rem;
		line-height: 1.43;
		font-weight: 900;
		letter-spacing: 2px;
	}
}

@media (min-width:901px) {
	h1 {
		font-size: 3rem;
		line-height: 1;
	}

	h2 {
		font-size: 2.5rem;
		line-height: 1;	
	}

	h3 {
		font-size: 2.2rem;
		line-height: 1;
	}
	
	h1 .h1{
		font-size: 5rem;
		line-height: 1;
	}

	.hero-style1 h1 {
		max-width: 100vw;
		margin-left: auto;
		margin-right: auto;
	}

	h1 .h2 {
		font-size: 4rem;
		line-height: 1.43;
		font-weight: 900;
		letter-spacing: 2px;
	}

	.hero-style1 h3 {
		font-size: 2rem;
		line-height: 1.4;
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 60px;
		width: 66%;
	}
}


@media (min-width:800px) {
	.max-800px {
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (min-width:1000px) {
	.max-1000px {
		max-width: 1000px;
		padding-left: 0;
		padding-right: 0;
	}
}

@media (min-width:1100px) {
	.hero-style1 {
		padding-top: 280px;
		margin-top: -220px;
	}
}