

@font-face {
    font-family: 'neotericbold';
    src: url('fonts/neoteric.woff2') format('woff2'),
         url('fonts/neoteric.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}



html {
  height: 100%;
  box-sizing: border-box;
  background: #f7f5f2;
}

* { 
	box-sizing:border-box;	
}

img:not([src]) {
  visibility: hidden;
}

/* Fixes Firefox anomaly during image load */
@-moz-document url-prefix() {
	img:-moz-loading {
		visibility: hidden;
	}
}

a {  
  
}

a:hover { 
    
}

img { 
	max-width: 100%;
}


body  {
	  color: #FFF;
    background: #040108;
    font-size: 13px;
       font-family: 'Maven Pro', sans-serif;
    font-weight: 400;
    line-height: 1.5em;
    margin: 0 auto;
    /*max-width: 2440px;*/
    min-width: 980px;
    text-align: left;
    position: relative;
    min-height: 100%;
    overflow-x: hidden;
    text-align: center;
	letter-spacing: 1px;
}
	
::selection { 
	 background: #c07b64; 
}	

.inner { 
  max-width: 1500px;   
  padding:0 50px;
  margin:0 auto;
}

.gold-but { 
background:#c07b64;
 background: linear-gradient(90deg, #d09381 0%, #c07b64 100%);

  color:#FFF;
  text-decoration: none;
  padding:14px 25px;
 text-transform: uppercase;
	font-weight: 500;
	color:#FFF;
	letter-spacing: 6px;
 	font-size: 12px;
	
}


.gold-but:hover  {
		   
    color: #c07b64;
    background: #FFF;
	
}

a.border-but { 
  border: 2px solid;
	border-image-slice: 1;
    border-width: 2px;
    border-image-source:  linear-gradient(90deg, #d09381 0%, #c07b64 100%);
    background: none;

  color:#FFF;
  text-decoration: none;
  padding:14px 25px;
 text-transform: uppercase;
	font-weight: 500;
	color:#FFF;
	letter-spacing: 6px;
 	font-size: 12px;
	
}


a.border-but:hover  {
		   
   background:  #c07b64;
	border:2px solid #c07b64;
	
	
}

a.white-but { 
background:#FFF;
 color: #c07b64;
 display: inline-block;
  text-decoration: none;
  padding:14px 25px;
 text-transform: uppercase;
	font-weight: 500;
	
	letter-spacing: 6px;
 	font-size: 12px;
	
}


a.white-but:hover  {
		  background: #d09381; 
   
    color: #FFF;
	
}


header { 
	position: fixed;
	background: #1e182c;
	height: 100vh;
	padding:40px;
	display: flex;
	flex-direction: column;
	width:370px;
}


nav.main-nav {
		display:flex;
	flex-direction: column;
	justify-content: flex-start;
	text-align: left;
	margin:30px 0;
}

nav.main-nav a  {
	text-transform: uppercase;
	font-weight: 500;
	color:#FFF;
	letter-spacing: 6px;
	font-size: 12px;
	margin-bottom: 5px;
	cursor: pointer;
	text-decoration: none;
	
	
}

nav.main-nav a:hover, nav.main-nav a.active  {
	
	color: #c07b64;

	
}

.logo-cont {
	display: flex;
	    flex-direction: row;
    align-items: center;
}

.logo { 
	max-width: 90px;
}


.social-links a  {
		    color: #FFF;
    font-size: 16px;
    background:none;
	
	width:35px;
	height: 35px;
	    border: 2px solid;
	border-image-slice: 1;
    border-width: 2px;
    border-image-source:  linear-gradient(90deg, #d09381 0%, #c07b64 100%);
    background: none;
	
}

.social-links a:hover  {
	background:  #c07b64;
	border:2px solid #c07b64;
	
}

.smooth-goto { 
	cursor: pointer;
}
	

.social-links {
    flex-wrap: wrap;
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: flex-start;
	padding:0;
	margin:30px 0 30px 0;
}

.social-links a i { 
	padding-top: 6px;
}

.social-links a:not(:first-child) { 
	
	margin-left: 10px;	
}

.logos { 
display: flex;
    flex-direction: row;
    align-items: center;
    align-self: flex-start;
}

.logos img { 
	max-width: 50px;
	max-height: 30px;
}

.logos a:last-child { 
	margin-left: 20px;
	display: inline-block
}

.container {
	display: flex;
	flex-direction:row;
	
}

.video-cont { 
	max-height: 900px;
	overflow: hidden;
	width: 100%;
	position: relative;
}

.video-hero { 
	    display: block;
    margin-left: -1px;
	
  
}



.main { 
	margin-left: 370px;
    display: flex;
    flex-direction: column;
    width: calc(100% - 370px);
	
}

.hero-info .logo-big { 
	max-width: 320px;
}

.hero-info { 
	position: absolute;
	z-index: 9;
	width: 100%;
    text-align: center;
	top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	padding:0 50px;
}

h1 { 
	 font-family: 'neotericbold';
	letter-spacing:5px;
	text-transform: uppercase;
	max-width: 800px;
	margin:50px auto;
	font-size: 25px;
	line-height: 35px;
}




.modal-dialog {
      max-width: 800px;
      margin: 30px auto;
  }



.modal-body {
  position:relative;
  padding:0px;
}
.close {
  position:absolute;
  right:-30px;
  top:0;
  z-index:999;
  font-size:2rem;
  font-weight: normal;
  color:#fff;
  opacity:1;
}

.play-but { 
	max-width: 80px;
		transform: scale(1);
	animation: pulse 2s infinite;
	border-radius: 50%;
}

@keyframes pulse {
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(189,143,104,0.5);
	}

	70% {
		transform: scale(1);
		box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
	}

	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	}

}

.inner { 
	max-width: 1000px;
}

.review-bar  { 
	background:#040108;
	border-top:2px solid #d09381;
	border-bottom: 2px solid #d09381;
}

.review-bar img  {
		max-width: 100px;
	
}

.review-bar .inner { 
	display: flex;
	flex-direction:row;
	align-content: center;
	justify-content: center;
	align-items: center;
	padding:50px;
}

.review-bar span { 
 font-family: 'neotericbold';
	letter-spacing:5px;
	text-transform: uppercase;
	line-height: 20px;
	font-size: 18px;
	padding:0 30px;
}

.text-cols { 
	column-count: 2;
    margin-top: 0px;
    margin: 0px auto;
    column-gap: 60px;
	
    text-align: justify;
}

.text-cols p  {
		margin-top: 0;
	
}

.main-cont { 
	padding:100px 0;
}

.main-cont h1 {
	margin-top:0;
	margin-bottom: 20px;
}

.main-cont h2 {
	font-weight: normal;
	margin-bottom: 50px;
}

.image-band img { 
	display: block;
}


.main-cont.services img { 
	max-width: 45px;
}

.main-cont.reviews img { 
	max-width: 100px;
}

.icon-split { 
	display: flex;
	flex-direction: row;
	margin-top:100px;
}

.inner.wider { 
	max-width: 1200px;
}

.icon-area { 
	width:45%;
}

.icon-area:first-child { 
	margin-right: 10%;
}

.cta-bar { 
background: linear-gradient(
90deg
, #d09381 0%, #c07b64 100%);
}




      .swiper-slide {
        text-align: center;
        font-size: 18px;
        background: #fff;

        /* Center slide text vertically */
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
      }

      .swiper-slide img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

.swiper-button-next, .swiper-button-prev { 
	color:#FFF !important;
	background:#c07b64;
	padding:20px;
}    


.swiper-button-next, .swiper-container-rtl .swiper-button-prev { 
	right:50px !important;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next { 
	left:50px !important;
}
.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after, .swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
  
    font-size: 18px !important;
}

      .swiper-container {
      
		 
    margin-top: 100px;
		
		  
}

.swiper-slide {
		position: relative;
	
}

.swiper-slide .js-video-button, .swiper-slide .js-video-button-2, .swiper-slide .js-video-button-3, .swiper-slide .js-video-button-4, .js-video-button-5   { 
	position: absolute;
}

.js-video-button, .js-video-button-2, .js-video-butto-3, .js-video-button-4,  .js-video-button-5{
		cursor: pointer;
	
}

.nopadbot { 
	padding-bottom: 0;
}

.pics {
	width: 100%;
    overflow: hidden;
	position: relative;
	
}

.centered { 
	text-align: center;
}

.about-text h2:not(:first-child) {
	margin-top:50px;
	
}

.listen { 
	background:url("img/vst-listen.jpg") top center;
	background-size: cover;
}

.listen a { 
	margin-top:10px;
	display: inline-block;
}

.cta-bar p { 
	margin-bottom: 20px;
}

.footer .inner { 
	display: flex;
	flex-direction: column;
	
	justify-content: center;
	align-items:center;

}

.footer { 
	padding:50px 0;
	font-size: 12px;
}

.footer img { 
	max-width: 40px;
	max-height: 41px;
	margin-bottom: 20px;
}

.footer a { 
	display: inline-flex;
	color:#ff0075;
	font-weight: 500;
}


.modal-close { 
	    position: absolute;
     transition: all .3s ease-in-out;
background: #1e182c;
    top: 0;
	cursor: pointer;
	color:#FFF;
	font-size: 40px;
    right: 0;
	border-radius: 0 0 0 10px;
    padding: 10px 12px;
	padding-top: 5px;
    padding-bottom: 15px;
}
.modal-close:hover { 
	opacity: .75;
}

.modal  {
	background:#040108;
	visibility: hidden;
	position: fixed;

	width:100%;
	max-width: 1000px;
	margin-left:0px !important;
	left:0 !important;
	right:0 !important;
	padding:50px;
	text-align: justify;	
	margin-left:auto !important;
	margin-right: auto;
	 transform: translateY(-50%);
	overflow-y: auto;
	max-height: 1000px !important;
	  margin-top:-999em;
	 top: 50% !important;
}

.modal h3 { 
	 font-family: 'neotericbold';
	letter-spacing:5px;
	text-transform: uppercase;
	max-width: 800px;
	margin:0px auto 20px 0;
	font-size: 25px;
	line-height: 35px;
}

.modal p { 
	color: #415670;
    text-align: justify;
}

#lean_overlay {
    position: fixed;
    z-index:100;
    top: 0px;
    left: 0px;
    height:100%;
    width:100%;
    background: #040108;
	opacity: .8;
    display: none;
}


.form-row input[type="text"], .form-row input[type="email"], .form-row input[type="tel"], textarea, .form-row input[type="date"]  { 
	border:1.5px solid  #FFF;
	padding:15px 15px;
	width:100%;
	    font-family: 'Maven Pro', sans-serif;
	color: #FFF;
	font-size: 16px;
	max-height: 100px;
	background: #040108;
}

textarea { 
	min-height: 100px;
}

.form-row input[type="text"]:focus, .form-row input[type="email"]:focus, .form-row input[type="tel"]:focus, textarea:focus { 
	border:1.5px solid #d09381;
	outline:none;
}

#enquire { 
  width:750px;
  padding:50px;
  background: #040108;
  display: none;
   position: fixed;
  top: 50%  !important;
	text-align: center;
  left: 50% !important;
  transform: translate(-50%, -50%)  !important;
  margin-left: 0 !important;

}

#enquire p { 
	text-align: center;
	color:#FFF;
}

#enquire a { 
  color:#d09381; 
     
}

#enquire label { 
      font-family: 'Maven Pro', sans-serif;
   display: block;
   font-size: 10px;
	text-transform: uppercase;
   margin-bottom: 5px;
	letter-spacing:6px;
	font-weight: 500;

}

#enquire form { 
  display: flex;
  flex-direction: row;
  text-align: left;
  margin-top:40px;
   flex-wrap: wrap;
}

#enquire .form-row { 
  margin-bottom: 20px;
  width:calc(50% - 20px);
}

#enquire .form-row.full-width { 
	width:100%; 
	margin-right: 0 !important;
	margin-bottom: 35px;
}

#enquire .form-row.submit { 
  width:100%;
  text-align: center;
  margin-bottom: 0;

}

#enquire .form-row:nth-child(2n) { 
  margin-left:40px;
	
}

#enquire input[type="submit"], #submit-button { 
 font-family: 'Maven Pro', sans-serif;
    cursor: pointer;
    border:none;
    -webkit-appearance: none;
       -moz-appearance: none;
       appearance: none;
  
}

.menu-close  { 
	display: none;
}


#repertoire .text-cols { 
	text-align: center;
	column-count: 2;
}

@media screen and (min-width:1920px) { 
.video-hero { 
	width:100%;
	}
}

@media screen and (min-width:740px) and (max-width: 1500px) {  
	header { 
		width: 330px;
	}
	
	
	.main {
    margin-left: 330px;
    display: flex;
    flex-direction: column;
    width: calc(100% - 330px);
		
}
	
	.video-hero { 
			transform: translate(-20%, 0);
		position: relative
	}
}

@media screen and (min-width:740px) and (max-width: 1200px) {  
	.video-hero { 
			transform: translate(-40%, 0);
		position: relative
	}
	
	h1 { 
		font-size: 20px;
		line-height: 25px;
	}
	
	.main-cont h2 { 
		font-size: 16px;
	}
}

@media screen and (max-width:740px) {  
 
	.main-cont h2 { 
		font-size: 14px;
	}
	 body { 
        min-width: 0; 
        width:100%;

      }
	
	header { 
		display: none;
		width:100%;
		z-index: 10;
	}
	
	.main { 
		margin-left:0;
		width:100%;
	}
	
	.icon-split {
			flex-direction: column;
		margin-top:50px;
		padding-bottom: 0px;
		
	}
	
	.video-hero { 
		width:auto;
		    transform: translate(-40%);
		    max-height: 650px;
	}
	
	.video-cont { 
		min-height: 650px;
		max-height: 650px;
	}
	
	.hero-info { 
		padding: 100px 25px 30px 25px;
	}
	
	.hero-info .logo-big { 
		max-width: 280px;
	}
	
	h1 { 
		font-size: 18px;
    line-height: 25px;
		    margin: 30px auto;
		    max-width: 250px;
	}
	
	.mob-header { 
		display: flex;
		position: fixed;
		height: auto;
		padding:25px;
		width:auto;
		border-radius: 0 0 50px 0;
		flex-direction: row;
		align-items: center;
		
		
	}
	
	.menu-open, .menu-close { 
		margin-left:20px;
		max-width: 30px;
	}
	
	.logo {
    max-width: 40px;
		
}
	
	.icon-area {
		width:100%;
		margin-right:0 !important;
		
	}
	
	.main-cont { 
		padding:60px 0;
	}
	
	.play-but { 
		max-width: 60px;
	}
	
	.review-bar .inner { 
		flex-direction: column;
		padding:50px 25px;
	}
	
	.review-bar span { 
		    font-size: 13px;
    line-height: 18px;
		margin:20px 0 0 0;
	}
	
	.review-bar img:last-child  {
			display: none;
		
	}
	
	.text-cols { 
		column-count: 1;
		text-align: center;
	}
	
	.main-cont.services { 
	background:url("img/vst-red-mob.jpg") bottom center;
	background-size: cover;
}
	
	
		.main-cont.reviews { 
	background:url("img/vst-gold-mob.jpg") bottom center;
	background-size: cover;
}
	.nopadbot {
    padding-bottom: 0;
}
	
	.swiper-container { 
		margin-top:50px;
		
	}
	
	.dt-header  {
		padding:25px;
		
	}
	
	
	.flex-mob { 
		
		flex-direction: row;
		align-items: center;
		display: flex;
	}
	
	.gold-but, a.white-but, a.border-but { 
		width:100%;
		display: block;
	}
	.hero-info h1 { 
		max-width: 100%;
	}
	
	.inner { 
		max-width: 100%;
		padding:0 25px;
	}
	
	.swiper-button-prev, .swiper-container-rtl .swiper-button-next { 
		left:25px !important;
	}
	
	.swiper-button-next, .swiper-container-rtl .swiper-button-prev { 
		right:25px !important;
	}
	
	#enquire { 
		width:100%;
		padding:50px 25px;
		height: 100%;
		-webkit-overflow-scrolling: touch;
	}
	
	#enquire .form-row { 
		width:100%;
		margin:10px 0 !important;
	}
	
	#enquire input[type="submit"], #submit-button { 
		width:100%;
	}
	
	#enquire input[type="submit"], #submit-button, .form-row input[type="text"], .form-row input[type="email"], .form-row input[type="tel"], textarea{ 
		 -webkit-appearance: none;
		border-radius: 0;
	}
	
	.menu-close { 
		display: block;
	}
	
	.modal h3 { 
		    font-size: 18px;
    line-height: 25px;
	}
	
	.icon-area:first-child { 
		margin-bottom: 30px;
	}
}

.swiper-slide, swiper-slide {
	display: flex !important;
}
