/* - - - Fonts - - - */
/*
.ffd {font-family:Arial, Helvetica, sans-serif;}
.ffdl {font-family:Arial, Helvetica, sans-serif;}
*/

@font-face {font-family:"def"; src:url("/media/fonts/def_font.ttf") format("opentype");}
@font-face {font-family:"def_l"; src:url("/media/fonts/def_font_light.ttf") format("opentype");}

.ffd {font-family:"def", Arial, Helvetica, sans-serif;}
.ffdl {font-family:"def_l", Arial, Helvetica, sans-serif;}


::-moz-selection, ::selection {color:#fff; background:#aa1f11;}

/* - - - Classes - - - */
.zoomContainer{z-index:9999;}
.none {display:none !important;}
.noselect {-webkit-tap-highlight-color:rgba(0,0,0,0) !important; -webkit-focus-ring-color:rgba(0,0,0,0) !important; outline:none !important; -webkit-tap-highlight-color:transparent; /*user-select:none;*/ -moz-user-select:none; -o-user-select:none; -khtml-user-select:none; -webkit-user-select:none; -ms-user-select:none;}
.select {-webkit-tap-highlight-color:rgba(255,0,0,1); /*user-select:text;*/ -moz-user-select:text; -o-user-select:text; -khtml-user-select:text; -webkit-user-select:text; -ms-user-select:text;}
.selectall {-webkit-tap-highlight-color:rgba(0,0,0,1); /*user-select:all;*/ -moz-user-select:all; -o-user-select:all; -khtml-user-select:all; -webkit-user-select:text; -ms-user-select:element;}
.ghost {pointer-events:none;}
.border_box {-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}
.flex {display:-webkit-box; display:-moz-box; /*display:-ms-flexbox;*/ display:-webkit-flex; display:flex; flex-flow:row wrap; justify-content:space-around;}
.anim0_25 {transition:0.25s;}
.anim0_5 {transition:0.5s;}
.anim1 {transition:1s;}
.anim1_5 {transition:1.5s;}
.anim2 {transition:2s;}
.anim3 {transition:3s;}
.anim5 {transition:5s;}
.clear {clear:both;}
.fl_l {float:left;}
.fl_r {float:right;}
.center {margin:0 auto !important;}
.skew {	-webkit-transform:skewX(-15deg); -moz-transform:skewX(-15deg); -o-transform:skewX(-15deg);}
.skew_none {-webkit-transform:skewX(15deg); -moz-transform:skewX(15deg); -o-transform:skewX(15deg);}
.shadow {box-shadow:0 0 7px rgba(0,0,0,1);}
.shadow_close {box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1);}
.shadow_far {box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.2);}
.blink {animation:blinker 1.5s linear infinite;}
@keyframes blinker {50% { opacity: 0.2;}}

.u_scroll,
.u_scroll * {
  pointer-events: none !important;
}

/* - - - Default - - - */
body {
	margin:0;
	padding:0;
	overflow-x:hidden;
	overflow-y:scroll;
	background-color:#f6f6f6;
	font-size:1em;
}
body.no_scroll {overflow:hidden;}

html, body {width:100%; min-height:100vh;}

*, *::before, *::after {box-sizing:border-box;}
*:focus {outline:none;}
select::-ms-expand {display:none;}
body, a, input, button {color:#292929;}
a, a:visited {text-decoration:none;}
a:active {outline:none;}
a[href^="tel:"], a[href^="mailto:"] {transition:0.3s;}
a[href^="tel:"]:hover, a[href^="mailto:"]:hover {color:#e2001a !important;}
/* Fix for call buttons - keep white text on red background */
.call[href^="tel:"]:hover, .btn.call[href^="tel:"]:hover {color:#fff !important;}

/* Animated light sweep effect for call buttons */
.call[href^="tel:"], .btn.call[href^="tel:"] {
	position: relative;
	overflow: hidden;
}

.call[href^="tel:"]::before, .btn.call[href^="tel:"]::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
	transition: left 0.6s ease;
	z-index: 1;
}

.call[href^="tel:"]:hover::before, .btn.call[href^="tel:"]:hover::before {
	left: 100%;
}

.call[href^="tel:"] > *, .btn.call[href^="tel:"] > * {
	position: relative;
	z-index: 2;
}
#top_contacts > a[href^="tel:"]:hover, #top_contacts > a[href^="mailto:"]:hover {color:#efefef; transition:0.5s;}
select, button {cursor:pointer;}
select {-webkit-appearance:none; appearance:none;}
sub, sup {font-size:.6em;}

h1, h2 {text-transform:uppercase; font-weight:inherit;}
h3, h4, h5, h6 {margin:0; font-size:inherit; font-weight:inherit;}

img.rsz {cursor:pointer;}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {-webkit-appearance:none; margin:0;}
input[type="number"]{-moz-appearance:textfield;}

/* - - - Loading - - - */
.loading {
	width:7rem;
	height:7rem;
	position:absolute;/*fixed*/
	top:50%;
	left:50%;
	transform:rotate(0deg) translate(-50%, -50%);
	z-index:21;
	border:.7rem solid #bf4040;
	border-radius:50%;
	border-bottom-color:transparent;
	/*border-bottom-color:transparent;*/
	animation:rotate 1s linear infinite;
	-webkit-transform:translateZ(0);
}

/* - - - To_top - - - */
#to_top {
	width:50px;
	height:50px;
	position:fixed;
	z-index:11;
	right:10px;
	bottom:10px;
	-webkit-transform:translateZ(0);
	-webkit-backface-visibility:hidden;
	background:transparent url('/media/images/site/to_top.svg') repeat 0 0 / 100% auto;
	transition:0.2s;
	cursor:pointer;
}
#to_top:hover {background-position:0 -50px;}

/* - - - Overlay - - - */
#overlay {
	width:100%;
	height:100%;
	display:none;
	overflow:hidden;
	position:fixed;
	z-index:100;
	top:0;
	left:0;
	transition:0.3s;
}
#overlay.active {display:block;}

#overlay > .close {
	width:50px;
	height:50px;
	position:absolute;
	cursor:pointer;
	background-color:transparent;
	background-image:url('/media/images/site/nav2.svg');
	background-repeat:repeat;
	background-size:200%;
	transition:0.2s;
	top:0;
	right:0;
	z-index:3;
	background-position:0 50px;
	transform:scale(1);
}
#overlay .close:hover {background-position:-50px 50px;}
#overlay.active .close {animation:in_quaker 1s;}

#overlay .bg {width:100%; height:100%; background-color:rgba(0,0,0,0.5); cursor:zoom-out; position:relative; z-index:1;}

#overlay .content {width:90vw; height:90vh; overflow-y:auto; background-color:#fff; position:absolute; z-index:2; left:0; right:0; top:0; bottom:0; margin:auto; padding:3vw; box-sizing:border-box; transform:scale(1); box-shadow:0 10px 10px 1px rgba(0,0,0,0.2); text-align:center; border:1px solid #ccc;}
#overlay .content:after {width:100%; height:3vw; content:""; display:block;}
#overlay.active .content {animation:in_quaker .75s;}

#hidden {display:none; visibility:hidden; overflow:hidden; position:absolute; width:0; height:0;}

/* - - - Main - - - */
#main {width:100%; min-height:100%; position:relative;}

#footer {width:100%; position:relative;/*absolute*/ right:0; bottom:0; left:0;}

#stts_bar {width:100%; height:2rem; color:#fff; background:#0004; position:fixed; bottom:-2.2rem; z-index:10; -webkit-transform:translateZ(0); -webkit-backface-visibility:hidden; transition:bottom .3s;}
#stts_bar.act {bottom:0;}
#stts_bar > .mcr_ln {width:100%; height:.2rem; background:#b1ff84; position:relative; z-index:2; transition:.025s;}
#stts_bar > .ln {width:0%; height:1.8rem; background:#67e12199; position:absolute; left:0; top:.2rem; z-index:1; transition:1s; background-image:url('/media/images/site/pattern.png'); background-size:.75rem 5rem; background-position:0vw center; animation:bg_run 30s linear infinite;}
#stts_bar > .txt {width:fit-content; line-height:1.8rem; margin:0 auto; position:relative; z-index:2;}
#stts_bar > .txt > * {width:20vw; display:inline-block; text-align:center;}

/*______________________________________________________________ @KEYFRAMES ______________________________________________________________*/	

@keyframes bg_run{
	0%{background-position:0vw center;}
	100%{background-position:100vw center;}
}

@keyframes shake{
  0%{transform: rotate(0deg)}
  10%{transform: rotate(5deg)}
  20%{transform: rotate(-5deg)}
  30%{transform: rotate(4deg)}
  40%{transform: rotate(-3deg)}
  50%{transform: rotate(3deg)}
  60%{transform: rotate(-2deg)}
  70%{transform: rotate(1deg)}
  80%{transform: rotate(-1deg)}
  90%{transform: rotate(1deg)}
  100%{transform: rotate(0deg)}
}

@keyframes wiggle {
	0% {transform:rotate(5deg);}
	0.5% {transform:rotate(-4deg);}
	1% {transform:rotate(3deg);}
	1.5% {transform:rotate(-2deg);}
	2% {transform:rotate(1deg);}
	2.5%, 100% {transform:rotate(0deg);}
}
.wiggle {animation:wiggle 20s infinite ease-in-out 20s;}

@keyframes in_quaker {
	0% {transform:scale(0);}
	70% {transform:scale(1.03);}
	80% {transform:scale(1.01);}
	90% {transform:scale(1.02);}
	100% {transform:scale(1);}
}

@keyframes rotate {
	0% {transform:translate(-50%, -50%) rotateZ(0deg);}
	100% {transform:translate(-50%, -50%) rotateZ(360deg);}
}

@keyframes glow {  
    0% { opacity:1.0; }
    50% { opacity:.7; }
    100% { opacity:1.0; }
}

@keyframes blink {  
    0% { opacity:1.0; }
    50% { opacity:0.0; }
    100% { opacity:1.0; }
}