
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* --- Common Styles ---*/

h1 {
  font-size: 16px;
}

/*----- Helper Classes -----*/

html * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

::-webkit-scrollbar {
	display: none;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Rubik', sans-serif;
}
/*-------------------------MM-----------------------*/
.pun {
	color: #c8124a;
	/*font-weight: bold;*/
}

.fa-star {
    color: #FFDF00;
	/*padding: 6px;*/
}

.osoite {
	font-family: 'Rubik', sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #404040;
	letter-spacing: 0;
	
}
.fa-phone {
	color: #404040;
}
.fa-map-marker {
	color: #404040;
}
.fa-envelope {
	color: #404040;
}
.starman i {
	color: #FFDF00;
}
.starman li { 
    display: inline;  	
	list-style-type:none;	
}
.yel {
	background-color: #ff0;
}
/*mirror */
.flip {
	-moz-transform:    scaleX(-1); /* Gecko */
	-o-transform:      scaleX(-1); /* Opera */
	-webkit-transform: scaleX(-1); /* Webkit */
	transform:         scaleX(-1); /* Standard */ 
	filter: FlipH;          /* IE6/7/8 */
}
/*-------*/
#logoanimation {
    animation: logoanimation 4.72s ease infinite;
	}

@keyframes logoanimation {
	0% { transform:translate(0,0) }
    1.78571% { transform:translate(5px,0) }
    3.57143% { transform:translate(0,0) }
    5.35714% { transform:translate(5px,0) }
    7.14286% { transform:translate(0,0) }
    8.92857% { transform:translate(5px,0) }
    10.71429% { transform:translate(0,0) }
    100% { transform:translate(0,0) }
}

/* SHAKE */
.shake  {
    /**/
	position: absolute;
}
.shake .middle {
    width: 4em;
    height: 4em;
    animation: zoom-middle 2s infinite;
}
@keyframes zoom-middle {
  0%,40%,80%,100% { transform: translate(4.5em,3em) }
  42%,46%,50%,54%,58%,62%,66%,70%,74%,78% { transform: translate(4.4em,3em) }
  44%,48%,52%,56%,60%,64%,68%,72%,76% { transform: translate(4.6em,3em) }
}

.tm-gallery-container {
	padding-left: 0px;
	overflow: auto;
	margin-left: 1px;
	margin-right: -10px;
	}
.tm-img-container {	float: left; }
.tm-img-container-1,
.tm-img-container-2,
.tm-img-container-3 { 
	margin-bottom: 10px;
	width: 15%; 
}
.tm-img-tn {	
	padding-left: 0px;
	padding-right: 5px;
	display: block;
	margin: 0 auto;
}

.label {
	font-family: 'Rubik', sans-serif;
	font-size: 13px;
	font-weight: 200;
	border-radius: 14%;
	color: white;
	padding-top: 1px;
	padding-bottom: 1px;
	padding-left: 5px;
	padding-right: 5px;
}

.etiketti_1 {background-color: #04AA6D;} /* Green */
.etiketti_2 {background-color: #2196F3;} /* Blue */
.etiketti_3 {background-color: #ff9800;} /* Orange */
.etiketti_4 {background-color: #f44336;} /* Red */
.etiketti_5 {background-color: #e7e7e7; color: black;} /* Gray */


/* Solid border */
hr.solid {
  border-top: 1px solid #bbb;
}
/* Dotted border */
hr.dotted {
  border-top: 1px dotted #bbb;
}

.typewriter {
  overflow: hidden;
  border-right: .2em solid;
  white-space: nowrap;
  animation:
    typeEffect 5s steps(50),
    cursorBlink .5s step-end infinite;
}

@keyframes typeEffect{
  from { width: 0 }
  to { width: 60% }
}

@keyframes cursorBlink{
  from, to { border-color: transparent }
  50% { border-color: #F8EC31; }
}


/* -------------------------------------------------*/
.main {
	width: 100%;
	height: 100%;
	transition: 0.5s;
}
/* --------------------------------------------------*/

.nav-trigger {
	padding: 8px;
	position: fixed;
	top: 20px;
	right: 20px;
	border-radius: 50px;
	background-color: #F2F2F1;
	z-index: 111;
	transition: all 400ms ease-in;
}

.is-active.nav-trigger {
	background: #c8124a;
}

.hamburger {
	position: relative;
	width: 25px;
	height: 25px;
	transition: transform 500ms ease-in-out;
}

.nav-trigger:active .hamburger {
	transition: transform 50ms;
	transform: scale(.95);
}

.hamburger::before, .hamburger::after, .hamburger .icon {
	content: '';
	position: absolute;
	width: 22px;
	height: 2px;
	left: 2px;
	background: #111111;
	transform-origin: 100% 50%;
	transition: all 100ms ease-in-out;
}

.hamburger::before {
	top: 5px;
}
.hamburger .icon {
	width: 21px;
	top: 11px;
	transform-origin: 50% 50%;
}
.hamburger::after {
	top: 17px;
}

.is-active .hamburger::before,
.is-active .hamburger::after,
.is-active .hamburger .icon {
	background: #F8EC31;
}

.is-active .hamburger::before {
	transform: translate3d(-4px, -1px, 0) rotateZ(-45deg);
}
.is-active .hamburger .icon {
	transform: rotateY(-90deg);
	transition: transform 100ms, background-color 400ms ease-in-out;
}
.is-active .hamburger::after {
	transform: translate3d(-4px, 2px, 0) rotateZ(45deg);
}
/*-------------------------------------------------------*/

#mk-about {
	position: fixed;
	height: 100%;
	right: 0;
	top: 0;
	visibility: hidden;
	z-index: 110;
	width: 95%;
	background-color: #F2F2F2;
	overflow-y: auto;
	-webkit-transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	-webkit-transform: translateX(100%);
	-moz-transform: translateX(100%);
	-o-transform: translateX(100%);
	transform: translateX(100%);
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
    transition: all 0.5s;
}

.mk-personal #mk-about {
	background: #F2F2F2;
}

#mk-about .about-intro {
	padding: 150px 20px 50px 20px;
	overflow: hidden;
}

.cs-about .about-intro {
	padding: 100px 20px 50px 20px !important;
	overflow: hidden;
}

#mk-about .about-intro h4 {
	font-family: 'Rubik', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #404040;
	letter-spacing: 2px;
	text-transform: uppercase;
	line-height: 1.2;
	margin: 0 0 10px 0;
}

#mk-about .about-intro h1 {
	font-family: 'Spectral', serif;
	font-size: 36px;
	font-weight: 600;
	color: #404040;
	letter-spacing: -1px;
	line-height: 1.2;
	margin: 0 0 25px 0;
}

#mk-about .about-intro h3 {
	font-family: 'Rubik', sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #404040;
	letter-spacing: 2px;
	line-height: 1.2;
	margin: 0 0 10px 0;
}

#mk-about .about-intro p {
	font-family: 'Rubik', sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #404040;
	letter-spacing: 0;
	line-height: 1.5;
	margin: 0 0 30px 0;
}

/*------*/
#mk-about .ar-footer {
	padding: 20px 0 0 0;
}

#mk-about .nav-social ul {
	list-style-type: none;
	text-align: left;
	padding: 0 0 0 0;
}

#mk-about .nav-social li {
	display: inline !important;
	padding-left: 0 !important;
	padding-right: 0.5em;
}

#mk-about .nav-social li a i {
	display: inline-block;
	position: relative;
	width: 35px;
	height: 35px;
	padding-right: 0px;
	text-decoration: none;
	text-align: center;
	color: #FFFFFF;
	background: #072DEF;
	font-size: 16px;
	font-weight: normal;
	line-height: 2.15em;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	border-radius: 50%;
}

#mk-about .nav-social li a i:hover {
	text-decoration: none;
	background: #6666ff;
}

#mk-about .nav-social a:before {
	display: none;
}

#mk-about .ar-footer p {
	font-family: 'Rubik', sans-serif;
	color: #404040;
	font-size: 14px;
	letter-spacing: 0;
	font-weight: 500;
}

#mk-about .ar-footer a {
	font-family: 'Rubik', sans-serif;
	color: #354DA7;
	font-size: 14px;
	letter-spacing: 0;
	font-weight: 500;
}

/* ----- Dimming Main Content When Navigation is Active -----*/

.main::before {
    display: block;
    content: "";
    width: 100%;
    height: 0;
    position: fixed;
    left: 0;
    top: 0;
    background: rgba(255, 235, 0, 0.221);
    opacity: 0;
    z-index: 100;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: opacity 0.5s ease, height 1ms 0.5s ease;
    -moz-transition: opacity 0.5s ease, height 1ms 0.5s ease;
    -o-transition: opacity 0.5s ease, height 1ms 0.5s ease;
    transition: opacity 0.5s ease, height 1ms 0.5s ease;
}

.main.is-active.main::before{
    -webkit-transition: opacity 0.5s ease;
    -moz-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    height: 100%;
    opacity: 1;
}

#mk-about.is-active {
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
	visibility: visible;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;
}

#mk-about.is-active li:nth-child(2) {
	transition-delay: 0.1s;
}

#mk-about.is-active li:nth-child(3) {
	transition-delay: 0.2s;
}

#mk-about.is-active li:nth-child(4) {
	transition-delay: 0.3s;
}

#mk-about.is-active li:nth-child(5) {
	transition-delay: 0.4s;
}

#mk-about .copyright-text {
	font-family: Work Sans;
	font-size: 12px;
	font-weight: 200;
	text-align: center;
	letter-spacing: 1px;
	padding: 20px 20px;
}

.nav-social ul {
	padding: 0.5em;
	list-style-type: none;
	text-align: center;
}

.nav-social li {
	display: inline !important;
	padding-left: 1em !important;
}

.nav-social i, .nav-social a {
	font-size: 21px;
	color: #072DEF;
}

.nav-social a:before {
	display: none;
}

@media only screen and (min-width: 768px) {

#mk-about {
	width: 50%;
	}

#mk-about .navigation {
    margin-top: 150px;
	}

.domain-bg .text-block h1 {
	font-size: 54px;
	}

.domain-bg .text-block h1 span {
	font-size: 54px;
	color: #F90606;
	}
	
.nav-social ul {
    padding: 0.4em;
	}
}

.left-section {
	background-color: #FFFFFF;
	position: absolute;
    left: 0;
	right: 0;
	top: 0;
	bottom: 0;
    width: 50%;
	height: 100%;
	overflow: hidden;
    z-index: 1;
}

.personal {
	margin-top: 30px;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; 
	background-size: contain; /* Estää kuvan venymisen */
    height: 500px; /* Muokkaa tarpeen mukaan */  
}

.no-background {
	background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
	background-size: cover;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 50%;
	height: 100%;
	overflow: hidden;
	z-index: 1;
}
.main-logo {
	padding: 60px 0 0 0;
	text-align: center;
	
}
/*

*/
.right-section {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
	padding: 0 50px 0 50px;
	width: 50%;
	height: 100%;
    background: #FFFFFF;
    z-index: 99;
    overflow: hidden;
    overflow-y: auto;
}

.intro {
	padding-top: 80px;
	text-align: center;
}

.intro .intro-text h4 {
	font-family: 'Rubik', sans-serif;
	font-size: 16px;
	color: #404040;
	letter-spacing: 2px;
	text-transform: uppercase;
	line-height: 1.2;
	margin: 0 0 10px 0;
}

.intro .intro-text h1 {
	font-family: 'Spectral', serif;
	font-size: 44px;
	color: #404040;
	letter-spacing: -2px;
	line-height: 1.2;
	margin: 0 0 15px 0;
}

.intro .intro-text p {
	font-family: 'Rubik', sans-serif;
	font-size: 16px;
	color: #404040;
	letter-spacing: 0px;
	line-height: 1.5;
	margin: 0 0 20px 0;
}

.intro .intro-text h3 {
	font-family: 'Rubik', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #404040;
	text-transform: uppercase;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 50px 0 30px 0;
	
}

.intro .intro-text a {
	display: inline-block;
	margin-right: 15px;
}

.personal-main .right-section {
		padding: 0 0 0 0;
}

/* -----  ----- */

.footer {
	margin-top: 50px;
	margin-bottom: 20px;
	position: relative;
}

.footer-credits {
	font-family: 'Rubik', sans-serif;
	font-size: 12px;
	margin-top: 20px;
	color: #404040;
}

/* All ------------- Media ------------------- Queries ------------*/

@media only screen and (min-width: 767px) {
	.logo {
		position: absolute;
		top: 20px;
		left: 20px;
	}

	#mk-about .about-intro {
		padding: 70px 50px 50px 50px;
		overflow: hidden;
	}

	.cs-about .about-intro {
		padding: 100px 50px 0 50px !important;
		background: #FFF;
		overflow: hidden;
	}

	.split-about-details {
		padding: 40px 40px 0 80px;
	}

	.footer-social {
		position: absolute;
		bottom: 15px;
		right: 15px;
	}
	.tm-gallery-container {
		padding-left: 0px;
		overflow: auto;
		margin-left: 1px;
		margin-right: -10px;
	}
/*--------------XXXXX-------------------*/
	.tm-img-container {	float: left; }
	.tm-img-container-1,
	.tm-img-container-2,
	.tm-img-container-3 { 
		margin-bottom: 10px;
/*------------Thumbnails--------------------*/
		width: 16%; 
	}
	.tm-img-tn {	
		padding-left: 0px;
		padding-right: 5px;
		display: block;
		margin: 0 auto;
	}
}

@media only screen and (max-width : 801px) {

	.right-section{
		position: relative;
		width: 100%;
	}

	.main-logo_old {
		padding: 100px 0 0 0;
		text-align: center;
	}

	.main-logo {
		/*padding: 100px 0 0 0;*/
		text-align: center;
	}
	
	.app-main .main-logo {
		padding: 50px 0 0 0;
		text-align: left;
	}

	.intro {
		padding-top: 50px;
		text-align: center;
	}

	.app-main .intro {
		padding-top: 50px;
		text-align: left;
	}

	.left-section{
		position: relative;
		width: 100%;
		min-height: 100vh;
	}

	.product-bg {
		position: relative;
		width: 100%;
		min-height: 100%;
	}
.intro-text {
    margin-top: 0px; /* Pienennä tätä arvoa tarpeen mukaan */
    padding-top: 0px; /* Vähennä, jos tarvitaan */
}

	.intro .intro-text h1 {
		font-size: 42px;
		line-height: 1.1;
	}

	.intro .intro-text p {
		font-size: 16px;
	}

	.footer-personal {
		margin-top: 50px;
		margin-bottom: 20px;
	}

	.footer-personal a {
		font-size: 14px;
		padding: 10px;
	}
		
	.tm-gallery-container {
		padding-left: 0px;
		overflow: auto;
		margin-left: 1px;
		margin-right: -10px;
	}
	
	.tm-img-container {	float: left; }
	.tm-img-container-1,
	.tm-img-container-2,
	.tm-img-container-3 { 
		margin-bottom: 10px;
		width: 15%; 
	}
	.tm-img-tn {	
		padding-left: 0px;
		padding-right: 5px;
		display: block;
		margin: 0 auto;
	}
}

@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {

   .right-section{
		-webkit-overflow-scrolling: touch;
	}
}

@media only screen and (min-device-width : 320px) and (max-device-width : 736px) {

   .split-home .right-section,  .split-home .left-section{
		-webkit-overflow-scrolling: touch;
	}
}

@media only screen and (min-device-width : 320px) and (max-device-width : 736px) and (orientation: landscape) {
   .right-section{
		-webkit-overflow-scrolling: touch;
	}
}

@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
    .left-section {
		min-height: 100vh;
    }
}

@media only screen and (min-device-width : 768px) and (max-device-width : 1280px) and (orientation : landscape) {

	.product-bg img {
		margin-top: 100px;
	}
	
	.tm-gallery-container {
		padding-left: 0px;
		overflow: auto;
		margin-left: 1px;
		margin-right: -10px;
	}
	.tm-img-container {	float: left; }
	.tm-img-container-1,
	.tm-img-container-2,
	.tm-img-container-3 { 
		margin-bottom: 10px;
		width: 15%; 
}
.tm-img-tn {	
	padding-left: 0px;
	padding-right: 5px;
	display: block;
	margin: 0 auto;
}
} 

@media only screen and (max-width: 420px) {

	.right-section {
		padding: 0 20px 0 20px;
	}

	.intro {
		padding-top: 50px;
	}

	.intro .intro-text h1 {
		font-size: 34px;
		line-height: 1.1;
	}

	.footer ul {
		display: inline-block;
		list-style-type: none;
		float: none !important;
	}

}

