/*
	@media only screen and (min-width:0px) and (max-width:767px) {
	}
	@media only screen and (min-width:768px) and (max-width:1223px) {
	}
	@media only screen  and (min-width : 1224px) {}
	}
*/

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0; padding: 0; outline: none;
}
body, html { width: 100%;  height: 100%;}
body, input, textarea {
  -webkit-font-smoothing: subpixel-antialiased!important;
  color: #000; font: 18px Calibri, Arial, Helvetica, sans-serif;
  font-style: normal; font-weight: normal;  line-height: 1.5;
  position: relative;
}


/* --------------------------- headings --------------------------- */
h1, h2, h3, h4, h5, h6 {color: #000; text-decoration: none; text-transform: uppercase; font-weight: 300; font-family: 'Open Sans', sans-serif;}
h1,.h1 {font-size: 64px;}
h2,.h2 {font-size: 50px; margin-bottom: 90px; text-align: center;}
h3,.h3 {font-size: 24px;}
h4,.h4 {font-size: 17px; margin-bottom: 30px; line-height: 1.32;}
h5,.h5 {font-size: 14px;}
h6,.h6 {font-size: 12px;}
	@media only screen and (min-width:0px) and (max-width:767px) {
	  h2,.h2 {font-size: 30px; margin-bottom: 40px;}
	  h3,.h3 {font-size: 22px;}
	}
a, input, select, textarea { outline: none !important;}
a:link, a:visited, a:active { color:#000; text-decoration: underline ; }
a:hover {color:#FF9A24; text-decoration: none  ;}

/* --------------------------- CLASS's  --------------------------- */
.text-center { text-align: center; }

.bg-black { background-color: #000; }
.bg-grey { background-color: #444649; }
.bg-darkgrey { background-color: #121212; }
.bg-black h2, .bg-grey h2, .bg-darkgrey h2 { color: #fff; }

.hidden { visibility: hidden; }
.accessibility,
.visuallyhidden{
    border:0!important;
    clip:rect(0 0 0 0)!important;
    height:1px!important;
    margin:-1px!important;
    overflow:hidden!important;
    padding:0!important;
    position: absolute!important;
    width:1px!important;
}
/* ---------------------------  --------------------------- */
.slide { width: 100%; }
.container { margin: 0 auto; padding: 6.0625em 0 6.25em; max-width: 1200px; }
	@media only screen and (min-width:0px) and (max-width:767px) {
		.container {padding: 4em 0 1em;}
	}
.container.fullarea {max-width: none;}
.container.w990 { max-width: 990px;}

.hidden_section {
  opacity: 0;
  -webkit-transform: translateY(30px);
  -moz-transform: translateY(30px);
  -ms-transform: translateY(30px);
  -o-transform: translateY(30px);
  transform: translateY(30px); }
  @media only screen and (min-width: 768px) {
    .hidden_section {
      -webkit-transform: translateY(120px);
      -moz-transform: translateY(120px);
      -ms-transform: translateY(120px);
      -o-transform: translateY(120px);
      transform: translateY(120px); } }
.is_ios7 .hidden_section,
.is_ios6 .hidden_section {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0); }

.lload-block {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  -moz-transition-property: opacity, -moz-transform;
  transition-property: opacity, transform;
  -webkit-transition-duration: 1000ms, 1000ms;
  -moz-transition-duration: 1000ms, 1000ms;
  transition-duration: 1000ms, 1000ms;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1), cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1), cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1), cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* --------------------------- HEADER --------------------------- */


/* --------------------------- top-carousel - IMG, VIDEO slide --------------------------- */
.slide#carousel{position: relative; height: 100%; }
.owl-carousel {z-index: auto !important;}
#pattern {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%; z-index: 2;
  pointer-events: none;
  background:url(
  data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHUlEQVQIW2NkYGAwZkADjIQEGxgYGECYgaBKuMkAbWkCBQIs0v4AAAAASUVORK5CYII=
) repeat;}
.owl-controls {position: absolute; top:50%; width: 100%;}
	@media only screen and (min-width:0px) and (max-width:767px) {
		.owl-controls {display:none;}
	}
.owl-nav {position: relative;}
.owl-prev, .owl-next {position: absolute; z-index: 50;}
.owl-prev:before, .owl-next:before { margin-top: -29px; font-family: "Ionicons"; font-size:50px; line-height:50px; color: #fff;  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
.owl-prev:before {content: "\f3d2";}
.owl-next:before {content: "\f3d3";}
#slogan {
  position: absolute; top:0; width: 100%; height: 100%; padding: 0 20%;
  display: flex; justify-content: center; align-items: center; flex-direction: column;
  color: #fff; text-align: center;
  font-size:32px; line-height: 1.4;
  pointer-events: none; z-index: 10;
}
	@media only screen and (min-width:0px) and (max-width:767px) {
		#slogan {display:none;}
	}
#slogan p { font-family: 'Lato', sans-serif; font-weight:300;  letter-spacing:1px;  padding-top: 40px;}
#slogan h1 { font-family: 'Lato', sans-serif;  font-size: 64px; color: white; font-weight: 400; text-transform: uppercase; letter-spacing: 6px; line-height: 1.2;}
#slogan hr { color: white; margin: 30px auto; background-color: white; height: 1px; width: 80px; border: 0;}
#slogan .bttn { font-weight: 300; font-size: 32px; margin: 50px auto; }
	@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
		#slogan p {font-size: 3.5vw; }
		#slogan h1 {font-size: 4vw; }
		#slogan .bttn {font-size: 3.5vw;}
	}

	@media only screen and (min-device-width: 768px) and (max-device-width: 1980px) and (orientation: landscape) {
		#slogan p {font-size: 1.8vw;  padding-top: 30px;}
		#slogan h1 {font-size: 3vw; }
		#slogan hr { margin: 20px auto;}
		#slogan .bttn {font-size: 1.8vw; margin: 50px auto;}
	}

#mouse {
  position: absolute; bottom: 80px; width: 100%; text-align: center;
  z-index: 10;
  animation: bounce 6s infinite;
  animation-name: bounce;
  animation-duration: 6s;
  animation-timing-function: initial;
  animation-delay: initial;
  animation-iteration-count: infinite;
  animation-direction: initial;
  animation-fill-mode: initial;
  animation-play-state: initial;
}
	@media only screen and (min-width:0px) and (max-width:768px) {
		#mouse { bottom: 20px;}
	}
	@media only screen and (min-width:769px) and (max-width:1980px) {
		#mouse { display: none}
		.container {
	    	padding: 6.0625em 0 6.0625em;
		}
	}

#mouse a {display: inline-block; width: 40px; height: 50px; background: url('../images/mouse.svg') 50% 50% no-repeat; background-size: cover; }



/* --------------------------- WWDO slide ----------------------------- */
.slide#wwdo {background-color: #242424;}
.slide#wwdo .container {background-color: #ebebeb}

.wwdo-block {display: flex; justify-content: center; flex-wrap: wrap; /* margin-left: -40px; */}
.wwdo-box {padding: 0 60px;; margin-bottom: 40px; text-align: center;}

	@media only screen and (min-width:0px) and (max-width:767px) {
		.wwdo-box {width: calc(100% / 1);}
	}
	@media only screen and (min-width:768px) and (max-width:1223px) {
		.wwdo-box {width: calc(100% / 2);}
	}
	@media only screen  and (min-width : 1224px) {
		.wwdo-box {width: calc(100% / 4);}
	}

.wwdo-box svg, .wwdo-box img {width: auto; height: 120px; }
.wwdo-box svg .st0 {fill: #777679}
.wwdo-box h3 {padding-bottom:40px}

/* --------------------------- PORTFOLIO slide ----------------------------- */
.slide#portfolio {overflow: hidden}
.slide#portfolio .container {padding-bottom:0 !important}
#portfolio-block {display: flex; justify-content: center; flex-wrap: wrap; }
.pfbox { line-height: 0; }

	@media only screen and (min-width:0px) and (max-width:767px) {
		.pfbox { width: calc(100% / 1);}
	}
	@media only screen and (min-width:768px) and (max-width:1223px) {
		.pfbox { width: calc(100% / 3);}
	}
	@media only screen  and (min-width : 1224px) {
		.pfbox { width: calc(100% / 5);}
	}

.pfbox a {position: relative; display: block; }
.pfbox img { width: 100%; height: auto; }
.pfbox-overlay {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0; line-height: normal; color:#fff; text-align: center;
  font-family: 'Lato', sans-serif;
  -webkit-transition-duration: 0ms, 300ms;
  -moz-transition-duration: 0ms, 300ms;
  transition-duration: 0ms, 300ms;
}
.pfbox:hover .pfbox-overlay {
  opacity: 1;
  -webkit-transition-duration: 300ms, 300ms;
  -moz-transition-duration: 300ms, 300ms;
  transition-duration: 300ms, 300ms;
}
.circle {
  position: absolute; margin-top: -15%; margin-left: -15%; top: 50%; left: 50%; width: 30%; height: 30%;
  display: flex; justify-content: center; align-items: center; font-size: 1.6vw;
  background-color: rgba(255, 154, 36, 1);
  border-radius: 50%; border: 0;
}
	@media only screen and (min-width:0px) and (max-width:767px) {
		.circle {font-size: 5vw;}
	}
	@media only screen and (min-width:768px) and (max-width:1223px) {
		.circle {font-size: 3vw;}
	}
	@media only screen  and (min-width : 1224px) {
		.circle {font-size: 1.6vw;}
	}
.pfname {position: absolute; left: 0; bottom: 10%; width: 100%; padding: 0 10px; }
/* --------------------------- PARTNERS slide ----------------------------- */
.slide#partners {}
.partners {display: flex; justify-content: space-between; flex-wrap: wrap; }
.partners div {margin-bottom: 40px; margin: 0 20px; /*max-width: 252px;*/ width: calc(100% / 6); }
	@media only screen and (min-width:0px) and (max-width:767px) {
		.partners div { width: calc(100% / 3);}
	}
	@media only screen and (min-width:768px) and (max-width:1223px) {
		.partners div { width: calc(100% / 4);}
	}
	@media only screen  and (min-width : 1224px) {
		.partners div { width: calc(100% / 6);}
	}
.partners div img {width: 100%; height: auto;}

/* --------------------------- STREAM slide ----------------------------- */
.slide#stream {background-color: #242424;}
.slide#stream .container {background-color: #ebebeb; display: flex; flex-wrap: wrap; padding:0}

.streamcamera-block {
		width: calc(100% / 2);
		height: auto;
		min-height: 400px;
	    background-image: url(../images/citycam.jpg?v=2);
		background-position: 50% 50%;
		background-repeat: no-repeat;
		background-size: cover;
	}
	@media only screen and (min-width:0px) and (max-width:1200px) {
		.streamcamera-block { width: 100%;}
	}

.stream-block {
		width: calc(100% / 2);
	    padding: 6.0625em 6em 6.25em;
	    font-size: 20px;
    	font-family: 'Open Sans', sans-serif;
	    font-weight: 300;
	}
	@media only screen and (min-width:0px) and (max-width:1200px) {
		.stream-block { 
			width: 100%;
		    padding: 4em 2em 4em;
		}
		.stream-block h2 {margin-bottom:40px}
	}
.stream-block a{
	    font-weight: 400;
	}
.stream-block h4 {padding:60px 0 20px; margin:0; font-size:26px; text-transform: none; font-weight: 400;}
.stream-block ul {
	display: block;
	margin: 10px 0;
	padding-left: 40px;
}

/* --------------------------- CONTACT US slide --------------------------- */
.slide#contactus {}
.slide#contactus h2 span, .slide#contactus p, .success-msg {display: block; font-size: 32px; font-family: 'Open Sans', sans-serif; font-weight: 300; text-transform: none;}

.slide#contactus h3 { font-size: 42px; font-weight: 400; text-transform: none;}

@media (max-width: 767px) {
  .slide#contactus h2 span, .slide#contactus p {font-size: 18px;}
  .slide#contactus h3 {font-size: 22px;}
}

/* FORM contact */
.form-list { display: flex; flex-wrap: wrap; justify-content: center;	padding: 0;	list-style:none;}
  /* form controls */
  .form-list__item { position:relative; margin-bottom: 30px; }
    @media only screen and (min-width:0px) and (max-width:320px) {
		.form-list__item { padding:0 3%;	width:100%; margin-bottom:30px; }
		.form-list__item.form-list--textarea,
		.form-list__item.form-list--button {	width:100%; text-align: center;	}
		.form-list--button .bttn { width:100%;  margin-top:20px; }
	}
	@media only screen and (min-width:321px) and (max-width:767px) {
		.form-list__item { padding:0 3%;	width:100%; margin-bottom:30px; }
		.form-list__item.form-list--button {	width:100%; text-align: center;	}
		.form-list--button .bttn { width:50%;  margin:20px auto; }
	}
    @media only screen and (min-width:768px) {
		.form-list__item { padding:0 1.5337423%;	width:50%; margin-bottom:60px; }
		.form-list__item.form-list--textarea,.form-list__item.form-list--button {	width:100%;	}
		.form-list__item.form-list--button {text-align: center; margin-bottom:0;}
	}
    @media only screen and (min-width:1400px) {
		.form-list__item{ padding: 0 2.8571429%; }
	}

  .form-text {
    position: relative;	display: block;	padding: 16px 0; width:100%;
    border: none;	border-radius: 0; border-bottom:2px solid #000;
    color: #000; font-weight: 300;  font-size:20px;

    -webkit-appearance: none; /* for box shadows to show on iOS */
    -webkit-transition:border-color 300ms ease;
    -moz-transition:border-color 300ms ease;
    -o-transition:border-color 300ms ease;
    transition:border-color 300ms ease;}
    @media only screen and (min-width:768px) {.form-text {font-size:26px;}  }

  .form-textarea {
    /* box-sizing: border-box; */
    resize:none;
    display:block; width:100%; padding: 16px 0; min-height: 65px;
    border: none; border-radius: 0; border-bottom:2px solid #000;
    color: #000; font-weight: 300; font-size:20px;

    overflow-x: hidden; /* for Firefox (issue #5) */
    -webkit-appearance: none; /* for box shadows to show on iOS */
    -webkit-transition:border-color 300ms ease;
    -moz-transition:border-color 300ms ease;
    -o-transition:border-color 300ms ease;
    transition:border-color 300ms ease;}
    @media only screen and (min-width:768px) { .form-textarea { font-size:26px;} }

  .input__label {
    display: block;	padding: 0;color: #000;font-weight: 300;font-size:em(20);pointer-events: none;
    position:absolute;	top:10px;

    -webkit-transition:-webkit-transform 100ms ease;
    -moz-transition:-moz-transform 300ms ease;
    -o-transition:-o-transform 300ms ease;
    transition:transform 200ms ease;

    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;}
    @media only screen and (min-width:768px) {.input__label { font-size:26px}	}

  /* form control actions, colors */
  .form-control:focus + .input__label, .active .input__label {
    -webkit-transform: translate3d(0, -40px, 0);
    -moz-transform: translate3d(0, -40px, 0);
    -o-transform: translate3d(0, -40px, 0);
    transform: translate3d(0,-40px, 0);}
  .form-control:focus, .active .form-control { border-color:#FF9A24; outline: none;	}
  .form-not-valid--msg { display: none; margin-top: -40px; margin-bottom: 60px; text-align: center; font-weight: 700; }
  .form-not-valid .form-control { border-color:#ff0000; }
  .validation_message { display: none; text-align: right; color:#ff0000; }
  .form-not-valid .validation_message { display: block; }

  .form-msg {display: none; padding: 1%; margin: 8px auto; text-align: center;font-weight: bold;}
  .error-msg {color: #ff0000;}
  .success-msg {margin: 8px auto;}

  .loading_dots {
    display: none;
    background-color: #fff;
    font-size: 1em; /* set size here */
    line-height: 1;
    padding: 0.125em 0.55em 0.175em 0.55em;
    width: 3.8em;
    margin: 8px auto;  }
    .loading_dots span {
      background: transparent;
      border-radius: 50%;
      box-shadow: inset 0 0 1px rgba(0,0,0,0.5);
      display: inline-block;
      height: 0.6em; width:  0.6em; margin: 0 2px;
      -webkit-animation:  loading_dots 0.8s linear infinite;
      -moz-animation:     loading_dots 0.8s linear infinite;
      -ms-animation:      loading_dots 0.8s linear infinite;
      animation:            loading_dots 0.8s linear infinite;  }
    .loading_dots span:nth-child(2)	{
      -webkit-animation-delay:  0.2s;
      -moz-animation-delay:     0.2s;
      -ms-animation-delay:      0.2s;
      animation-delay:            0.2s;  }
    .loading_dots span:nth-child(1)	{
      -webkit-animation-delay:  0.4s;
      -moz-animation-delay:     0.4s;
      -ms-animation-delay:      0.4s;
      animation-delay:            0.4s;  }
    @-webkit-keyframes loading_dots	{
      0% {background: transparent;}
      50% {background: #E4E4E4;}
      100% {background: transparent;}  }
    @-moz-keyframes loading_dots {
      0% {background: transparent;}
      50% {background: #E4E4E4;}
      100% {background: transparent;}  }
    @-ms-keyframes loading_dots	{
      0% {background: transparent;}
      50% {background: #E4E4E4;}
      100% {background: transparent;}  }
    @keyframes loading_dots	{
      0% {background: transparent;}
      50% {background: #E4E4E4;}
      100% {background: transparent;}	}




/* --------------------------- GMAP slide --------------------------- */
.slide#gmap { position: relative; padding: 0; background-color: #F0F0F0; z-index: 1 }
  .gmap-infowin { text-align: left;}
  .gmap-infowin { /*padding-left: 180px;*/ padding-top: 10px; height: 110px; /*background: url(../images/gmap-img.jpg) 0 6px no-repeat; */}
  .gmap-infowin strong { display: inline-block; padding: 10px 0; color: #242424; }
  .gmap-infowin a { color: #242424; text-decoration: underline; }
  .gm-style-iw + div > img { max-width: none; }
  #gmap #map-canvas { width:100%; height:600px;}

/* --------------------------- FOOTER slide (got a question?) --------------------------- */
.slide#footer { background-color: #ebebeb }
	@media only screen and (min-width:0px) and (max-width:767px) {.slide#footer { padding:0 3%; }	}
#call {margin-bottom: 20px;}
#call a {font-size: 38px; font-weight: 700; text-decoration: none;}
	@media only screen and (min-width:0px) and (max-width:500px) {#call a { font-size: 32px; } }
#soc {
  margin: 40px 0;
  justify-content: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.soc-icon { display: block; padding: 10px 10px; width: 120px; height: 46px; }
.soc-icon img, .soc-icon svg { width: 100px; height: 100%; }
.soc-icon svg .fil0 {fill: #000000 }
a.soc-icon:hover svg .fil0, a.soc-icon:active svg .fil0 {fill: #FF9A24 }

.slide#footer h4 { padding-top: 40px; color: #777679; }
.intro { max-width: 1200px; padding:0 5%; }
.intro p { padding-bottom: 12px; color: #777679; font-size: 14px; }
#keyword {display: flex; flex-wrap: wrap; justify-content: center;}
#keyword a {display: block; margin: 6px 10px; padding: 4px 10px; color: #777679; font-size: 12px; border: 1px solid #777679; text-decoration: none !important;}
#keyword a:hover,#keyword a:active {color: #fff; border: 1px solid #FF9A24; background: #FF9A24;}

/* --------------------------- BUTTONS --------------------------- */
.bttn {
	display: block; padding: 20px; margin:0 auto;
  position:relative;
  color: #000; font-weight: 300;
  font-size: 26px;
  text-align: center; text-transform: uppercase; font-family: sans-serif; line-height: 1; text-decoration: none !important;
  background:transparent;
	z-index:0; cursor: pointer; pointer-events: auto;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
  transition: all 0.2s; }

  .bttn--black {border: 2px solid #000;	color: #000; }
  .bttn--white {border: 2px solid #fff;	color: #fff !important; }

	.bttn:after {
		content:'';
		position: absolute;
		z-index: -1;
		-webkit-transition: all 0.1s;
		-moz-transition: all 0.1s;
		transition: all 0.1s;
		width: 0%;	height: 100%;
		top: 0;	left: 0;
		background: #FF9A24;	}
	.bttn:hover,.bttn:active {color: #fff; border: 2px solid #FF9A24;}
	.bttn:hover:after,.bttn:active:after {
		width: 100%;
		-webkit-transition: all 0.2s;
		-moz-transition: all 0.2s;
		transition: all 0.2s;	}

  @media only screen and (min-width: 550px) {
    .bttn{
      display:inline-block;
      min-width:220px; }}
  @media only screen and (min-width: 1400px) {
    .bttn{
      /*@include font-size(18);*/
      padding-top:24px;
      padding-bottom:24px;
      min-width:280px; }}
