/* PAGE STYLES */

.fullSizeHeader img.desktop,
.fullSizeHeader img.mobile {
    max-height: none;
}

.fullSizeHeader img.desktop { display: block; }
.fullSizeHeader img.mobile { display: none; }

.fullSizeHeader .floating-images {
	pointer-events: none;
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
}

.fullSizeHeader .floating-images.desktop { display: block; }
.fullSizeHeader .floating-images.mobile { display: none; }

.fullSizeHeader .floating-images > * {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
}

.fullSizeHeader .floating-images.desktop > *:nth-of-type(1) {
    background-image: url('../images/vital-purkki1_v2.png');
    -webkit-animation:  float 10s ease infinite 0.1s;
    -ms-animation:      float 10s ease infinite 0.1s;
    animation:          float 10s ease infinite 0.1s;
}

.fullSizeHeader .floating-images.desktop > *:nth-of-type(2) {
	z-index: 2;
    background-image: url('../images/vital-purkki2_v2.png');
    -webkit-animation:  floatReverse 10s ease infinite 0.7s;
    -ms-animation:      floatReverse 10s ease infinite 0.7s;
    animation:          floatReverse 10s ease infinite 0.7s;
}

.fullSizeHeader .floating-images.desktop > *:nth-of-type(3) {
    background-image: url('../images/vital-purkki3_v3.png');
    -webkit-animation:  float 10s ease infinite 1.3s;
    -ms-animation:      float 10s ease infinite 1.3s;
    animation:          float 10s ease infinite 1.3s;
}

.fullSizeHeader .floating-images.mobile > *:nth-of-type(1) {
	z-index: 3;
    background-image: url('../images/vital-purkki1_mobile_v2.png');
    -webkit-animation:  float 10s ease infinite 0.1s;
    -ms-animation:      float 10s ease infinite 0.1s;
    animation:          float 10s ease infinite 0.1s;
}

.fullSizeHeader .floating-images.mobile > *:nth-of-type(2) {
	z-index: 2;
    background-image: url('../images/vital-purkki2_mobile_v2.png');
    -webkit-animation:  floatReverse 10s ease infinite 0.7s;
    -ms-animation:      floatReverse 10s ease infinite 0.7s;
    animation:          floatReverse 10s ease infinite 0.7s;
}

.fullSizeHeader .floating-images.mobile > *:nth-of-type(3) {
    background-image: url('../images/vital-purkki3_mobile_v3.png');
    -webkit-animation:  float 10s ease infinite 1.3s;
    -ms-animation:      float 10s ease infinite 1.3s;
    animation:          float 10s ease infinite 1.3s;
}




.fullSizeHeader .floating-images img {
	width: 37%;
	height: auto;
	position: absolute;
	max-width: 440px;

    -webkit-backface-visibility: hidden;
}

.fullSizeHeader .floating-images img:nth-child(1) { 
	z-index: 2;
	left: 12.5%; top: 0; 
	-webkit-animation:  float 10s ease infinite 0.1s;
    -ms-animation:      float 10s ease infinite 0.1s;
    animation:          float 10s ease infinite 0.1s;
}

.fullSizeHeader .floating-images img:nth-child(2) { 
	left: 30.7%; top: 0; 
	-webkit-animation:  floatReverse 10s ease infinite 0.7s;
    -ms-animation:      floatReverse 10s ease infinite 0.7s;
    animation:          floatReverse 10s ease infinite 0.7s;
}

.fullSizeHeader .floating-images img:nth-child(3) { 
	right: 10%; top: 0;
	-webkit-animation:  float 10s ease infinite 1.3s;
    -ms-animation:      float 10s ease infinite 1.3s;
    animation:          float 10s ease infinite 1.3s;
}

@-webkit-keyframes float {
    0% 	 { -webkit-transform: translateY(0) rotate(0deg); }
    50%  { -webkit-transform: translateY(-15px) rotate(0.1deg); }
    100% { -webkit-transform: translateY(0) rotate(0deg); }
}

@-ms-keyframes float {
    0%   { -ms-transform: translateY(0) rotate(0deg); }
    50%  { -ms-transform: translateY(-15px) rotate(0.1deg); }
    100% { -ms-transform: translateY(0) rotate(0deg); }
}

@keyframes float {
    0%   { transform: translateY(0) rotate(0deg); }
    50%  { transform: translateY(-15px) rotate(0.1deg); }
    100% { transform: translateY(0) rotate(0deg); }
}

@-webkit-keyframes floatReverse {
    0% 	 { -webkit-transform: translateY(0) rotate(0deg); }
    50%  { -webkit-transform: translateY(15px) rotate(0.1deg); }
    100% { -webkit-transform: translateY(0) rotate(0deg); }
}

@-ms-keyframes floatReverse {
    0%   { -ms-transform: translateY(0) rotate(0deg); }
    50%  { -ms-transform: translateY(15px) rotate(0.1deg); }
    100% { -ms-transform: translateY(0) rotate(0deg); }
}

@keyframes floatReverse {
    0%   { transform: translateY(0) rotate(0deg); }
    50%  { transform: translateY(15px) rotate(0.1deg); }
    100% { transform: translateY(0) rotate(0deg); }
}


/* naw item selection */
#nav-tuotteet a, .marli a {color:#e30214 !important;}
#tuotteet {display:block;}

.sideImage {
	position: relative;
	width: 100%;
	height: auto;
	max-width: 306px;
	margin-top: 3em;
}


/* Flex grid */

.flex-grid {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	font-size: 22px;
	margin: 30px 0;
	justify-content: space-between;
	--grid-margin: 25px;
}

.flex-grid > * {
	position: relative;
	display: block;
	width: 33.333333%;
	overflow: hidden;
	background-color: #2a3235;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	font-family: "Mulish", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 1em;
	line-height: 1;
	color: white;
	text-align: center; 
}

.flex-grid > *:after {
	pointer-events: none;
	content: '';
	display: block;
	position: relative;
	width: 100%;
	padding-bottom: 100%;
}

.flex-grid > * > div {
	position: absolute;
	width: 100%; height: 100%;
	box-sizing: border-box;
}

.flex-grid .swapper > .swap {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0; left: 0;
	background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 0;

    -webkit-transition: opacity 1.8s ease-in-out;
	-ms-transition: 	opacity 1.8s ease-in-out;
	transition: 		opacity 1.8s ease-in-out;
}

.flex-grid .swapper > .swap.current { z-index: 2; }
.flex-grid .swapper > .swap.next { z-index: 1; }
.flex-grid .swapper > .swap.current.animateOut { opacity: 0; }

.flex-grid .video-container {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	overflow: hidden;
}

.flex-grid .video-container video {
	display: block;
	width: 100%; height: 100%;
	object-fit: cover;
}

.flex-grid .indieFlower {
	color: white;
	font-family: "Indie Flower", cursive;
	font-weight: 400;
	font-style: normal;
}

.flex-grid .text {
	position: absolute;
	white-space: nowrap;
}

.flex-grid .balloon {
	position: absolute;
	width: 10em; height: 10em;
	border-radius: 50%;
	background: #e694a2;
	font-size: 0.75em;
	line-height: 1.2;
}

.flex-grid .balloon .text {
	position: absolute;
    top: 50%; left: 50%;
    letter-spacing: -0.6px;
    white-space: nowrap;

    -webkit-transform: translate(-50%, -50%);
    	-ms-transform: translate(-50%, -50%);
    		transform: translate(-50%, -50%);
}

.flex-grid .grid-col > * {
	position: relative;
	background-color: #2a3235;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.flex-grid-1 { margin-bottom: var(--grid-margin); }
.flex-grid-2 { margin-top: var(--grid-margin); }

.flex-grid-1 > *:nth-child(1) { background-image: url('../images/flex-grid-01_v3.jpg'); order: 1; width: 64.584%; }
.flex-grid-1 > .grid-col-1 > *:nth-child(1) { background-image: url('../images/flex-grid-hedelmanektari.jpg'); }
.flex-grid-1 > .grid-col-1 > *:nth-child(2) { background-image: url('../images/flex-grid-03.jpg'); margin-top: var(--grid-margin); }
.flex-grid-1 > *:nth-child(2) { order: 2; }

.flex-grid-2 > *:nth-child(1) { background-image: url('../images/flex-grid-appelsiinimango.jpg'); order: 1; }
.flex-grid-2 > *:nth-child(1) .swapper .swap-1 { background-image: url('../images/flex-grid-multivitamiini.jpg'); }
.flex-grid-2 > *:nth-child(1) .swapper .swap-2 { background-image: url('../images/flex-grid-appelsiinimango.jpg'); }
.flex-grid-2 > *:nth-child(2) { background-image: url('../images/flex-grid-05.jpg'); order: 2; margin-left: var(--grid-margin); flex-grow: 1; }

.flex-grid-1 > .grid-col-1:after,
.flex-grid-2 > *:nth-child(2):after { padding-bottom: 0; }
.flex-grid-1 > *:nth-child(1):after { padding-bottom: 92.26%; }
.flex-grid-2 > *:nth-child(1):after { padding-bottom: 86.25%; }

.flex-grid-1 > .grid-col-1 { 
	display: flex;
    flex-direction: column;
    flex-grow: 1;
    align-items: flex-end;
    background: white;
}

.flex-grid-1 > .grid-col-1 > * {
	position: relative;
	width: calc(100% - var(--grid-margin));
	height: 50%;
	flex-grow: 1;
}



.flex-grid .balloon-annospakkaus {
    right: 12%; top: 6%;
    width: 6.6em; height: 6.6em;
	background: #df8f1d;

	-webkit-transform: rotate(13deg);
		-ms-transform: rotate(13deg);
			transform: rotate(13deg);
}

.flex-grid .swapper .balloon-annospakkaus {
	top: 4%;
}

.flex-grid .balloon-annospakkaus .text { font-size: 90%; top: 47%; }








.flex-grid-2 .vital-sisaltaa .mob-text { display: none; }

.flex-grid-2 .vital-sisaltaa .text-1 {
	position: absolute;
    left: 8.5%;
    top: 21.5%;
    color: #c8c3aa;
}

.flex-grid-2 .vital-sisaltaa .text-1 br {
	display: none;
}

.flex-grid-2 .vital-sisaltaa .text-2 {
	top: 41.3%; left: 5%;
	letter-spacing: -0.6px;

	-webkit-transform: rotate(10deg);
		-ms-transform: rotate(10deg);
			transform: rotate(10deg);
}

.flex-grid-2 .vital-sisaltaa .text-3 {
	top: 56.5%; left: 58.5%;
	letter-spacing: -0.6px;

    -webkit-transform: rotate(-12deg);
    	-ms-transform: rotate(-12deg);
    		transform: rotate(-12deg);
}

.flex-grid-2 .vital-sisaltaa .balloon {
	top: 36%; left: 32%;

	-webkit-transform: rotate(-5deg);
		-ms-transform: rotate(-5deg);
			transform: rotate(-5deg);
}

.flex-grid-2 > a:nth-child(2):hover {
	color: white !important;
}

/* Vastuullisuus banneri */
#vastuu-banneri {
	display: block;
	position: relative;
	width: 100%;
	height: auto;
}

#vastuu-banneri * { pointer-events: none; }

#vastuu-banneri:after {
	content: "";
    width: 100%;
    display: block;
    padding-bottom: 18.334%;
    background: #02180c;
}

#vastuu-banneri .bg {
	opacity: 1;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #043819 url('../images/vastuullisuus-banneri-bg-desktop.jpg') no-repeat center;
	background-size: cover;

	-webkit-transition: opacity 0.3s linear;
		-ms-transition: opacity 0.3s linear;
			transition: opacity 0.3s linear;
}

a#vastuu-banneri:hover .bg {
	opacity: 0.4;
}

#vastuu-banneri img.icon {
	position: absolute;
	top: 50%; left: 6.5%;
	width: 9.5%; height: auto;

	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
    		transform: translateY(-50%);
}

#vastuu-banneri .icons {
	position: absolute;
	top: 50%; right: 1%;
	width: 27%; height: auto;
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;

    -webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
    		transform: translateY(-50%);
}

#vastuu-banneri .icons > div {
    position: relative;
    box-sizing: border-box;
}

#vastuu-banneri .icons > div:nth-of-type(1) { width: 60%; }
#vastuu-banneri .icons > div:nth-of-type(2) { width: 24%; }

#vastuu-banneri .icons > div > img {
	width: 100%;
	height: auto;
}

#vastuu-banneri .text {
	position: absolute;
	top: 50%; left: 28%;
    text-align: center;

    -webkit-transform: rotate(-6deg) translateY(-50%);
    	-ms-transform: rotate(-6deg) translateY(-50%);
    		transform: rotate(-6deg) translateY(-50%);
}

#vastuu-banneri .text span {
	display: block;
	font-family: "Indie Flower", cursive;
	font-weight: 400;
	font-style: normal;
    font-size: 26px;
    line-height: 1;
    color: white;
    letter-spacing: 0;
}

.vital-info-banner {
	display: block;
	position: relative;
	width: 100%;
	margin: 1.5rem auto;
	padding: 0 0 0.5em;
	cursor: pointer;
	font-size: 17px;

	-webkit-transition: background-color 0.5s ease;
		-ms-transition: background-color 0.5s ease;
			transition: background-color 0.5s ease;
}

.vital-info-banner:hover {
	background-color: #f1efe8;
}

.vital-info-banner .flex {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-around;
}

.vital-info-banner .flex > * {
	position: relative;
	box-sizing: border-box;
	flex-shrink: 0;
}

.vital-info-banner figure figcaption {
	color: #133658;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 0.9em;
    letter-spacing: -0.01rem;
    line-height: 1;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
}

.vital-info-banner figure img {
	display: block;
	width: 100%;
	max-width: 112px;
	margin: 0 auto;
}

.vital-info-banner .iconButton {
	display: none;
	align-self: center;
	flex-grow: 1;
	margin: 0 auto 0;
	pointer-events: none;
}
 
.vital-info-banner .iconButton .bar {
	width: 90%;
	color: white;
	font-size: 1.2em;
	padding: 0.2em 0;
	border-radius: 1.2em;
	height: 2em;
    line-height: 2em;
    text-align: center;
    margin: 0 auto;
    white-space: nowrap;
}

.vital-info-banner:hover .iconButton .bar {
    background: #648b1f;
}



.oneliner {
	margin: 30px 0 50px;
	color: #545454;
	font-size: 23px;
	line-height: 30px;
	font-weight: bold;
	padding: 20px 10px 20px 80px;
	background: #fff url('../images/rypaleet.jpg') no-repeat left center;
}

.oneliner a { color: #545454; }
.oneliner a:hover { color: #838383 !important; }

@media all and (max-width: 1249px){

	#vastuu-banneri .text span {
		font-size: 1.8vw;
	}

	.flex-grid {
		font-size: 1.75vw;
		--grid-margin: 1em;
	}

}


@media all and (max-width: 1099px){

	.oneliner {
		font-size: 20px;
		line-height: 25px;
	}
	
}

@media all and (max-width: 799px){

	.flex-grid {
		margin-top: 10px;
	}

	.vital-info-banner .flex {
		flex-wrap: wrap;
	}

	.oneliner {
		font-size: 18px;
		line-height: 22px;
	}

	.sideImage {
		margin-top: 1em;
		width: 50%;
	}
	
}

@media all and (max-width: 599px) {

	.fullSizeHeader img.desktop,
	.fullSizeHeader .floating-images.desktop { display: none; }
	.fullSizeHeader img.mobile,
	.fullSizeHeader .floating-images.mobile { display: block; }

	.fullSizeHeader .floating-images img {
		width: 100%;
		height: auto;
		position: absolute;
		max-width: 600px;

	    -webkit-backface-visibility: hidden;
	}

	.fullSizeHeader .floating-images img:nth-child(1),
	.fullSizeHeader .floating-images img:nth-child(2),
	.fullSizeHeader .floating-images img:nth-child(3) { 
		left: 0; top: 0; right: auto;
	}

	.sideImage {
		width: 83%;
		margin: 0 auto -1em;
	}

	.flex-grid { font-size: 5.5vw; }
	
	.flex-grid-1 { margin-bottom: 0; }

	.flex-grid-1 > *:nth-child(1) { width: 100%; }


	.flex-grid-1 > *:nth-child(1) { order: 2; }
	.flex-grid-1 > *:nth-child(2) { order: 1; }

	.flex-grid-1 > .grid-col-1 { flex-direction: row; width: 100%; flex-wrap: wrap; }
	.flex-grid-1 > .grid-col-1 > * { height: auto; }
	.flex-grid-1 > .grid-col-1 > *:after { 
		pointer-events: none;
		content: '';
		display: block;
		position: relative;
		width: 100%;
		padding-bottom: 86.25%; 
	}

	.flex-grid-1 > .grid-col-1 > *:nth-child(2) { display: none; }



	.flex-grid-2 { margin-top: 0; }
	.flex-grid-2 > *:nth-child(1),
	.flex-grid-2 > *:nth-child(2) { width: 100%; }
	.flex-grid-2 > *:nth-child(2) { margin-left: 0; background-image: url('../images/flex-grid-05-mob.jpg'); }
	.flex-grid-2 > *:nth-child(2):after { padding-bottom: 123.3%; }
	
	.flex-grid-2 .vital-sisaltaa .desktop { display: none; }

	.flex-grid-2 .vital-sisaltaa .text-1 {
	    font-size: 6.2vw;
	    top: 12.5%;
	    left: 50%;

	    -webkit-transform: translateX(-50%);
	    	-ms-transform: translateX(-50%);
	    		transform: translateX(-50%);
	}
	.flex-grid-2 .vital-sisaltaa .text-1 br { display: block; }

	.flex-grid-2 .vital-sisaltaa .mob-text { 
		display: block;
		position: absolute;
		top: 0; left: 0;
    	top: 30%;
	}

	.flex-grid-2 .vital-sisaltaa .mob-text ul {
		position: relative;
		left: 3%;
		width: 77%;
		margin: 0 auto;
		font-size: 1em;
		text-align: left;
	}

	.flex-grid-2 .vital-sisaltaa .mob-text ul li {
		position: relative;
		line-height: 1.2;
		list-style: none;
		margin-bottom: 1em;
	}

	.flex-grid-2 .vital-sisaltaa .mob-text ul li:before {
		content:"·";
		position: absolute;
	    top: 0.35em; left: -0.5em; 
	    font-size: 1.6em;
	    vertical-align: middle;
	    line-height: 0;
	}

	#vastuu-banneri:after { padding-bottom: 130%; }
	#vastuu-banneri .bg { background: #043819 url('../images/vastuullisuus-banneri-bg-mobile.jpg') no-repeat center; }

	#vastuu-banneri .text { width: 100%; transform: none; top: 0; left: 0; padding: 17% 8%; box-sizing: border-box; }
	#vastuu-banneri .text br { display: none; }
	#vastuu-banneri .text span { font-size: 6.2vw; }

	#vastuu-banneri img.icon { 
		width: 27%;
		top: 64%; left: 50%;

		-webkit-transform: translateX(-50%);
			-ms-transform: translateX(-50%);
				transform: translateX(-50%);
	}

	#vastuu-banneri .icons { width: 100%; top: 46%; right: 0; justify-content: space-evenly; }
	#vastuu-banneri .icons > div { width: 30%; }
	#vastuu-banneri .icons > div:nth-of-type(1) { width: 50%; }     
	#vastuu-banneri .icons > div:nth-of-type(2) { width: 19%; margin-left: -2.5%; } 

	.vital-info-banner .flex > * { width: 33.3333333%; }

	.vital-info-banner .iconButton  {
		display: flex;
		justify-content: center;
	}

	.oneliner {
		font-size: 16px;
		line-height: 20px;
	}
	
}

@media all and (max-width: 499px){

	.vital-info-banner .flex > * { width: 50%; }

	.vital-info-banner figure figcaption {
		font-size: 1.1em;
	}

}

@media all and (max-width: 399px){

	.oneliner {
		font-size: 14px;
		line-height: 18px;
	}

}