/* ------------------------------ */
/* SHAMET                         */
/* FRAMEWORK                      */
/* Ver. 1.0                       */
/* ------------------------------ */
/* Shamet Designer                */
/* www.shamet.it                  */
/* ------------------------------ */

.shamet-designer {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: rgba(0,0,0,0.75);
	color: rgba(255,255,255,0.5);
	padding: 8px 30px 8px 30px;
	font-size: 13px;
	
	border-top-left-radius: 2rem;
    border-bottom-left-radius: 0rem;
	border-top-right-radius: 2rem;
    border-bottom-right-radius: 0rem;
}
.shamet-designer:hover, .shamet-designer:focus {
	padding: 16px 30px 16px 30px;
    background-color: rgba(0,0,0,0.75);
	color: rgba(255,255,255,1);
}

/* ------------------------------ */
/* BACKGROUND                     */
/* ------------------------------ */

.bg-cover {
	background-repeat:no-repeat !important;
	background-position:center center !important;
	-webkit-background-size: cover !important;
	-moz-background-size: cover !important;
	-o-background-size: cover !important;
	background-size: cover !important;
}

.bg-contain {
	background-repeat:no-repeat !important;
	background-position:center center !important;
	-webkit-background-size: contain !important;
	-moz-background-size: contain !important;
	-o-background-size: contain !important;
	background-size: contain !important;
}

.bg-100 {
	background-repeat:no-repeat !important;
	background-position:center center !important;
	-webkit-background-size: 100% 100% !important;
	-moz-background-size: 100% 100% !important;
	-o-background-size: 100% 100% !important;
	background-size: 100% 100% !important;
}

/* ------------------------------ */
/* OBJECT / ASPECT RATIO          */
/* ------------------------------ */

/* Aspect-ratio */
.aspect {
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
	margin: 0;
}

.ratio--1x1 	{padding-bottom: 100%;}
.ratio--1x2 	{padding-bottom: 50%;}
.ratio--16x9 	{padding-bottom: 56.25%;}
.ratio--4x3 	{padding-bottom: 75%;}
.ratio--3x2 	{padding-bottom: 66.66%;}
.ratio--8x5 	{padding-bottom: 62.5%;}
.ratio--1x1-30 	{padding-bottom: calc(100% + 30px);}

.aspect__inner {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	text-align: center;
	overflow: hidden;
}

.aspect__inner img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover; 	/*Obsoleto*/
	object-fit: cover;		/*Obsoleto*/
}

/* Object Fit */
.aspect__inner img.obj-cover {
	-o-object-fit: cover;
	object-fit: cover;
}
.aspect__inner img.obj-contain {
	-o-object-fit: contain;
	object-fit: contain;
}
.aspect__inner img.obj-fill {
	-o-object-fit: fill;
	object-fit: fill;
}
.aspect__inner img.obj-scale-down {
	-o-object-fit: scale-down;
	object-fit: scale-down;
}
.aspect__inner img.obj-none {
	-o-object-fit: none;
	object-fit: none;
}

/* Object Position */
.aspect__inner img.obj-pos-tl {
	-o-object-position: top left;
	object-position: top left;
}
.aspect__inner img.obj-pos-tc {
	-o-object-position: top center;
	object-position: top center;
}
.aspect__inner img.obj-pos-tr {
	-o-object-position: top right;
	object-position: top right;
}
.aspect__inner img.obj-pos-cl {
	-o-object-position: center left;
	object-position: center left;
}
.aspect__inner img.obj-pos-cc {
	-o-object-position: center center;
	object-position: center center;
}
.aspect__inner img.obj-pos-cr {
	-o-object-position: center right;
	object-position: center right;
}
.aspect__inner img.obj-pos-bl {
	-o-object-position: bottom left;
	object-position: bottom left;
}
.aspect__inner img.obj-pos-bc {
	-o-object-position: bottom center;
	object-position: bottom center;
}
.aspect__inner img.obj-pos-br {
	-o-object-position: bottom right;
	object-position: bottom right;
}

/* ------------------------------ */
/* OVERLAY                        */
/* ------------------------------ */

.overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}

.overlay-intro::before {
    position: absolute;
    display: block;
    content: '';
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    z-index: 0;
}

/* ------------------------------ */
/* UTILITY                        */
/* ------------------------------ */

/* Opacity */
.opa-00 {opacity: 0.0;}
.opa-01 {opacity: 0.1;}
.opa-02 {opacity: 0.2;}
.opa-03 {opacity: 0.3;}
.opa-04 {opacity: 0.4;}
.opa-05 {opacity: 0.5;}
.opa-06 {opacity: 0.6;}
.opa-07 {opacity: 0.7;}
.opa-08 {opacity: 0.8;}
.opa-09 {opacity: 0.9;}
.opa-10 {opacity: 1.0;}

/* Transition */
.trans-015s-eio {
	-webkit-transition: all 0.15s ease-in-out;
	-moz-transition: all 0.15s ease-in-out;
	-o-transition: all 0.15s ease-in-out;
	transition: all 0.15s ease-in-out;
}

/* ------------------------------ */
/* FILTERS                        */
/* ------------------------------ */
.filter-greyscale {
	-webkit-filter: grayscale(50%);
    		filter: grayscale(50%);
}
/* ------------------------------ */
/* BOOTSTRAP 4 MOD                */
/* ------------------------------ */

/* Responsive Font Sizes (RFS) */
@media (max-width: 1200px) {
  h1, .h1 {
    font-size: calc(1.375rem + 1.5vw) ;
  }
  h2, .h2 {
    font-size: calc(1.325rem + 0.9vw) ;
  }
  h3, .h3 {
    font-size: calc(1.3rem + 0.6vw) ;
  }
  h4, .h4 {
    font-size: calc(1.275rem + 0.3vw) ;
  }
  .display-1 {
    font-size: calc(1.725rem + 5.7vw) ;
  }
  .display-2 {
    font-size: calc(1.675rem + 5.1vw) ;
  }
  .display-3 {
    font-size: calc(1.575rem + 3.9vw) ;
  }
  .display-4 {
    font-size: calc(1.475rem + 2.7vw) ;
  }
}

@media (max-width: 767px) {
	.icon-label {
		font-size: 1rem;
	}
}

/* ------------------------------ */
/* LOADER PLUGIN                  */
/* ------------------------------ */

.loader-wrap {
	position: fixed;
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: #131d26;
	z-index: 9999;
	
	/*background-image: url(../img/VOX-Defender-logo-1.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 32px;*/
	
}
.loader {
	border: 1px solid rgba(0,0,0,.25);
	border-top: 1px solid rgba(255,255,255,0.25);
	border-bottom: 1px solid rgba(255,255,255,0.25);
	border-radius: 50%;
	height: 120px;
	width: 120px;
	margin: 0 auto;
	
	-webkit-animation: loader-spin 1s ease-in-out infinite alternate;
	-moz-animation: loader-spin 1s ease-in-out infinite alternate;
	-ms-animation: loader-spin 1s ease-in-out infinite alternate;
	-o-animation: loader-spin 1s ease-in-out infinite alternate;
	animation: loader-spin 1s ease-in-out infinite;
	
}
@-webkit-keyframes loader-spin {
   from {
	border-top: 1px solid rgba(255,255,255,0.25);
	border-bottom: 1px solid rgba(255,255,255,0.25);
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    border-top: 5px solid rgba(255,255,255,0.75);
	border-bottom: 5px solid rgba(255,255,255,0.75);
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes loader-spin {
  from {
	border-top: 2px solid rgba(255,255,255,0.25);
	border-bottom: 2px solid rgba(255,255,255,0.25);
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    border-top: 2px solid rgba(255,255,255,0.75);
	border-bottom: 2px solid rgba(255,255,255,0.75);
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.divCenter {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
			transform: translateY(-50%) translateX(-50%);
}

/* ------------------------------ */
/* HAMBURGERS PLUGIN              */
/* ------------------------------ */

.hamburger {
	padding: 0;
	float:left;
	clear:both;
	outline:none;
	display: inline-block;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	opacity: 0.75;
	overflow: visible; 
}
.hamburger:hover {
	opacity: 1;
}

.hamburger-box {
	width: 24px;
	height: 30px;
	margin-top:0px;
	display: block;
	position: relative; 
}

.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -1px; 
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 24px;
	height: 2px;
	background-color: #fff;
	border-radius: 4px;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease; 
}
.hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block; 
}
.hamburger-inner::before {
	top: -8px; 
}
.hamburger-inner::after {
	bottom: -8px; 
}

/* Spin */
.hamburger--spin .hamburger-inner {
	transition-duration: 0.22s;
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 
}
.hamburger--spin .hamburger-inner::before {
	transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; 
}
.hamburger--spin .hamburger-inner::after {
	transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); 
}

.hamburger--spin.is-active .hamburger-inner {
	transform: rotate(225deg);
	transition-delay: 0.12s;
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 
}
.hamburger--spin.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
	transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; 
}
.hamburger--spin.is-active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); 
}

/* ------------------------------ */
/* UNIVERSAL PARALLAX PLUGIN      */
/* ------------------------------ */

.parallax__container {
	clip: rect(0, auto, auto, 0);
	height: 100%;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -100;
}
.parallax__container .parallax {
	/* can be put in a seperate class for better control */
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	/* --------------------------- */
	position: fixed;
	top: 0;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	width: 100%;
}
