.mobile-logo, .mobile-nav-trigger {
	position: fixed;
	display: inline-block;
}

.mobile-logo {
	top: 28px;
	left: 5%;
}
.mobile-logo img {
	display: block;
}

.mobile-nav-trigger {
	top: 0;
	right: 0;
	height: 64px;
	width: 72px;
	z-index: 1002;
	/* image replacement */
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	display: none;
}
.mobile-nav-trigger .mobile-icon {
	/* icon created in CSS */
	position: absolute;
	left: 50%;
	top: 50%;
	bottom: auto;
	right: auto;
	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	-o-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	display: inline-block;
	width: 21px;
	height: 4px;
	background-color: #ffffff;
	z-index: 1010;
}
.mobile-nav-trigger .mobile-icon::before, .mobile-nav-trigger .mobile-icon:after {
	/* upper and lower lines of the menu icon */
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	/* Force Hardware Acceleration in WebKit */
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-o-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	/* apply transition to transform property */
	-webkit-transition: -webkit-transform .3s;
	-moz-transition: -moz-transform .3s;
	transition: transform .3s;
}
.mobile-nav-trigger .mobile-icon::before {
	-webkit-transform: translateY(-7px) rotate(0deg);
	-moz-transform: translateY(-7px) rotate(0deg);
	-ms-transform: translateY(-7px) rotate(0deg);
	-o-transform: translateY(-7px) rotate(0deg);
	transform: translateY(-7px) rotate(0deg);
}
.mobile-nav-trigger .mobile-icon::after {
	-webkit-transform: translateY(7px) rotate(0deg);
	-moz-transform: translateY(7px) rotate(0deg);
	-ms-transform: translateY(7px) rotate(0deg);
	-o-transform: translateY(7px) rotate(0deg);
	transform: translateY(7px) rotate(0deg);
}
.mobile-nav-trigger::before, .mobile-nav-trigger::after {
	/* 2 rounded colored backgrounds for the menu icon */
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 50%;
	height: 100%;
	width: 100%;
	/* Force Hardware Acceleration in WebKit */
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-o-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition-property: -webkit-transform;
	-moz-transition-property: -moz-transform;
	transition-property: transform;
}
.mobile-nav-trigger::before {
	background-color: #fff;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
	-webkit-transition-duration: 0.3s;
	-moz-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-delay: 0.4s;
	-moz-transition-delay: 0.4s;
	transition-delay: 0.4s;
}
.mobile-nav-trigger::after {
	background-color: #fff;
	-webkit-transform: scale(0);
	-moz-transform: scale(0);
	-ms-transform: scale(0);
	-o-transform: scale(0);
	transform: scale(0);
	-webkit-transition-duration: 0s;
	-moz-transition-duration: 0s;
	transition-duration: 0s;
	-webkit-transition-delay: 0s;
	-moz-transition-delay: 0s;
	transition-delay: 0s;
}
.mobile-nav-trigger.close-nav::before {
	/* user clicks on the .mobile-nav-trigger element - 1st rounded background disappears */
	-webkit-transform: scale(0);
	-moz-transform: scale(0);
	-ms-transform: scale(0);
	-o-transform: scale(0);
	transform: scale(0);
}
.mobile-nav-trigger.close-nav::after {
	/* user clicks on the .mobile-nav-trigger element - 2nd rounded background appears */
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
	-webkit-transition-duration: 0.3s;
	-moz-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-delay: 0.4s;
	-moz-transition-delay: 0.4s;
	transition-delay: 0.4s;
}
.mobile-nav-trigger.close-nav .mobile-icon {
	/* user clicks on the .mobile-nav-trigger element - transform the icon */
	background-color: rgba(255, 255, 255, 1);
}
.mobile-nav-trigger.close-nav .mobile-icon::before, .mobile-nav-trigger.close-nav .mobile-icon::after {
	background-color: #323232;
}
.mobile-nav-trigger.close-nav .mobile-icon::before {
	-webkit-transform: translateY(0) rotate(45deg);
	-moz-transform: translateY(0) rotate(45deg);
	-ms-transform: translateY(0) rotate(45deg);
	-o-transform: translateY(0) rotate(45deg);
	transform: translateY(0) rotate(45deg);
}
.mobile-nav-trigger.close-nav .mobile-icon::after {
	-webkit-transform: translateY(0) rotate(-45deg);
	-moz-transform: translateY(0) rotate(-45deg);
	-ms-transform: translateY(0) rotate(-45deg);
	-o-transform: translateY(0) rotate(-45deg);
	transform: translateY(0) rotate(-45deg);
}

.mobile-primary-nav {
	/* by default it's hidden */
	position: fixed;
	right: 0;
	top: 0;
	height: 100%;
	/* width: 100%; */
	padding: 80px 5%;
	z-index: 1001;

	overflow: auto;
	/* this fixes the buggy scrolling on webkit browsers - mobile devices only - when overflow property is applied */
	-webkit-overflow-scrolling: touch;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: visibility 0s, opacity 0.3s;
	-moz-transition: visibility 0s, opacity 0.3s;
	transition: visibility 0s, opacity 0.3s;
}
.mobile-primary-nav li {
	margin: 0;
	text-align: left;
	text-transform: capitalize;
}
.mobile-primary-nav a {
	font-size: 60px;
	font-size: 5vh;
	font-family: "ProximaNovaExtrabold";
	color: #773397;
	text-transform: uppercase;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-transition: color 0.2s;
	-moz-transition: color 0.2s;
	transition: color 0.2s;
}
.mobile-primary-nav a:hover {
	text-decoration: none !important;
	font-weight: bold;
}
.mobile-primary-nav.fade-in {
	/* navigation visible at the end of the circle animation */
	visibility: visible;
	opacity: 1;
}
@media only screen and (min-width: 768px) {
	.mobile-primary-nav li {
		margin: 2em 0;
	}
	.mobile-primary-nav a {
		font-size: 28px;
		font-size: 1.75rem;
	}
}
@media only screen and (min-width: 1170px) {
	.mobile-primary-nav li {
		margin: 2.6em 0;
	}
	.mobile-primary-nav a {
		font-size: 32px;
		font-size: 2rem;
	}
}

.mobile-overlay-nav, .mobile-overlay-content {
	/* containers of the 2 main rounded backgrounds - these containers are used to position the rounded bgs behind the menu icon */
	position: fixed;
	top: 18px;
	right: 5%;
	height: 4px;
	width: 4px;
	-webkit-transform: translateX(-20px) translateY(20px);
	-moz-transform: translateX(-20px) translateY(20px);
	-ms-transform: translateX(-20px) translateY(20px);
	-o-transform: translateX(-20px) translateY(20px);
	transform: translateX(-20px) translateY(20px);
}
.mobile-overlay-nav span, .mobile-overlay-content span {
	display: inline-block;
	position: absolute;
	border-radius: 50%;
	/* Force Hardware Acceleration in WebKit */
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-o-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	will-change: transform;
	-webkit-transform-origin: 50% 50%;
	-moz-transform-origin: 50% 50%;
	-ms-transform-origin: 50% 50%;
	-o-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	-webkit-transform: scale(0);
	-moz-transform: scale(0);
	-ms-transform: scale(0);
	-o-transform: scale(0);
	transform: scale(0);
}
.mobile-overlay-nav.is-hidden, .mobile-overlay-content.is-hidden {
	/* background fades out at the end of the animation */
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity .3s 0s, visibility 0s .3s;
	-moz-transition: opacity .3s 0s, visibility 0s .3s;
	transition: opacity .3s 0s, visibility 0s .3s;
}

.mobile-overlay-nav {
	/* main rounded colored bg 1 */
	z-index: 999;
}
.mobile-overlay-nav span {
	background-color: #fff;
}

.mobile-overlay-content {
	/* main rounded colored bg 2 */
	z-index: 1000;
}
.mobile-overlay-content span {
	background-color: #323232;
}

.mobile-content {
	/* just some dummy content */
}
.mobile__logo {
	position: absolute;
	top: 23px;
	left: 20px;
	height: 3.1vh;
	display: none;
}
.mobile__logo svg {
	height: 23px;
	height: 3.1vh;
}

.mobile-text__footer {
	display: none;
	position: fixed;
	bottom: 50px;
	bottom: 6.8vh;
	left: 21px;
	text-transform: uppercase;
	color: #fff;
	font-size: 10px;
	line-height: 11px;
}
.visible_on_tablet_down {
	display: none;
}
@media only screen and (max-width: 768px) {
	.visible_on_tablet_down,
	.mobile__logo,
	.mobile-nav-trigger,
	.mobile-text__footer
	{
		display: block;
	}
	.visible_ib_on_tablet_down {
		display: inline-block;
	}
	.hide_on_tablet_down {
		display: none;
	}
	.mobile-content {
		height: 100%;
	}
	.tags-cloud {
	}
	.tags-cloud .tags-row{
		height: 36px;
	}
	.tags-cloud .tags-row a,
	.tags-cloud .tags-row .tags__tag__separator {
		font-size: 36px;
		font-size: 5vh;
		line-height: 36px;
	}

	#videoProduction,
	#caseInfo,
	#whoWeAre,
	#contacts {
		bottom: 77px !important;
		bottom: 4.4vh !important;
		left: 10px;
		left: 2.1vw;
		right: 10px;
		right: 2.1vw;

	}
	#whoWeAre .title, 
	#contacts .title 
	{
		margin-top: 10px;
		margin-bottom: 10px;
	}
	.tags {
		margin-bottom: 22px;
		margin-bottom: 3vh;
	}
	.tags__tag,
	.tags .tags__tag__separator {
		font-size: 38px;
		font-size: 5vh;
		line-height: 38px;
		line-height: 5vh;
	}

	.tags .tags__tag__separator {
		top: -2px;
	}
	h2 {
		font-size: 10px;
		font-size: 2vh;
		margin-bottom: 2vh;
	}
	.controls__items {
		position: relative;
		top: -3px;
		font-size: 10px;
		font-size: 2vh;
	}
	.social_controls {
		margin-top: 0 !important;
	}
	.cases {

	}
	.cases__case {
		position: relative;
		font-size: 2vh;
		z-index: 999;
	}
	.cases__case a{
		font-size: 12px;
		font-size: 2vh;
		line-height: 10px;
		line-height: 3.1vw;
	}
	.action__button {
		position: relative;
		z-index: 999;
	}
}
@media only screen and (max-width: 640px) {
	
	.cases__case {
		position: relative;
		z-index: 999;
		margin: 2px 0;
	}
	.cases__case a {
		font-size: 1.8vh;
		line-height: 1.9vh;
	}
}
@media (orientation: landscape) and (max-width: 980px) {
	.hide_on_landscape {
		display: none;
	}
}