	/***
 *      __  __
 *     |  \/  |     ( )
 *     | \  / | __ _ _ _ __
 *     | |\/| |/ _` | | '_ \
 *     | |  | | (_| | | | | |
 *     |_|  |_|\__,_|_|_| |_|
 *
 *
 */

html {
	margin: 0;
	padding: 0;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

body {
	width: 100%;
	height: 100%; 
}

html, body {
	max-width: 100%;
	overflow-x: hidden;
	-webkit-tap-highlight-color: transparent;
}

html.scrollable,
html.scrollable body {
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

img {
	max-width: 100%;
	display: inline-block;

	&.round {
		border-radius: 999px;
	}

	&.rounded {
		border-radius: $rounded-border-radius;
	}
}

.slides {
	color: #fff;
	fill: #fff;
	hyphens: none;
	background: #111;

	-webkit-font-smoothing: antialiased;
}

.slides.bodyWhite {
	background: #fff;
}

.slides.desktopSwipe {
  cursor: -webkit-grab;
}

.slides.desktopSwipe:active {
  cursor: -webkit-grabbing;
}

.slides.desktopSwipe .slide .container .wrap {
	cursor: inherit;
}

/* buttons */
.button {
	display: inline-block;
	border-radius: $default-border-radius;
	padding: 14px 22px;
	color: #fff;
	border: none;
	outline: none;
	text-decoration: none;
	background: $default-button-color;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 500;
	text-align: center;
	vertical-align: top;
	cursor: pointer;
	overflow: hidden;
	backface-visibility: hidden;
	letter-spacing: normal!important;
	position: relative;
	white-space: nowrap;
	transform: translate3d(0, 0, 0);
	//box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
	box-shadow: $small-shadow;
	-webkit-appearance: none;
	margin-bottom: 10px;
	transition: 0.3s;
	user-select: none !important;

	@include media($phablet, max) {
		max-width: 100%;
		white-space: normal;
	}

	.slide &,
	.popup & {
		margin-left: 5px;
		margin-right: 5px;

		&.small {
			margin-left: 4px;
			margin-right: 4px;
		}
	}

	&.wide {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.material-icons {
		position: relative;
		vertical-align: middle;
	  margin-right: 8px;
	  font-size: 20px;
	  top: -2px;
		user-select: none !important;

		&.small {
			font-size: 17px;
			bottom: 1px;
		}

		&.right {
			margin-left: 8px;
			margin-right: 0px;
		}
	}

	svg {
		width: 20px;
		height: 20px;
		margin-top: -3px;
		vertical-align: middle;
		margin-right: 10px;
		pointer-events: none !important;
		position: relative;

		* {
			pointer-events: none !important;
		}

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

	&.actionButton {
		display: inline-block;
		height: 42px;
		width: 42px;
		padding: 12px;
		border-radius: 25px;
		z-index: 999;
		background: rgba(black,.3);
		line-height: 1;
		box-shadow: 0 0 0 1px rgba(255,255,255,0.05);
		cursor: pointer;
		-ms-touch-action: manipulation;
		touch-action: manipulation;
		vertical-align: top;

		svg {
			width: 18px;
			height: 18px;
			fill: #fff !important;
  		top: 2px;
  		vertical-align: bottom;
		}

		.material-icons {
			margin: 0;
			position: relative;
			left: -3px;
			top: -3px;
			font-size: 24px;
		}

		&.big {
			width: 50px;
			height: 50px;
			padding: 16px;

			.material-icons {
				font-size: 24px;
			}

			svg {
				width: 22px;
				height: 22px;
				left: -2px;
				top: 0px;
			}
		}

		&.stroke {
			box-shadow:none;
			padding: 10px;
		}

		&:hover:not(:active) {
			transform: translateY(0) !important;
		}

		&.rounded {
			border-radius: $rounded-border-radius;
		}

		svg,
		.slide.whiteSlide & svg {
			fill: #fff;
		}

		&.sound {
			[class*="sound-"] {
			  position: absolute;
			  opacity: 0;
			  transition: 0.5s;
			  left: 13px;
			  top: 16px;
			}

			&.stroke [class*="sound-"] {
			  left: 11px;
			  top: 14px;
			}
		}

		&.sound.playing .sound-on,
		&.sound:not(.playing) .sound-off {
		  opacity: 1;
		}

		&.transparent {
			background-color: transparent;
		}
	}

	&:hover {
		box-shadow: $medium-shadow;
		opacity: 1;
		transform: translateY(0px) !important;
		transition: 0.35s !important;

		&:after {
			opacity: .5;
		}
	}

	&:active {
		box-shadow: 0 3px 6px 0 rgba(0,0,0,.1), 0 0px 10px 0 rgba(0,0,0,.1), 0 1px 4px -1px rgba(0,0,0,.1);
		transform: translateY(2px) !important;
		transition: 0.35s !important;

		&:after {
			opacity: 1;
		}
	}

	&.uppercase {
		font-size: 15px;
		padding-top: 15px;
		padding-bottom: 15px;
	}

	&.lowercase {
		text-transform: lowercase;
		letter-spacing: 0em;
		font-weight: 300;
	}

	&.round {
		border-radius: 99px;
	  padding-left: 28px;
	  padding-right: 28px;
	}

	&.rounded {
		 border-radius: $rounded-border-radius;
	}

	&.rectangular {
		border-radius: 1px;
	}

	&.square {
		border-radius: 0px;
	}

	&.thin-stroke {
		color: $default-dark-color;
		font-weight: 300;
		border: 1px solid;
		background-color: transparent !important;
		padding: 13px 21px 13px;

		.slide.whiteSlide & {
			color: $default-dark-color;
		}

		&.small {
			padding: 9px 15px;
		}
	}

	&.stroke {
		color: $default-dark-color;
		border: 2px solid;
		background-color: transparent !important;
		padding: 12px 20px;

		.slide.whiteSlide & {
			color: $default-dark-color;
		}

		&.round {
		  padding-left: 26px;
		  padding-right: 26px;
		}

		&.uppercase {
			padding-top: 13px;
			padding-bottom: 13px;

			svg {
				margin-bottom: -2px;
			}

			&.small {
				padding: 11px 15px;
			}
		}

		&.small {
			border: 1px solid;
			padding-top: 9px;
			padding-bottom: 9px;
		}

		@include media($phablet, min) {
			&.big {
				padding: 14px 28px;

				&.uppercase {
					padding-top: 16px;
					padding-bottom: 16px;
				}
			}
		}

		&:not(.flat):hover {
			box-shadow: inset 0 -100px 0 rgba(41,41,41,0.05), 0 4px 6px 0 rgba(0,0,0,.1),0 1px 10px 0 rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.1);
		}
	}

	&.flat:not(:hover) {
		box-shadow: none;
	}

	&:not(.stroke) svg {
		fill: #fff;
	}

	&.small {
		font-size: 15px;
		font-weight: 500;
		padding: 10px 16px 10px;

		.material-icons {
			vertical-align: bottom;
			position: relative;
			font-size: 18px;
			margin-right: 8px;
			bottom: 1px;

			&.right {
				margin-left: 8px;
				margin-right: 0px;
			}
		}

		svg {
			width: 16px;
			height: 16px;
			margin-right: 10px;
			top: 0px;

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

		&.round {
			padding-left: 18px;
			padding-right: 18px;
		}

		&.rounded {
			//border-radius: $small-rounded-border-radius;
			border-radius: $rounded-border-radius;
		}

		&.uppercase {
			font-size: 12px;
			padding: 12px 16px;
			letter-spacing: 0.125em;

			&.round {
				padding-left: 19px;
				padding-right: 19px;
			}
		}
	}

	//.big
	@include media($phablet, min) {
		&.big {
			font-size: 20px;
			padding: 16px 26px;

			&.round {
				padding-left: 28px;
				padding-right: 28px;
			}

			&.rounded {
				border-radius: 7px;
			}

			&.uppercase {
				font-size: 16px;
				padding: 19px 28px;

				&.round {
					padding-left: 32px;
					padding-right: 32px;
				}
			}

			.material-icons {
				margin-right: 10px;
				font-size: 24px;
				top: -2px;

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

			svg {
				width: 24px;
				height: 24px;
				margin-right: 11px;
				top: 0;

				&.right {
					margin-right: 0;
					margin-left: 11px;
				}
			}
		}
	}

	&.empty {
		padding: 0 !important;
		background-color: transparent !important;
		font-size: 0 !important;
		margin: 0;
		box-shadow: none;
	}

	&.hollow {
		padding: 0 !important;
		background-color: transparent !important;
		font-size: 0 !important;
		box-shadow: none !important;

		svg {
			margin: 0;
		}
	}

	&.shade {
		position: relative;

		&:after {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: #292929;
			opacity: 0;
			transition: 0.25s;
		}
		&:hover:after {
			 opacity: 0.15;
		}
		&:active:after {
			 opacity: 0.2;
		}
	}

	&.play {
		width: 90px;
		height: 90px;
		border-radius: 50%;
		padding: 27px;
		margin-left: 0px;
		margin-right: 0px;

		svg {
			fill: #fff;
			width: 35px;
			height: 36px;
			margin: 0;
		}

		&.small {
			width: 60px;
			height: 60px;
			border-radius: 50%;
			padding:  22px 19px;

			svg {
				fill: #fff;
				width:  23px;
				height:  23px;
				top: -3px;
			}
		}

		&:hover {
			transform: scale(1.05);
		}
	}

	&.gradient {
		position: relative;

		&:before {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#000));
			background: linear-gradient(to bottom, #fff 0%, #000 100%);
			z-index: -1;
			opacity: 0.1;
		}
	}
}

/* form group */
/* new */
.form-group {
	&-left {
		border-top-right-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
		margin-right: 0 !important;
	}
	&-center {
		border-radius: 0 !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
	&-right {
		border-top-left-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
		margin-left: 0 !important;
	}
}

.slide.whiteSlide .button.white:hover {
	box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1), 0 1px 10px 0 rgba(0, 0, 0, 0.1);

	&:after {
		opacity: .3;
	}
	//box-shadow: 0 0 0 1px rgba(41,41,41,0) inset, inset 0 -100px 0 rgba(41, 41, 41, 0.06), 0 4px 6px 0 rgba(0, 0, 0, 0.1),0 1px 10px 0 rgba(0, 0, 0, 0.06),0 2px 4px -1px rgba(0, 0, 0, 0.18);
}

.roundButton {
	border-radius: 50px;
	height: 50px;
	width: 50px;
	padding: 14px;
	margin: 5px;

	svg {
		 bottom: 2px;
	}
}

@include media(320px, max) {
	.button.uppercase,
	.uppercase {
		letter-spacing: 0.07em;
	}
}

//UPPERCASE
.button {
	&.uppercase {
	  letter-spacing: 0.125em !important;
	  text-indent: -0.1em !important;
	  font-weight: 700 !important;
	}
}

/* stuff */
.material-icons {
	font-family:  'Material Icons';
	font-weight:  normal;
	font-style:  normal;
	font-size:  24px;  /* Preferred icon size */
	display:  inline-block;
	line-height:  1;
	text-transform:  none;
	letter-spacing:  normal;
	word-wrap:  normal;
	white-space:  nowrap;
	direction:  ltr;

	-webkit-font-smoothing:  antialiased;
	text-rendering:  optimizeLegibility;
	-moz-osx-font-smoothing:  grayscale;
	font-feature-settings:  'liga';

	&.md-18 { font-size: 18px; }
	&.md-24 { font-size: 24px; }
	&.md-36 { font-size: 36px; }
	&.md-48 { font-size: 48px; }
}

svg {
	//transition: 0.15s;
}

.slide.whiteSlide svg:not(.noFill) {
	fill: $default-dark-color;
}

.svgContainer,
.embedContainer {
	position: relative;
	width: 100%;
	height: 0;
	padding: 0;
}

.svgContainer svg.scale,
.embedContainer .scale {
	position: absolute;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.dots { font-size: 0;}

.dot {
	padding: 7px;
	display: inline-block;

	&:after {
		content: "";
		display: inline-block;
		width: 6px;
		height: 6px;
		background: #fff;
		border-radius: 50%;
		opacity: 0.5;
		transition: 0.25s;
	}

	&.big .dot:after {
		width: 14px;
		height: 14px;
	}
}

.slide.whiteSlide .dot:after {
	 background: $default-dark-color;
}

.dot:hover:after {
	transform: scale(1.333333);
	opacity: 1;
}

.dot:active:after,
.dot.selected:after {
	opacity: 1;
	transform:scale(1.675);
}

.tabs {
	color: #fff;
	max-width: 260px;
	border-radius: 5px;

	li {
		padding: 16px 20px;
		letter-spacing: 2.5px;
		font-size: 12px;
		transition: 0.15s;
		margin-top: -1px;
		border: 1px solid rgba(255,255,255,0.3);


		&:not(:last-child) {
			border-bottom: 0;
		}

		&:first-child {
			border-radius: $rounded-border-radius $rounded-border-radius 0 0;
		}

		&:last-child {
			border-radius: 0 0 $rounded-border-radius $rounded-border-radius;
		}

		&.selected {
			background: #fff;
			color: $default-dark-color;
		}
	}
}

.slide.whiteSlide .tabs li {
	border-color: #e5e5e5;
	color: $default-dark-color;

	&.selected {
		background: $default-dark-color;
		border-color: $default-dark-color;
		color: #fff;
	}
}

.links li {
	font-size: 17px;
	letter-spacing: 0;
	padding: 4px 0;
}


/* forms */
.slides-form {
	font-family: inherit;

	button {
		font-family: inherit;
	}

	label, .label {
		display: block;
		font-size: 14px;
		margin-top: 12px;
		margin-bottom: 2px;

		&.uppercase {
			font-size: 14px;
		}
	}

	input[type="text"],
	input[type="name"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	input[type="number"],
	textarea,
	select {
		font-family: inherit;
		background-color:  #fff;
		position:  relative;
		background: #fff;
		padding: 16px;
		border: none;
		font-size: 16px;
		color: #242424;
		outline: none;
		border-radius: $default-border-radius;
		width: 100%;

		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;

		border: 1px solid rgba(0,0,0,0.1);
		transition: 0.15s;

		&.flat,
		&:focus {
			border-color: rgba(0,0,0,0.2);
		}

		&:hover {
			border-color: rgba(0,0,0,0.2);
		}

		&:focus {
			border-color: $blue;
			@include inputPlaceholder(#242424, 400, 0);
			z-index: 10;
		}

		&:not(textarea).round {
			border-radius:22px;
			padding-left: 22px;
			padding-right: 22px;
		}

		&.rounded {
			border-radius: $rounded-border-radius;
		}

		&:after {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: #fff;
		}

		@include media($phablet, min) {
			& {
				max-width: 300px;
			}
		}

		@include inputPlaceholder(#242424, 400, 0.5);
	}
	
	input[type="text"],
	input[type="name"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	input[type="number"],
	select {
		height:52px;
		//line-height:50px;
		padding: 0 16px; 
	}

	textarea {
		font-weight: 400;
		line-height: 1.5;
  	padding-top: 10px !important;
		max-height: 200px;
		max-width: 100%;
		min-height: 52px;

		&.d {
			border-radius: 15px !important;
		}

		&.round {
			border-radius: 22px !important;
		}
	}

	select {
		background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="37" height="7"><path fill="rgb(23,23,23)" d="M14.022 0l5.978 6 6-6z"/></svg>');
		background-repeat: no-repeat;
  	background-position: right;
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  appearance: none;
	}

	input[type="text"],
	input[type="name"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	input[type="number"],
	input[type="submit"],
	button[type="submit"],
	select,
	textarea {
		margin: 5px;

		@include media($phablet, min) {
			max-width:300px;
		}

		@include media($phablet + 1, max) {
			margin-left: auto !important;
			margin-right: auto !important;
			width: 100%;
			display: block !important;
		}
	}

	input[type="text"],
	input[type="name"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	input[type="submit"],
	input[type="number"],
	button[type="submit"],
	select,
	textarea,
	label {
		&.wide {
			max-width: 100%;
			width: 100%;
			margin-left: 0 !important;
			margin-right: 0 !important;
		}
	}


	@include media($phablet + 1, min) {

		input.pair {
			width: 50% !important;
			max-width: 50% !important;
			border-top-right-radius: 0px !important;
			border-bottom-right-radius: 0px !important;
			margin-left: 0;
			margin-right: 0;

			+ .pair {
				border-top-left-radius: 0px !important;
				border-bottom-left-radius: 0px !important;
				border-top-right-radius: $default-border-radius !important;
				border-bottom-right-radius: $default-border-radius !important;
				width: calc(50% + 1px) !important;
				max-width: calc(50% + 1px) !important;
				margin-left: -1px;
			}
		}
	}

	&.center input,
	&.center textarea {
		text-align: center;
	}
}



/***
 *       _____ _       _
 *      / ___/| ( )   | |
 *     | (___ | |_  __| | ________
 *      \___ \| | |/ _` |/ , / __/
 *      ____) | | | (_| |  __\__ \
 *     /_____/|_|_|\__,_|\___/___/
 *
 *
 */
.slide {
	position: fixed;
	width: 100%;
	height: 100%;
	background: $default-dark-color;
	color: #fff;
	z-index: 10;
	overflow: hidden;

	&.active {
		transform-style: preserve-3d;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.mobile & {
		visibility: hidden;
		&.active {
			visibility: visible;
		}
	}

	&.whiteSlide {
		color: $default-dark-color;
		background: #fff;
	}
}

.content {
	overflow: hidden;
	position: absolute;
	backface-visibility: hidden;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
	-webkit-overflow-scrolling: touch;

	&.scrollBar {
		overflow-y: auto;
	}

	.windows .defaultScroll & {
		overflow: auto;
		overflow-x: hidden;
	}

	.mobile & {
		overflow: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
	}
}

/* Background Fade */
.fade .content { background: rgba(0,0,0,0.6); } /*default*/
.fade-1 .content { background: rgba(0,0,0,0.1); }
.fade-2 .content { background: rgba(0,0,0,0.2); }
.fade-3 .content { background: rgba(0,0,0,0.3); }
.fade-4 .content { background: rgba(0,0,0,0.4); }
.fade-5 .content { background: rgba(0,0,0,0.5); }
.fade-6 .content { background: rgba(0,0,0,0.6); }
.fade-7 .content { background: rgba(0,0,0,0.7); }
.fade-8 .content { background: rgba(0,0,0,0.8); }
.fade-9 .content { background: rgba(0,0,0,0.9); }

.whiteSlide[class*="fade"] .content { background: rgba(255,255,255,0.85); }

.container {
	display: table;
	table-layout: fixed;
	position: relative;
	width: 100%;
	height: 100%;

	.wrap {
		display: table-cell;
		text-align: center;
		vertical-align: middle;
		overflow:  hidden;

		&:not(.noSpaces),
		&.spaceWrap,
		.spaceWrap {
			padding: 120px calc(8% + 15px);
		}

		.overflowHidden {
			overflow: hidden;
		}

		* {
			-webkit-user-select: text;
			-moz-user-select: text;
			-ms-user-select: text;
			user-select: text;
		}
	}
}

.slide .background,
.popup .background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: cover;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.slide .background iframe,
.popup .background iframe {
	border: 0;
	position: absolute;
	top: 0;
	left: 0;
}

.slide:not(.youtube) .background iframe,
.popup:not(.youtube) .background iframe {
	width: 100%;
	height: 100%;
}

// Generate fixed Classes
// .fix-1-12 { max-width: 80px !important; }
// .fix-2-12 { max-width: 180px !important; }
@for $i from 1 through 12 {
	$width: ($grid-column * $i) + ($grid-gap * ($i - 1));

	.fix-#{$i}-12 {
		max-width: round($width) !important;
	}
}

[class*='fix-'] {
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	float: none;
}

.toLeft {
	margin-left: 0 !important;
	margin-right: auto !important;
}

.toRight {
	margin-right: 0 !important;
	margin-left: auto !important;
	float: right;
}

.toCenter {
	margin-left: auto !important;
	margin-right: auto !important;
}

//.........
.popupTrigger,
.dropdownTrigger,
.sidebarTrigger {
	cursor: pointer;
}

.shiftImage {
	margin-top: -15%;
	margin-bottom: -100%;
}

.shiftImageVertical {
	margin-right: -100%;
	max-width: none;
}


.slide.video .background {
	overflow: hidden;
}

.slide.video .background video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -100;
	transform: translateX(-50%) translateY(-50%);
	background-size: cover;
}

.slide.video .background video::-webkit-media-controls {
	display: none !important;
}

.slide.video .background video::-webkit-media-controls-panel {
	display: none!important;
	-webkit-appearance: none;
}

.slide.video .background video::-webkit-media-controls-start-playback-button {
	display: none!important;
	-webkit-appearance: none;
}

html:not(.mobile) .slide.video .background[style] {
	 background: none !important;
}

.mobile .slide.video .background[style] video {
	 display: none;
}

.videoThumbnail {
	cursor: pointer;
	position: relative;
	font-size: 0;
	overflow: hidden;
	line-height: 0;
	transition: .5s;

	&.rounded {
		border-radius: 6px;
	}

	&:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		background: url('../assets/svg/video-icon.svg') no-repeat;
		background-position: center center;
		transition: 0.5s;
	}

	&:not(.noTint):hover:after {
		background-color: rgba(0,0,0,0.15);
	}

	&:hover {
		transform: scale(1.025);

		&:before {
			transform: scale(1.1);
			transition: 0.25s;
		}
	}

	&:active:before {
		opacity: 0.8;
	}

	&.small {
		max-width: 200px;
		display: block;
	}

	&.small:before {
		background-size: 44px;
	}
}

.shadow,
.button.empty.shadow:hover {
	box-shadow: $large-shadow;
}

.pad {
	border-radius: 6px;
	padding: 40px;
	color: $default-dark-color;
	background: #fff;
	overflow: hidden;
	box-shadow: $small-shadow;

	&.shadow {
		box-shadow: $large-shadow;

		&.stroke {
			background: transparent;
			transition: 0.15s;
			color: #fff;
		}

		&.stroke:hover {
			background: #fff;
			color: $default-dark-color;
			transition: 0.15s;
		}
	}

	&.shadowHover {
		transition: 0.5s;

		&:hover {
			 box-shadow: $large-shadow;
		}
	}

	small {
		font-size: 15px;
		line-height: 1.45;
		margin: 15px 0;
	}

	@include media($phablet, max) {

		&.collapse {
			background: inherit;
			color: inherit;
			border: none;
			padding: 0 !important;
			overflow: inherit;
			border-radius: 0;
			box-shadow: none;
			transition: 0s !important;
		}

		&.shadow {
			 box-shadow: none;
		}
	}
}

.resizing .equalElement {
	transition: 0s !important;
}

.hr {
	position: relative;
	height: 1px;
	width: 100%;
}

/* smaller than tablet landscape */
@include media($tablet, max){

	.shiftImage {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.shiftImageVertical {
		margin-right: 0 !important;
		max-width: 100% !important;
	}
}

/* desktop and bigger */
@include media($tablet, min){
	.hideForDesktop {
		display: none !important;
	}
}

/* tablet landscape and smaller */
@include media($tablet, min){
	.showForDesktop {
		display: block !important;
	}
}

/* tablet landscape and smaller */
@include media($tablet + 1, max){
	.hideForTablet {
		display: none !important;
	}
}

/* tablet landscape and smaller */
@include media($tablet + 1, max){
	.showForTablet {
		display: block !important;
	}
	.showForTabletInline {
		display: inline !important;
	}
}


@include media($phablet, max){
	.hideForPhablet {
		display: none !important;
	}
}

/* tablet portrait and smaller */
@include media($phablet + 1, max){
	.showForPhablet {
		 display: block !important;
	}
	.showForPhabletInline {
		 display: inline !important;
	}
}


/* phone portrait and smaller */
@include media($phone, max){
	.hideForPhone {
		 display: none !important;
	}
}
@include media($phone, max){
	.showForPhone {
		 display: block !important;
	}
	.showForPhoneInline {
		 display: inline !important;
	}
}

/* show and hide for Mobile */
html.mobile .hideForMobile {
	display: none !important;
}

html.mobile .showForMobile {
	display: block !important;
}

html.mobile .showForMobileInline {
	display: inline !important;
}

.helpBubble {

	cursor: pointer;

	&:after {
		content: "?";
		font-size: 14px;
		width: 17px;
		height: 17px;
		line-height: 1.2;
		background: $default-dark-color;
		opacity: 0.3;
		color: #fff;
		border-radius: 50%;
		display: inline-block;
		margin-left: 4px;
		font-weight: 700;
		transition: 0.25s;
	}

	.helpMessage {
		background: rgba(255, 255, 255, 0.98);
		color: $default-dark-color;
		font-size: 15px;
  	line-height: 1.4;
  	border-radius: 5px;
		position: absolute;
		z-index: 10;
		box-shadow: 0 1px 8px rgba(0,0,0,0.07), 0 6px 8px rgba(0,0,0,0.05);
		padding: 17px;
		text-align: left;
		bottom: 50%;
		margin-bottom: 10px;
		transform: translateY(10px) scale(0.95);
		transition: 0.25s;
		opacity: 0;
		pointer-events: none;
		color: rgba(48,48,48,0.7);

		strong {
			color: rgba(48,48,48,1);
		}
	}

	&:hover .helpMessage {
		pointer-events: all;
		transform: translateY(0) scale(1);
		opacity: 1;
	}

	&:hover:after {
		opacity: 1;
	}
}







/***
 *      _____                 _
 *     |  __ \               | |
 *     | |__) __ _ _ __   ___| |____
 *     |  ___/ _` | '_ \ / _ | / __/
 *     | |  | (_| | | | |  __| \__ \
 *     |_|   \__,_|_| |_|\___|_/___/
 *
 *
 */
.panel {
	position: fixed;
	left: 0;
	width: 100%;
	padding: 10px 30px;
	z-index: 200;
	text-align: center;
	font-size: 16px;
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	user-select: none;

	transform: translate3d(0,0,0);

	&.top { top: 0 }
	&.bottom { bottom: 0 }

	&.white {
		background: rgba(255,255,255,0.975) !important;
		box-shadow: 0 1px 1px rgba(0, 0, 0, 0.07);
	}

	&.black {
		background-color: rgba(0,0,0,0.8) !important;
		box-shadow: 0 1px 1px rgba(0, 0, 0, 0.07);
	}

	.animated &.top,
	.animateOnEvent &.top,
	.hidePanel-top &.top.hideOnScroll,
	.slides:not(.firstSlide) &.top.firstSlideOnly,
	.slides:not(.lastSlide) &.top.lastSlideOnly,
	.slides:not(.firstSlide):not(.lastSlide) &.top.firstAndLastSlidesOnly,
	.slides.lastSlide &.top.exceptLastSlide,
	.slides.firstSlide &.top.exceptFirstSlide {
		transform: translate3d(0,-100%,0);
		opacity: 0;
	}

	.animated &.bottom,
	.animateOnEvent &.bottom,
	.hidePanel-bottom &.bottom.hideOnScroll,
	.slides:not(.lastSlide) &.bottom.lastSlideOnly,
	.slides:not(.firstSlide) &.bottom.firstSlideOnly,
	.slides:not(.firstSlide):not(.lastSlide) &.bottom.firstAndLastSlidesOnly,
	.slides.lastSlide &.bottom.exceptLastSlide,
	.slides.firstSlide &.bottom.exceptFirstSlide {
		transform: translate3d(0,100%,0);
		opacity: 0;
	}

	// .animated &.bottom:not(.fixed),
	// .animateOnEvent &.bottom:not(.fixed) {
	// 	transform: translate3d(0,0,0) !important;
	// }

	.page-loaded .animated &,
	.page-loaded .animateOnEvent & {
		transition: transform 0.5s, opacity 0.5s, padding 0.5s;
		transform: translate3d(0,0,0);
		opacity: 1;
	}

	.slides.whiteSlide & { color: $default-dark-color }

	.scroll &.hideOnScroll,
	.mobile .simplifiedMobile &.hideOnScroll {
		position: fixed;

		&.top.hide {
			transform: translateY(-100%) !important;
			opacity: 0;
		}
		&.bottom.hide {
			transform: translateY(100%) !important;
			opacity: 0;
		}
	}

	.sections {
		display: table;
		width: 100%;
		font-size: 0;

		& > div {
			display: table-cell;
			vertical-align: middle;
			text-align: center;
			width: 33.33333%;
			white-space: nowrap;
			font-size: 16px;
			height: 50px;

			&.auto {
			 width: 0.1%;
			}

			* {
				pointer-events: all;
			}

			&.left {
				text-align: left;

				ul.crop {
					padding-left: 0;

					li:first-child {
						margin-left: 0;
					}
				}
				&.space {
					padding-right: 20px;
				}
			}

			&.right {
				text-align: right;

				ul.crop {
					padding-right: 0;

					li:last-child {
						margin-right: 0;
					}
				}
				&.space {
					 padding-left: 20px;
				}
			}

			&.center.space {
				padding: 0 20px;
			}
		}

		&.hidden { display: none; }

		.menu {
			white-space: nowrap;
			display: inline-block;
			padding: 0 12px;
			font-size: 0;

			svg {
				width: 20px;
				height: 20px;
				vertical-align: bottom;
			}

			li {
				font-size: 16px;
				font-weight: 400;
				display: inline-block;
				margin: 0 10px;

				a {
					padding: 0 7px;
					opacity: 0.8;

					&:hover {
						opacity: 1;
					}
				}
			}

			&.uppercase li {
				font-size: 12px;
				margin: 0 10px;
				letter-spacing: 0.125em;
				font-weight: 600 !important;

				svg {
					position: relative;
					top: 2px;
				}
			}

		}
	}

	.hidden,
	.hidden * {
		display: none;
	}

	svg {
		&:not(.noFill) {
			fill: #fff;
		}
  	vertical-align: text-bottom;
  	transition: .35s;
	}

	img {
		max-width: none;
	}

	.slides.whiteSlide & svg {
		fill: $default-dark-color;
	}

	.button {
		margin: 0;

		+ .button {
			margin-left: 10px;
		}
	}

	.button:not(.actionButton) {
		vertical-align: middle;

		&:hover:not(:active){
			transform: translateY(0) !important;
			box-shadow: 0 0 0 1px rgba(255,255,255,.05), 0 4px 6px 0 rgba(0,0,0,.1), 0 1px 10px 0 rgba(0,0,0,.1);
		}
	}

	.nextSlide,
	.prevSlide {
		width: 24px;
		height: 24px;

		svg {
			width: 18px;
			height: 18px;
		}
	}

	.slides.whiteSlide & .actionButton svg {
		fill: #fff;
	}

	.prevSlide,
	.nextSlide {
		transition: 0.25s;
	}

	.firstSlide & .prevSlide,
	.lastSlide & .nextSlide {
		opacity: 0;
		pointer-events: none;
		cursor: default;
	}

	.firstSlide &.bottom .nextSlide svg {
		 animation: animateArrow 4s infinite;
	}

	.panelIcon {
		position: relative;
		top: 5px;
	}
}

@keyframes animateArrow {
	80%, 100% { transform: translateY(0px); }
	90% { transform: translateY(10px); }
}

.nextSlide,
.prevSlide {
	cursor: pointer;

	&:hover {
		transition: 0.15s;
	}

	&:active {
		opacity: 0.75;
	}

	.firstSlide.lastSlide & {
		opacity: 0;
	}
}

/* Progress Bar */
.progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 4px;
  width: 0%;
  transition: width 1s, opacity 1s;
  z-index: 1000;
  opacity: 1;
	&.loaded {
	  width: 100%;
	  opacity: 0;
	  transition: width 0s, opacity 0.25s 1s;
	}
}







/***
 *       _____       _
 *      / ___/( )   | |
 *     | (___  _  __| | ___
 *      \___ \| |/ _` |/ _ \
 *      ____) | | (_| |  __/
 *     /_____/|_|\__,_|\___/
 *
 *
 */
.side {
	position: fixed;
	right: 0;
	top: 0;
	bottom: 0;
	height: 100%;
	z-index: 100;
	padding: 70px 4%;
	pointer-events: none;
	opacity: 1;
	transition: opacity 0.5s;
	transform: translate3d(0, 0, 0);

	@include media(1380px, min) {
		& {
			padding-left: 55px;
			padding-right: 55px;
		}
	}

	//.page-loaded & { opacity: 1; }

	&.large { padding: calc(5.56% + 50px) 5%; }

	&.left { left: 0; right: inherit; }
	&.right { right: 0; left: inherit; }

	/* compact navigation */
	&.compact {
		padding: 30px 4%;

		& .navigation li {
			width: 15px;
			height: 7px;
			margin: 0;
			-webkit-box-shadow: none;
			box-shadow: none;
			border-radius: 0;
			background: #fff;
			opacity: 0.2;
			padding: 1px;
			cursor: pointer;

			&.selected,
			&:hover {
				 opacity: 1;
			}

			&:after {
				 display: none;
			}

			&:before {
				margin: 0 8px !important;
				top: -10px;
			}

			.whiteSlide & {
				background: $default-dark-color;
			}
		}

		&:not(.square) .navigation li:first-child {
			border-radius: 10px 10px 0 0;
		}

		&:not(.square) .navigation li:last-child {
			 border-radius: 0 0 10px 10px;
		}
	}

	/* for nav in panel */
	.panel & {
		position: relative;
		display: inline;
		height: auto;
		padding: 0;
	}

	.slides.whiteSlide & svg:not([fill]) {
		 fill: $default-dark-color;
	}
}

.navigation {
	display: table;
	height: 100%;

	ul {
		display: table-cell;
		vertical-align: middle;
	}

	* {
		pointer-events: all;
	}

	li {
		fill: #fff;
		display: block;
		background: transparent;
		padding: 9px;
		margin: 0 -9px;
		cursor: pointer;
		position: relative;
	}

	li:after {
		content: "";
		display: block;
		width: 15px;
		height: 15px;
		border-radius: 7px;
		opacity: 0.5;
		background: #fff;
		box-shadow: 0 0 1px #303030;
		transition: 0.25s;
	}

	li.selected:after{
		opacity: 1;
	}

	li:hover:after {
		opacity: 1;
	}

	li[data-title]:before {
		content: attr(data-title);
		position: absolute;
		right: 100%;
		top: 1px;
		background: rgba(0,0,0, 0.7);
		color: #fff;
		font-size: 14px;
		min-width: 50px;
		border-radius: $rounded-border-radius;
		padding: 7px 12px;
		font-weight: 500;
		display: inline-block;
		text-align: center;
		white-space: nowrap;
		box-shadow: 0 0 0 1px rgba(255,255,255,0.1);
		pointer-events: none;
		visibility: hidden;
	}

	li:hover:before {
		visibility: visible;
	}

	.left & li:before {
		left: 100%;
		right: auto;
	}

	.panel.bottom & li:before {
		transform: translateY(-100%) translateX(-50%);
		left: 14px;
		top: -2px;
	}

	/* Navigation style = default */
	&.default{
		/* sizes */
		.medium & li:after {
			width: 10px;
			height: 10px;
			border-radius: 5px;
		}

		.small & li:after {
			width: 6px;
			height: 6px;
			border-radius: $default-border-radius;
		}

		/* stroke */
		.stroke & li:after {
			border-color: #fff;
			border-style: solid;
			border-width: 2px;
			background-color: transparent;
		}

		.stroke.small & li:after {
			border-width: 1px;
		}

		.stroke & li.selected:after {
			background: #fff;
		}

		.stroke & li:hover:after {
			 background: #fff;
		}

		/* square */
		.square & li:after {
			border-radius: 1px;
		}
		.square.small & li:after {
			border-radius: 1px;
		}

		/* diamond */
		.diamond & li:after {
			border-radius: 0px;
			transform: rotate(45deg) scale(0.72);
		}
		.diamond.medium & li:after {
			transform: rotate(45deg) scale(0.88);
		}
		.diamond.small & li:after {
			transform: rotate(45deg) scale(1);
		}

		/* line */
		.line & {
			li {
				margin: 0 -9px;
				padding: 5px 9px;
				text-align: right;
				font-size: 0;

				&:after {
					height: 3px;
					display: inline-block;
					text-align: right;
					background: #fff;
					border: none;
				}

				&:before {
					margin-top: -10px;
				}

				&.selected:after {
					width: 25px;
				}
			}
		}

		.line.left & li {
			text-align: left;
		}

		.line.medium & li {
			margin: 0 -5px;
			padding: 4px 8px;

			&.selected:after {
				width: 19px;
			}
		}

		.line.small & li {
			margin: 0;
			padding: 4px 6px;

			&.selected:after {
				width: 13px;
			}
		}
		/* pole */
		.pole & li {
			margin: 0 1px 0 2px;
			padding: 2px 9px;
			text-align: right;
			font-size: 0;

			&:after {
				height: 20px;
				width: 4px;
				display: inline-block;
				transition: 0.5s;
				text-align: right;
				background: #fff;
				border-radius: 1px;
				border: none;
			}

			&:before {
				margin-top: -3px;
			}

			&.selected {
				&:after {
					height: 60px;
				}

				&:before {
					margin-top: 19px;
				}
			}
		}

		.pole.medium & li {
			margin: 0 2px;

			&:after {
				height: 15px;
				width: 3px;
			}

			&:before {
				margin-top: -5px;
			}

			&.selected {
				&:after {
					height: 45px;
				}

				&:before {
	   			margin-top: 10px;
				}
			}
		}

		.pole.small & li {
			margin: 0 2px;

			&:after {
				height: 10px;
				width: 3px;
			}

			&:before {
				margin-top: -7px;
			}

			&.selected {
				&:after {
					height: 30px;
				}

				&:before {
	   			margin-top: 2px;
				}
			}
		}
	}

	/* nav colors for white slide */
	.slides.whiteSlide & li:after {
		background: $default-dark-color;
		box-shadow: 0 0 1px #fff;
	}

	.slides.whiteSlide .stroke & li:after {
		border-color: $default-dark-color;
		background: transparent;
	}

	.slides.whiteSlide .stroke & li:hover:after {
		background: $default-dark-color;
	}

	.slides.whiteSlide .stroke & li.selected:after {
		border-color: $default-dark-color;
		background: $default-dark-color;
	}

	.slides.whiteSlide &.numbers li:after {
	  color: $default-dark-color;
  	text-shadow: 0 0 2px #fff !important;
	}

	.panel &,
	.panel & ul {
		 display: inline;
	}

	.panel & li {
		display: inline-block;
		margin: -9px 0;
	}

	.panel .side.small & li {
		 margin: 0;
	}

	/* Navigation style = arrows */

	.sideArrow {
		width: 31px;
		height: 72px;
		margin: 0px -9px;

		@include media($phablet - 1, max) {
			& {
				width:17px;
				height:40px;
			}
		}
	}

	/* Navigation style = numbers */

	&.numbers{
		ul { 
		  counter-reset: item;
		  list-style-type: none;
		}
		li { display: block; }
		li:after { 
		  content: counter(item);
		  counter-increment: item;
		  background: none !important;
		  box-shadow: none !important;
		  text-shadow: 0 0 2px $default-dark-color;
		  font-weight: bold;
		  font-size: 20px;
		  line-height: 0.7;
		  text-align: center;
		  transition: 0.25s;
		}
		.medium & li:after {
			font-size:17px;
		}

		.small & li:after {
			font-size:14px;
		}
	}

}
/* End of Side */







/***
 *       _____ _
 *      / ___/| |
 *     | (___ | |__   __ _ _ __ ___
 *      \___ \| '_ \ / _` | '__/ _ \
 *      ____) | | | | (_| | | |  __/
 *     /_____/|_| |_|\__,_|_|  \___/
 *
 *
 */
.dropdown {
	position: fixed;
	z-index: 300;
	color: $default-dark-color;
	width: 160px;
	background: #fff;
	box-shadow: 0 6px 11px 0 rgba(0, 0, 0, 0.15), 0 14px 28px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.05);
	margin-bottom: 50px;
	border-radius: $rounded-border-radius;
	text-align: center;
	cursor: default;
	transform: translateY(0) scale(0.9);
	transform-origin: top;
	transition: transform 0.35s, opacity 0.35s, box-shadow 0.35s;

	//hidden by default
	&:not(.show) {
		pointer-events: none;
		opacity: 0;
	}

	&.rectangular {
		border-radius: 0;
	}

	.title {
		font-size: 17px;
		font-weight: 500;
		margin: 0;
		text-align: center;
		opacity: 0.8;
	}

	a {
		font-size: 15px;
		opacity: .6;

		&:hover {
			opacity: .8;
		}
	}

	//arrow
	&:not(.noArrow):after,
	&:not(.noArrow):before {
		content: "";
		bottom: 100%;
		left: 22px;
		border: solid transparent;
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(255, 255, 255, 0);
		border-bottom-color: #fff;
		border-width: 7px;
		margin-left: -7px;
	}
	&:not(.noArrow):before {
		border-bottom-color: rgba(0,0,0,.1);
		border-width: 8px;
		margin-left: -8px;
	}

	&.show {
		visibility: visible;
		opacity: 1;
		transform: translateY(20px);

		&.hide {
			opacity: 0;
			transform: translateY(40px);
			box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.15), 0 0 0 rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.05);
			pointer-events:none;
		}
	}

	.hideDropdown {
		opacity: 0;
		pointer-events: none;
	}

	&.bottom {
		transform-origin: bottom;

		&.show {
			transform: translateY(-20px);

			&.hide {
				transform: translateY(-40px);
			}
		}

		&:after,
		&:before {
			top: 100%;
			bottom: initial;
			border-bottom-color: rgba(255, 255, 255, 0);
			border-top-color: #fff;
		}

		&:before {
			border-top-color: rgba(0,0,0,.06);
		}
	}

	&.right:after,
	&.right:before {
		right: 18px;
		left: auto;
	}

	&.right:before {
		right: 17px;
	}

	&.center:after,
	&.center:before {
		left: 50%;
	}

	/* share */
	&.share li {
		float: left;
		text-align: center;
		display: block;
		width: 80px;
		height: 50px;
		padding: 14px 0;
		color: #fff;
		position: relative;
		cursor: pointer;
		opacity: 0.9;
		transition: 0.15s;

		&:hover {
			opacity: 1;
		}

		&:after {
			content: " ";
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			opacity: 0;
			background: rgba(0,0,0,0.1);
			transition: 0.25s;
		}

		&:active:after {
			opacity: 1;
			transition: 0.1s;
		}

		svg {
			width: 20px;
			height: 20px;
			fill: #fff;
		}

		&.mail {
			width: 100%;
			height: auto;
			color: $default-dark-color;
			opacity: 0.6;
			font-size: 15px;
			padding: 20px 0;
			border-bottom-left-radius: 6px;
			border-bottom-right-radius: 6px;

			&:hover {
				opacity: 0.8;
			}
		}
	}

	.scroll & {
		position: absolute;
		top: 0;
	}
}





/***
 *       _____       _      _
 *      / ___/( )   | |    | |
 *     | (___  _  __| | ___| |__   __ _ _ ___
 *      \___ \| |/ _` |/ _ | '_ \ / _` | '__/
 *      ____) | | (_| |  __| |_) | (_| | |
 *     /_____/|_|\__,_|\___|_.__/ \__,_|_|
 *
 *
 */

.sidebar {
	position: fixed;
	top: 0;
	right: 0;
	width: 320px;
	max-width: 90%;
	height: 100%;
	color: #fff;
	z-index: 500;
	background: #0E0E0E;
	transition: transform 0.5s, visibility 0s;
	transform: translateX(100%);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;

	html:not(.page-loaded) & {
		display: none;
	}

	svg {
		fill: #fff;
	}

	.sidebarShown &.visible {
		transform: translateX(0%);
		opacity: 1;
	}

	.content {
		padding: 40px;
		overflow-y: auto;
		position: relative;
	}

	&.small .content {
		padding: 30px;
	}

	.wrap {
		padding: 0;
	}

	&.left {
		right: inherit;
		left: 0;
		transform: translateX(-100%);
	}

	&.top {
		top: 0;
		width: 100%;
		max-width: 100%;
		height: auto;
		transform: translateY(-100%);
	}

	&.bottom {
		bottom: 0;
		top: inherit;
		width: 100%;
		max-width: 100%;
		height: auto;
		transform: translateY(100%);
	}

	/* ELEMENTS */
	.logo {
		padding: 0;
		font-size: 0;
		margin-bottom: 35px;
	}

	.close {
		position: absolute;
		top: 0;
		right: 0;
		cursor: pointer;
		padding: 14px;
		font-size: 0;
		opacity: 0.5;
		z-index: 101;
		transition: 0.25s;

		&:hover {
			opacity: 1;
		}

		svg {
			width: 24px;
			height: 24px;
			fill: #fff;
		}

		&:active svg {
			transform:  scale(0.92);
		}
	}

	/* menu items */
	ul.mainMenu,
	ul.subMenu,
	ul.social {
		line-height: 1.9;
		margin-bottom: 30px;
		display: block;
	}

	.mainMenu li {
		font-size: 20px;
		line-height: 48px;
	}

	.mainMenu.small li {
		font-size: 18px;
		line-height: 46px;
	}

	.subMenu li {
		font-weight: 400;
		text-transform: none;
		letter-spacing: 0px;
		font-size: 18px;
		line-height: 36px;
	}

	.subMenu.small li {
		font-size: 16px;
		line-height: 34px;
	}

	/* social */
	.social {
		margin-top: 40px;

		li {
			display: inline-block;
			margin-right: 20px;

			&:last-child {
				margin-right: 0;
			}

			a {
				font-size: 0;
				padding: 0;

				svg {
					width: 20px;
					height: 20px;
				}
			}
		}

		&.small li {
			margin-right: 12px;

			a svg {
				width: 15px;
				height: 15px;
			}
		}

		&.big li {
			margin-right: 12px;

			a svg {
				width: 22px;
				height: 22px;
			}
		}
	}

	&.small .social {
		margin-top: 30px;
	}

	.big li {
		font-size: 32px;
		line-height: 64px;
	}

	.social.medium li a svg {
		width: 18px;
		height: 18px;
	}

	.social.medium li {
		margin-right: 14px;
	}
}

.sidebarShown .slide.selected .content {
	overflow: hidden;
}

/* SIDEBAR ANIMATION */
.page-loaded.sidebarShown .slide.selected {
	transform: scale(0.95) !important;
	pointer-events: none;
	opacity: 0.5 !important;
}

.sidebarShown .panel {
	opacity: 0;
}

.sidebarShown .panel.bottom {
	opacity: 0.5;
	transform: scale(0.95) translateY(-10%);
}

.page-loaded.sidebarShown .panel,
.page-loaded.sidebarShown .slide.selected,
.page-loaded.sidebarShown .slide.selected:after,
.sidebar {
	transition: transform 0.5s, opacity 0.5s !important;
}







/***
 *      _____
 *     |  __ \
 *     | |__) __  _ __  _   _ _ __
 *     |  ___/ _ \| '_ \| | | | '_ \
 *     | |  | (_) | |_) | |_| | |_) |
 *     |_|   \___/| .__/ \__,_| .__/
 *                | |         | |
 *                |_|         |_|
 */


/* POPUP */
.popup {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	color: #fff;
	z-index: 1000;
	transition: transform 0.5s, opacity 0.5s;
	overflow-y: auto;
	display: none;
	transform: translate3d(0,0,0);

	&:not([class*="fade"]){
		background: rgba(17, 17, 17, 0.9);
	}

	.popupShown &.visible {
		display: block;
		animation: popupFadeIn 0.75s;
	}

  &.hidePopup {
    opacity: 0;
    pointer-events: none;
  }

	.content {
		overflow-y: auto;
	}

	.close:not(.button) {
		position: fixed;
		top: 0;
		right: 0;
		cursor: pointer;
		padding: 14px;
		font-size: 0;
		opacity: 0.5;
		z-index: 200;
		transition: 0.25s;
		margin: 0;
		transform: translate3d(0,0,0);

		&.left {
			right: inherit;
			left: 0;
		}

		&:hover {
			opacity: 1;
		}

		svg {
			width: 30px;
			height: 30px;
			fill: #fff;
		}
	}

	.close.button {
		position: fixed;
		z-index: 200;
		margin: 15px;
	}

	&.white .close svg {
		fill: $default-dark-color;
	}

	.container .wrap {
		padding: 18px 58px;
	}

	&.fullscreen .container .wrap {
		padding: 0;
	}

	&.fullscreen .embedVideo {
		height: 100vh;
		padding-bottom: 0;
	}
}

@keyframes popupFadeIn {
	from { opacity: 0;}
}

.popupShown,
.popupShown body,
.sidebarShown,
.sidebarShown body {
	overflow-y: hidden !important;
}

/* embed video container for slides and popups */
.embedVideo {
	position: relative;
	padding-bottom: 56.25%; /* 16x9 */
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

.embedVideo iframe,
.embedVideo object,
.embedVideo embed,
.embedVideo video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.embedVideo.size-16x10 {
	padding-bottom: 62.5%;
}

.embedVideo.size-4x3 {
	padding-bottom: 75%;
}

.embedVideo.size-1x1,
.embedVideo.size-square {
	padding-bottom: 100%;
}








/***
 *      ______                       _____
 *     |___  /                      |_   _|
 *        / / ___   ___  _ __ ___     | |  _ __ ___   __ _  __ _  ___
 *       / / / _ \ / _ \| '_ ` _ \    | | | '_ ` _ \ / _` |/ _` |/ _ \
 *      / /_| (_) | (_) | | | | | |  _| |_| | | | | | (_| | (_| |  __/
 *     /_____\___/ \___/|_| |_| |_| |_____|_| |_| |_|\__,_|\__, |\___/
 *                                                          __/ |
 *                                                         |___/
 */

[data-action="zoom"] {
	@extend .cursorZoomIn;
}

.zoom-img,
.zoom-img-wrap {
	position: relative;
	transition: all 0.5s;
	transition-timing-function: cubic-bezier(.2,0,.3,1) !important;
	z-index:  100;

	img.zoom-img {
		margin:  0 !important;
		@extend .cursorZoomOut;
	}
}

.zoom-overlay {
	background: rgba(17, 17, 17, 1);
	position: fixed;
	top: -9999px;
	left: -9999px;
	right: -9999px;
	bottom: -9999px;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.5s;
	z-index:  99;
}

.zoom-overlay-open .zoom-overlay {
	opacity: 0.9;
}

.page-loaded .slides.zoom-overlay-open {
 .side, .panel {
		opacity: 0;
		transition-delay: 0s;
		transition: 0.25s;
	}
}

.zoom-overlay-open,
.zoom-overlay-transitioning {
	cursor: default;
}

.zoom-img-parent {
	position: relative;
	z-index: 1000;
}







/***
 *       _____ _ _     _
 *      / ___/| (_)   | |
 *     | (___ | |_  __| | ___ _ __
 *      \___ \| | |/ _` |/ _ \ '__/
 *      ____) | | | (_| |  __/ |
 *     /_____/|_|_|\__,_|\___/_|
 *
 *
 */
.slider {
	position: relative;

	&.clickable {
		cursor: pointer;
	}

	> li {
		display: none;
		top: 0;
		left: 0;
		opacity: 0;
		transition: opacity 0.5s;
		pointer-events: none;

		&.selected {
			display: block;
			opacity: 1;
			transition: opacity 0.5s;
			pointer-events: all;
		}
	}

	&.rounded > li > img {
		border-radius: $rounded-border-radius;
		overflow: hidden;
	}

	&.autoHeight {
		transition: 0.5s;

		> li {
			display: block;
			position: absolute;
		}
	}
}

.controller li {
	cursor: pointer;

	&.selected {
		cursor: default;
		pointer-events: none;
	}
}



//TOOLTIP
.tooltip[data-tooltip-title] {
  position: relative;

  &:before {
		content: attr(data-tooltip-title);
		position: absolute;
		background: rgba(40, 40, 40, 0.6);
		color: #fff;
		font-size: 12px;
		border-radius: 50px;
		padding: 6px 15px;
		visibility: hidden;
		white-space: nowrap;
		letter-spacing: .04em;
		box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.07);
		transform: translateY(100%) translateX(-50%);
		left: 50%;
		top: 0;
	}

	&:hover:before {
	  visibility: visible;
	  animation: fadeIn 0.35s backwards;
	}

	&.top:before {
		bottom: 0;
		top: auto;
		transform: translateY(-100%) translateX(-50%);
	}
}








/*                   \                           /
    .           ,                              o
     *                 ¤     ~            ..
        ______  __  __          _       *
       |  ___/ / _// _|   *    | |
       | |___ | |_| |_ ___  ___| |_ ____
    .  |  __/ |  _|  _/ _ \/ __| __/ __/
   ¯   | |____| | | ||  __| (__| |_\__ \    ¨
  ´    |_____/|_| |_| \___|\___/\__/___/   '
                                 ¸         §
   ¸.*         ¤        *         .           .
                      .            °            /
.*/

/* DEFAULT */
.slide.before {
	transform: translate3d(0,-50%,0);
}

.slide:not(.before):first-child,
.slide.after {
	transform: translate3d(0,50%,0);
	//will-change: transform;
}

.slide.before,
.slide.after {
	 opacity: 0;
}

.slide.selected {
	-webkit-transform: translate3d(0,0,0) !important;
	-moz-transform: translate3d(0,0,0) !important;
	-ms-transform: translate3d(0,0,0) !important;
	-o-transform: translate3d(0,0,0) !important;
	transform: translate3d(0,0,0) !important;
	z-index: 11;


	.scroll & {
	  z-index: 10;
	}
}

.page-loaded .slide.selected {
	opacity: 1 !important;
}


/* horizontal */
.horizontal .slide,
.horizontal .slide.before {
	-ms-transform: translate3D(-50%,0,0);
	transform: translate3D(-50%,0,0);
}

.horizontal .slide.after {
	-ms-transform: translate3D(50%,0,0);
	transform: translate3D(50%,0,0);
}


/* FILM */
.film .slide.before {
	-ms-transform: translate3D(-100%,0,0);
	transform: translate3D(0,-100%,0);
}

.film .slide.after {
	-ms-transform: translate3D(0,100%,0);
	transform: translate3D(0,100%,0);
}

/* Horizontal */
.film.horizontal .slide.before {
	-ms-transform: translate3D(-100%,0,0);
	transform: translate3D(-100%,0,0);
}

.film.horizontal .slide,
.film.horizontal .slide.after {
	-ms-transform: translate3D(100%,0,0);
	transform: translate3D(100%,0,0);
}


/* CHAIN */
.chain .slide.before {
	-ms-transform: translate3D(-100%,0,0);
	transform: translate3D(0,-100%,0);
	opacity: 1;
}

.chain .slide.after {
	-ms-transform: translate3D(0,100%,0);
	transform: translate3D(0,100%,0);
	opacity: 1;
}

/* Horizontal */
.chain.horizontal .slide.before {
	-ms-transform: translate3D(-100%,0,0);
	transform: translate3D(-100%,0,0);
	opacity: 1;
}

.chain.horizontal .slide,
.chain.horizontal .slide.after {
	-ms-transform: translate3D(100%,0,0);
	transform: translate3D(100%,0,0);
	opacity: 1;
}


/* ZEN */
.zen .slide.before {
	-ms-transform: translateY(-100%) scale(0.8);
	transform: translateY(-100%) scale(0.8);
}

.zen .slide,
.zen .slide.after {
	-ms-transform: translateY(100%) scale(0.8);
	transform: translateY(100%) scale(0.8);
}

/* Horizontal */
.zen.horizontal .slide.before {
	-ms-transform: translateX(-100%) scale(0.8);
	transform: translateX(-100%) scale(0.8);
}

.zen.horizontal .slide,
.zen.horizontal .slide.after {
	-ms-transform: translateX(100%) scale(0.8);
	transform: translateX(100%) scale(0.8);
}


/* STACK */
.stack .slide,
.stack .slide.after {
	-ms-transform: translateY(100%);
	transform: translateY(100%);
}

.stack .slide.after {
	 opacity: initial;
}

.stack .slide.selected,
.stack .slide.after.active {
	 z-index: 11 !important;
}

.stack .slide.before {
	-ms-transform: scale(0.9);
	transform: scale(0.9);
}

/* Horizontal */
.stack.horizontal .slide,
.stack.horizontal .slide.after {
	-ms-transform: translateX(100%);
	transform: translateX(100%);
}

.stack.horizontal  .slide.before {
	transform: scale(0.9);
}


/* CARDS */
.cards .slide,
.cards .slide.after {
	-ms-transform: translateY(10%);
	transform: translateY(10%);
	opacity: initial;
}
.cards .slide.after {
	 z-index: 8 !important;
	 opacity: 0;
}

.cards .slide.selected {
	 z-index: 9 !important;
}

.cards .slide.before {
	-ms-transform: translateY(-100%);
	transform: translateY(-100%);
	z-index: 7;
}

.cards .slide.active.before {
	 z-index: 10 !important;
}

/* Horizontal */
.cards.horizontal .slide,
.cards.horizontal .slide.after {
	-ms-transform: translateX(10%);
	transform: translateX(10%);
}

.cards.horizontal .slide.before {
	-ms-transform: translateX(-100%);
	transform: translateX(-100%);
}


/* CARDS */
.cards2 .slide,
.cards2 .slide.after {
	-ms-transform: translateY(10%);
	transform: translateY(10%);
	opacity: initial;
}
.cards2 .slide.after {
	 z-index: 8 !important;
	 opacity: 0;
}

.cards2 .slide.selected {
	 z-index: 9 !important;
}

.cards2 .slide.before {
	-ms-transform: translateY(-100%);
	transform: translateY(-100%);
	z-index: 7;
}

.cards2 .slide.active.before {
	 z-index: 10 !important;
}

/* Horizontal */
.cards2.horizontal .slide,
.cards2.horizontal .slide.after {
	-ms-transform: translateX(10%);
	transform: translateX(10%);
}

.cards2.horizontal .slide.before {
	-ms-transform: translateX(-100%);
	transform: translateX(-100%);
}





/* ZOOM CHANGE */
.zoom .slide.before {
	-ms-transform: scale(1.4);
	transform: scale(1.4);
}

.zoom .slide,
.zoom .slide.after {
	-ms-transform: scale(0.8);
	transform: scale(0.8);
	opacity: 0;
}


/* VERTIGO */
.vertigo .slide.before {
	-ms-transform: scale(1.4) rotate(-2deg);
	transform: scale(1.4) rotate(-2deg);
}

.vertigo .slide,
.vertigo .slide.after {
	-ms-transform: scale(0.8) rotate(2deg);
	transform: scale(0.8) rotate(2deg);
	opacity: 0;
}



/* PLAIN CHANGE */
.plain .slide.before {
	-ms-transform: scale(1);
	transform: scale(1);
}

.plain .slide,
.plain .slide.after {
	-ms-transform: scale(1);
	transform: scale(1);
}

.plain .slide.after:after,
.plain .slide.before:after {
	 opacity: 1;
	 background: #111;
}


/* SPEED */
.page-loaded .fast .slide.active,
.page-loaded .fast .slide.selected {
	transition: transform $slide-speed-fast, opacity $slide-speed-fast;
}

.page-loaded .slide.selected,
.page-loaded .slide.active {
	transition: transform $slide-speed-normal, opacity $slide-speed-normal;
}

.page-loaded .slow .slide.active,
.page-loaded .slow .slide.selected {
	transition: transform $slide-speed-slow, opacity $slide-speed-slow;
}

.page-loaded .slide.selected.entry,
.page-loaded .slide.active.entry {
	transition: transform 0s, opacity 1s;
}

/* panels */
.slides.animated .panel,
.slides.animateOnEvent .panel {
	transition: transform, opacity;
	transition-duration:$slide-speed-normal;
}

.slides.animated.fast .panel,
.slides.animateOnEvent.fast .panel {
	transition-duration: $slide-speed-fast;
}
.slides.animated.slow .panel,
.slides.animateOnEvent.slow .panel {
	transition-duration: $slide-speed-slow;
}



/* EASING */
.smooth {
	.active,
	.selected,
	.panel,
	.sidebar,
	.rolling-element {
		transition-timing-function: $slide-transition-smooth !important;
	}
}

.bounce {
	.active,
	.selected,
	.panel,
	.sidebar,
	.rolling-element {
		transition-timing-function: $slide-transition-bounce !important;
	}
}






/***
 *                                       _           _   ______ _                           _
 *         /\         ( )               | |         | | |  ___/| |                         | |
 *        /  \   _ __  _ _ __ ___   __ _| |_ ___  __| | | |___ | | ___ _ __ ___   ___ _ __ | |_ ___
 *       / /\ \ | '_ \| | '_ ` _ \ / _` | __/ _ \/ _` | |  __/ | |/ _ \ '_ ` _ \ / _ \ '_ \| __/ __/
 *      / ____ \| | | | | | | | | | (_| | ||  __/ (_| | | |____| |  __/ | | | | |  __/ | | | |_\__ \
 *     /_/    \_\_| |_|_|_| |_| |_|\__,_|\__\___/\__,_| |_____/|_|\___/_| |_| |_|\___/_| |_|\__|___/
 *
 *
 */

.animated [class*="ae-"]:not(.done) {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translate3d(0,0,0);
	transition-timing-function: cubic-bezier(0.25, 0.1, 0.20, 1);
}

/* Speed */
.animated.fast .animate [class*="ae-"]:not(.done),
.animated.fast .animate [class*="ae-"]:not(.done),
.animated.animate .fast [class*="ae-"]:not(.done),
.animated.animate [class*="ae-"].fast:not(.done)
// .animated .animate .fast [class*="ae-"]:not(.done),
// .animated .animate [class*="ae-"].fast:not(.done)
{
    transition-duration: $fast-duration + ms;
}

.animated .animate [class*="ae-"]:not(.done),
.animated.animate [class*="ae-"]:not(.done) {
    transition-duration: $default-duration + ms;
}

.animated.slow .animate [class*="ae-"]:not(.done),
.animated .animate.slow [class*="ae-"]:not(.done),
.animated .animate .slow [class*="ae-"]:not(.done),
.animated .animate [class*="ae-"].slow:not(.done)
// .animated.animate .slow [class*="ae-"]:not(.done),
// .animated.animate [class*="ae-"].slow:not(.done),
{
    transition-duration: $slow-duration + ms;
}

/* Delays */

//Default delay
@for $i from 1 through 10 {
    $delay: ($i - 1) * $default-delay-step + $start-delay;

    .animated .animate .ae-#{$i}:not(.done),
    .animated.animate .ae-#{$i}:not(.done) {
        transition-delay: $delay + ms;
    }
}

//Fast Delay
@for $i from 1 through 10 {
    $delay: ($i - 1) * $fast-delay-step + $start-delay;

    .animated.fast .animate .ae-#{$i}:not(.done),
    .animated.fast.animate .ae-#{$i}:not(.done),
    .animated.animate .ae-#{$i}.fast:not(.done),
    .animated.animate .fast .ae-#{$i}:not(.done) {
        transition-delay: $delay + ms;
    }
}

//Slow Delay
@for $i from 1 through 10 {
    $delay: ($i - 1) * $slow-delay-step + $start-delay;

    .animated.slow .animate .ae-#{$i}:not(.done),
    .animated.slow.animate .ae-#{$i}:not(.done),
    .animated.animate .ae-#{$i}.slow:not(.done),
    .animated.animate .slow .ae-#{$i}:not(.done) {
        transition-delay: $delay + ms;
    }
}


/* Directions */
// ADDED: :not(.animateOnEvent)
.animated:not(.animateOnEvent) [class*="ae-"]:not(.done), /* default */
.animated:not(.animateOnEvent) .fromBottom [class*="ae-"]:not(.done),
.animated:not(.animateOnEvent).fromBottom [class*="ae-"]:not(.done),
.slides.animated:not(.animateOnEvent) [class*="ae-"].fromBottom:not(.done),
.popup.animated:not(.animateOnEvent) [class*="ae-"].fromBottom:not(.done) {
	 visibility: hidden;
	 transform: translate3d(0,$horizontal-distance,0);
	 opacity: 0;
}

.animated .fromTop [class*="ae-"]:not(.done),
.animated.fromTop [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromTop:not(.done),
.popup.animated [class*="ae-"].fromTop:not(.done) {
	 transform: translate3d(0,-$horizontal-distance,0);
}

.animated .fromLeft [class*="ae-"]:not(.done),
.animated.fromLeft [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromLeft:not(.done),
.popup.animated [class*="ae-"].fromLeft:not(.done) {
	 transform: translate3d(-$horizontal-distance,0,0);
}

.animated .fromRight [class*="ae-"]:not(.done),
.animated.fromRight [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromRight:not(.done),
.popup.animated [class*="ae-"].fromRight:not(.done) {
	 transform: translate3d($horizontal-distance,0,0);
}

.animated .fromCenter [class*="ae-"]:not(.done),
.animated.fromCenter [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromCenter:not(.done),
.popup.animated [class*="ae-"].fromCenter:not(.done) {
	 transform: scale($small-scale) translate3d(0,0,0);
}

.animated .fromAbove [class*="ae-"]:not(.done),
.animated.fromAbove [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromAbove:not(.done),
.popup.animated [class*="ae-"].fromAbove:not(.done) {
	 transform: scale($large-scale) translate3d(0,0,0);
}

.animated .fromBottomLeft [class*="ae-"]:not(.done),
.animated.fromBottomLeft [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromBottomLeft:not(.done),
.popup.animated [class*="ae-"].fromBottomLeft:not(.done) {
	 transform: translate3d(-$horizontal-distance,$horizontal-distance,0);
}

.animated .fromTopLeft [class*="ae-"]:not(.done),
.animated.fromTopLeft [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromTopLeft:not(.done),
.popup.animated [class*="ae-"].fromTopLeft:not(.done) {
	 -webkit-transform: translate3d(-$horizontal-distance,-$horizontal-distance,0);
	 transform: translate3d(-$horizontal-distance,-$horizontal-distance,0);
}

.animated .fromBottomRight [class*="ae-"]:not(.done),
.animated.fromBottomRight [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromBottomRight:not(.done),
.popup.animated [class*="ae-"].fromBottomRight:not(.done) {
	 transform: translate3d($horizontal-distance,$horizontal-distance,0);
}

.animated .fromTopRight [class*="ae-"]:not(.done),
.animated.fromTopRight [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromTopRight:not(.done),
.popup.animated [class*="ae-"].fromTopRight:not(.done) {
	 transform: translate3d($horizontal-distance,-$horizontal-distance,0);
}

.animated .fadeIn [class*="ae-"]:not(.done),
.animated.fadeIn [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fadeIn:not(.done) ,
.popup.animated [class*="ae-"].fadeIn:not(.done) {
	 transform: scale(1) translate3d(0,0,0);
}

.animated .fromBlur [class*="ae-"]:not(.done),
.animated.fromBlur [class*="ae-"]:not(.done),
.slides.animated [class*="ae-"].fromBlur:not(.done),
.popup.animated [class*="ae-"].fromBlur:not(.done) {
	 transform: scale(1) translate3d(0,0,0);
	 filter: blur($blur-size);
}



/* Final Step */
.slides.animated .animate.active [class*="ae-"]:not(.done),
.poup.animated .animate.active [class*="ae-"]:not(.done),
.slides .animated.animate.active [class*="ae-"]:not(.done) {
	opacity: 1;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	visibility: visible;
  transform: translate3d(0,0,0);
	filter: none;
}


/* Animated on scroll */
.animateOnEvent {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* hide elements */
.animateOnEvent [class*="ae-"]:not(.done):not(.do) { opacity: 0; visibility: hidden; }

/* Speed */
.animateOnEvent [class*="ae-"].do {
  animation-fill-mode: backwards;
  animation-duration: $default-duration + ms;
  visibility: visible;
}


.animateOnEvent.fast [class*="ae-"].do,
.animateOnEvent .fast [class*="ae-"].do,
.animateOnEvent [class*="ae-"].do.fast {
  animation-duration: $fast-duration + ms;
}

.animateOnEvent.slow [class*="ae-"].do,
.animateOnEvent .slow [class*="ae-"].do,
.animateOnEvent [class*="ae-"].do.slow {
  animation-duration: $slow-duration + ms;
}

/* Directions */
.animateOnEvent [class*="ae-"].do { animation-name: fromBottom; }

/* generate directions */
$directions: fromBottom fromTop fromLeft fromRight fromCenter fromAbove fromBottomLeft fromTopLeft fromBottomRight fromTopRight fadeIn fromBlur;
@each $direction in $directions {
	.animateOnEvent.#{$direction} [class*="ae-"].do,
	.animateOnEvent .#{$direction} [class*="ae-"].do,
	.animateOnEvent [class*="ae-"].do.#{$direction} {
		animation-name: #{$direction};
	}
}

// keyframes
@keyframes fromBottom { from { transform: translate3d(0,$horizontal-distance,0); opacity:0;}}
@keyframes fromTop { from { transform: translate3d(0,-$horizontal-distance,0); opacity:0;}}
@keyframes fromLeft { from { transform: translate3d(-$vertical-distance,0,0); opacity:0;}}
@keyframes fromRight { from { transform: translate3d($vertical-distance,0,0); opacity:0;}}
@keyframes fromCenter { from { transform: scale($small-scale) translate3d(0,0,0); opacity:0;}}
@keyframes fromAbove { from { transform: scale($large-scale) translate3d(0,0,0); opacity:0;}}
@keyframes fromBottomLeft { from { transform: translate3d(-$horizontal-distance,$horizontal-distance,0); opacity:0;}}
@keyframes fromTopLeft { from { transform: translate3d(-$horizontal-distance,-$horizontal-distance,0); opacity:0;}}
@keyframes fromBottomRight { from { transform: translate3d($horizontal-distance,$horizontal-distance,0); opacity:0;}}
@keyframes fromTopRight { from { transform: translate3d($horizontal-distance,-$horizontal-distance,0); opacity:0;}}
@keyframes fadeIn { from { transform: scale(1) translate3d(0,0,0); opacity:0;}}
@keyframes fromBlur { from { transform: scale(1) translate3d(0,0,0); filter:blur($blur-size); opacity:0;}}

/* Delays */


//Default Delay
@for $i from 1 through 10 {
	$delay: ($i - 1) * $default-delay-step + $start-delay;

	.animateOnEvent .ae-#{$i} {
		animation-delay: $delay + ms;
	}
}

// Fast Delay
@for $i from 1 through 10 {
	$delay: ($i - 1) * $fast-delay-step + $start-delay;

	.animateOnEvent.fast .ae-#{$i},
	.animateOnEvent .ae-#{$i},
	.animateOnEvent .fast .ae-#{$i}.fast ,
	.animateOnEvent .ae-#{$i}.fast {
		animation-delay: $delay + ms;
	}
}

//Slow Delay
@for $i from 1 through 10 {
	$delay: ($i - 1) * $slow-delay-step + $start-delay;

	.animateOnEvent.slow .ae-#{$i},
	.animateOnEvent .slow .ae-#{$i},
	.animateOnEvent .ae-#{$i}.slow {
		animation-delay: $delay + ms;
	}
}


//Rolling Object
.slides:not(.scroll) {
	.rolling-element {
	  transition: $slide-speed-normal;
	  transform: translate3d(0,0,0);
	  //will-change: transform;
	}

	&.fast .rolling-element {
		transition-duration: $slide-speed-fast;
	}

	&.slow .rolling-element {
		transition-duration: $slide-speed-slow;
	}

	.slide.before .rolling-element {
	  transform: translateY(100%);

	  &.pct-10  { transform: translateY(10%);}
	  &.pct-20  { transform: translateY(20%);}
	  &.pct-30  { transform: translateY(30%);}
	  &.pct-40  { transform: translateY(40%);}
	  &.pct-50  { transform: translateY(50%);}
	  &.pct-60  { transform: translateY(60%);}
	  &.pct-70  { transform: translateY(70%);}
	  &.pct-80  { transform: translateY(80%);}
	  &.pct-90  { transform: translateY(90%);}

	  &.inverse {
		  transform: translateY(-100%);

		  &.pct-10  { transform: translateY(-10%);}
		  &.pct-20  { transform: translateY(-20%);}
		  &.pct-30  { transform: translateY(-30%);}
		  &.pct-40  { transform: translateY(-40%);}
		  &.pct-50  { transform: translateY(-50%);}
		  &.pct-60  { transform: translateY(-60%);}
		  &.pct-70  { transform: translateY(-70%);}
		  &.pct-80  { transform: translateY(-80%);}
		  &.pct-90  { transform: translateY(-90%);}
	  }
	}

	.slide.after .rolling-element {
	  transform: translateY(-100%);

	  &.pct-10  { transform: translateY(-10%);}
	  &.pct-20  { transform: translateY(-20%);}
	  &.pct-30  { transform: translateY(-30%);}
	  &.pct-40  { transform: translateY(-40%);}
	  &.pct-50  { transform: translateY(-50%);}
	  &.pct-60  { transform: translateY(-60%);}
	  &.pct-70  { transform: translateY(-70%);}
	  &.pct-80  { transform: translateY(-80%);}
	  &.pct-90  { transform: translateY(-90%);}

	  &.inverse {
		  transform: translateY(100%);

		  &.pct-10  { transform: translateY(10%);}
		  &.pct-20  { transform: translateY(20%);}
		  &.pct-30  { transform: translateY(30%);}
		  &.pct-40  { transform: translateY(40%);}
		  &.pct-50  { transform: translateY(50%);}
		  &.pct-60  { transform: translateY(60%);}
		  &.pct-70  { transform: translateY(70%);}
		  &.pct-80  { transform: translateY(80%);}
		  &.pct-90  { transform: translateY(90%);}
	  }
	}
}




/***
 *      ____             _                                   _    ______  __  __          _
 *     |  _ \           | |                                 | |  |  ____|/ _|/ _|        | |
 *     | |_) | __ _  ___| | ____ _ _ __ ___  _   _ _ __   __| |  | |__  | |_| |_ ___  ___| |_ ___
 *     |  _ < / _` |/ __| |/ / _` | '__/ _ \| | | | '_ \ / _` |  |  __| |  _|  _/ _ \/ __| __/ __|
 *     | |_) | (_| | (__|   < (_| | | | (_) | |_| | | | | (_| |  | |____| | | ||  __/ (__| |_\__ \
 *     |____/ \__,_|\___|_|\_\__, |_|  \___/ \__,_|_| |_|\__,_|  |______|_| |_| \___|\___|\__|___/
 *                            __/ |
 *                           |___/
 */

/* KEN BURNS */
.slides.animated .kenBurns .background,
.slides.animated .kenBurns.zoomin .background,
.slides.animateOnEvent .kenBurns .background,
.slides.animateOnEvent .kenBurns.zoomin .background {
	transform: scale(1.08) rotate(-0.02deg);
	opacity: 0.2;
	z-index: 1;
}

.slides.animated .kenBurns:not(.video) .background,
.slides.animated .kenBurns.zoomin:not(.video) .background,
.slides.animateOnEvent .kenBurns:not(.video) .background,
.slides.animateOnEvent .kenBurns.zoomin:not(.video) .background {
	transition: transform 5s cubic-bezier(.3,0,.7,1), opacity 1s ease;
}

.animated .active.kenBurns:not(.video) .background,
.animated .active.kenBurns.zoomin:not(.video) .background,
.animated .active .kenBurns.zoomin:not(.video) .background,
.animateOnEvent .active.kenBurns:not(.video) .background,
.animateOnEvent .active.kenBurns.zoomin:not(.video) .background,
.animateOnEvent .active .kenBurns.zoomin:not(.video) .background {
	opacity: 1;
	transform: translate3d(0,0,0);
}

.slides.animated .kenBurns.zoomin:not(.video) .background,
.slides.animateOnEvent .kenBurns.zoomin:not(.video) .background  {
	transform: translate3d(0,0,0);
}
.animated .active.kenBurns.zoomin:not(.video) .background,
.windows .slides.animated .active.kenBurns.zoomin:not(.video) .background,
.animateOnEvent .active.kenBurns.zoomin:not(.video) .background,
.windows .slides.animateOnEvent .active.kenBurns.zoomin:not(.video) .background {
	transform: scale(1.08) rotate(-0.02deg);
}

.mobile .kenBurns .background,
.mobile .kenBurns.zoomin .background {
	transition: 0s;
	transform: none;
}


/* PARALLAX */
.slides.animated .parallax:not(.video) .background,
.slides.animateOnEvent .parallax:not(.video) .background {
	transform: translate3d(0,0,0) scale(1.25);
	transition: transform-origin 1s, transform 1s;
}

.slides.animated.fast .parallax:not(.video) .background,
.slides.animateOnEvent.fast .parallax:not(.video) .background {
	transition: transform-origin .6s, transform .6s;
}

.slides.animated.slow .parallax:not(.video) .background,
.slides.animateOnEvent.slow .parallax:not(.video) .background {
	transition: transform-origin 1.4s, transform 1.4s;
}

.slides.animated .parallax.animate:not(.video) .background,
.slides.animateOnEvent .parallax.animate:not(.video) .background {
	transform-origin: center;
}

.slides.animated .slide.after.parallax:not(.video) .background,
.slides.animateOnEvent .slide.after.parallax:not(.video) .background {
	transform-origin: top center;
}

.slides.animated .slide.before.parallax:not(.video) .background,
.slides.animateOnEvent .slide.before.parallax:not(.video) .background {
	transform-origin: bottom center;
}

/* horizontal */
.slides.animated.horizontal .slide.after.parallax:not(.video) .background,
.slides.animateOnEvent.horizontal .slide.after.parallax:not(.video) .background {
	transform-origin: left center;
}

.slides.animated.horizontal .slide.before.parallax:not(.video) .background,
.slides.animateOnEvent.horizontal .slide.before.parallax:not(.video) .background {
	transform-origin: right center;
}

/* zoom */
.slides.animated.zoom .slide.after.parallax:not(.video) .background,
.slides.animateOnEvent.zoom .slide.after.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1);
}

.slides.animated.zoom .slide.animate.parallax:not(.video) .background,
.slides.animateOnEvent.zoom .slide.animate.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1.1);
}

.slides.animated.zoom .slide.before.parallax:not(.video) .background,
.slides.animateOnEvent.zoom .slide.before.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1);
}

/* plain */
.slides.animated.plain .slide.after.parallax:not(.video) .background,
.slides.animateOnEvent.plain .slide.after.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1);
}

.slides.animated.plain .slide.animate.parallax:not(.video) .background,
.slides.animateOnEvent.plain .slide.animate.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1);
}

.slides.animated.plain .slide.before.parallax:not(.video) .background,
.slides.animateOnEvent.plain .slide.before.parallax:not(.video) .background {
	transform-origin: center;
	transform: translate3d(0,0,0) scale(1);
}

/* SCENIC */
.slides.animated .scenic:not(.video) .background,
.slides.animateOnEvent .scenic:not(.video) .background {
	animation: scenic 140s cubic-bezier(.2,0,.8,1) infinite;
}

@keyframes scenic {
	50% { transform: scale(1.5) rotate(-0.02deg);}
}


/* SCROLL EFFECT */
.scroll,
.mobile .simplifiedMobile {
	 position: relative;
	 -webkit-overflow-scrolling: touch;
}
.scroll .content
.mobile .simplifiedMobile .content {
	-webkit-overflow-scrolling: initial;
	overflow: hidden;
}

.scroll .wrap {
	 overflow: hidden;
}

.scroll .slide,
.scroll .slide .content, // fix for oversized content
.scroll .container,
.mobile .simplifiedMobile .slide,
.mobile .simplifiedMobile .content,
.mobile .simplifiedMobile .container {
	position: relative !important;
	height: auto;
	opacity: 1;
}

.mobile .simplifiedMobile .popup .content,
.mobile .simplifiedMobile .popup .container {
	position: absolute !important;
	height: 100%;
}


.scroll .container,
.mobile .simplifiedMobile .container {
	height: 100vh;
}

.scroll .slide.autoHeight .container,
.mobile .slide.autoHeight .simplifiedMobile .container,
.scroll .slide.auto .container,
.mobile .slide.auto .simplifiedMobile .container {
	height: auto;
}

.scroll .slide .background,
.mobile .simplifiedMobile .slide .background {
	position: absolute !important;
}

.scroll .slide:not(.autoHeight) .background,
.mobile .simplifiedMobile .slide:not(.autoHeight) .background {
	min-height: 100vh;
}

.scroll .slide,
.scroll .slide.after,
.scroll .slide.before,
.mobile .simplifiedMobile .slide,
.mobile .simplifiedMobile .slide.after,
.mobile .simplifiedMobile .slide.before {
	visibility: visible;
	transform: none !important;
}

.mobile .simplifiedMobile .slide,
.mobile .simplifiedMobile .slide.after,
.mobile .simplifiedMobile .slide.before {
	opacity: 1 !important;
}

.page-loaded.sidebarShown .scroll .slide,
.page-loaded.mobile.sidebarShown .simplifiedMobile .slide {
	transform: translate3d(0,0,0) !important;
	pointer-events: none;
	opacity: 0.5 !important;
}

.page-loaded .scroll .slide {
	transition: transform 0.5s, opacity 0.5s !important;
}

// .scroll .panel.firstSlideOnly,
// .scroll .panel.lastSlideOnly,
// .mobile .simplifiedMobile .panel {
// 	position: absolute;
// }

.mobile .simplifiedMobile .navigation {
	display: none;
}

.mobile .simplifiedMobile [class*="ae-"] {
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
}


.mobile .simplifiedMobile [class*="ae-"] {
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
}

.scroll .parallax:not(.video) .background {
	transform: translate3d(0,0,0) scale(1.45);
	//transition: none !important;
}

@keyframes fadeIn { from { opacity: 0;} }
@keyframes zoomOut { from { opacity: 0; transform: scale(0.86);} }
@keyframes riseUp { from { opacity: 0; transform: scale(0.86) translateY(50px);} }

/* Parallax Motion */
@include media($tablet, max) {
	.parallaxMotion:not(.responsive) .parallaxElement,
	.parallaxMotion .parallaxElement:not(.responsive) {
		transform: none !important;
	}
}
/* End Effects */
