//
// Load core variables and mixins
// --------------------------------------------------

@import "variables.less";
@import "mixins.less";

//
// Useful Mixins
// --------------------------------------------------

.vertical-align {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.vertical-align-cancel{
	top: 0px;
	-webkit-transform: translateY(0px);
	-ms-transform: translateY(0px);
	transform: translateY(0px);
}

.preserve-3d {
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.transition-100{
	transition: all .1s ease-out;
	-webkit-transition: all .1s ease-out;
	-moz-transition: all .1s ease-out;
}

.transition-300{
	transition: all .3s ease-out;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
}

.transition-700{
	transition: all .7s ease-out;
	-webkit-transition: all .7s ease-out;
	-moz-transition: all .7s ease-out;
}

.translate3d(@x,@y,@z){
	transform: translate3d(@x,@y,@z);
	-webkit-transform: translate3d(@x,@y,@z);
	-moz-transform: translate3d(@x,@y,@z);
}

.scale2d(@x,@y){
	transform: scale(@x,@y);
	-webkit-transform: scale(@x,@y);
	-moz-transform: scale(@x,@y);
}

.overlay-params(@strength, @bg-color){
	background-color: @bg-color;
	opacity: @strength;
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	z-index: 1;
	top: 0px;
}

.overlay:before{ .overlay-params(@strength: 0.5, @bg-color: @color-heading); }
.overlay .container{ position: relative; z-index: 2; }

//
// Helper Classes & Resets
// --------------------------------------------------

.go-right{ right: 0px; }
.go-left{ left: 0px; }

img{ max-width: 100%; }

.main-container{ .transition-300; }

//
// Loader
// --------------------------------------------------

.loader{ position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 99; background: #fff; .preserve-3d; .transition-300; opacity: 1; }
.strip-holder{ .vertical-align; left: 50%; margin-left: -50px; position: relative; }
.strip-1, .strip-2, .strip-3{ width: 20px; height: 20px; background: @color-primary; position: relative; -webkit-animation: stripMove 2s ease infinite alternate; animation: stripMove 2s ease infinite alternate; -moz-animation: stripMove 2s ease infinite alternate; }
.strip-2{ -webkit-animation-duration: 2.1s; animation-duration: 2.1s; background-color: lighten(@color-primary, 20%); }
.strip-3{ -webkit-animation-duration: 2.2s; animation-duration: 2.2s; background-color: lighten(@color-primary, 40%); }


@-webkit-keyframes stripMove{
	0% { .translate3d(@x: 0px, @y: 0px, @z: 0px); }
	50% { .translate3d(@x: 0px, @y: 0px, @z: 0px); .scale2d(@x: 4, @y: 1); }
	100% { .translate3d(@x: -50px, @y: 0px, @z: 0px); }
}

@-moz-keyframes stripMove{
	0% { .translate3d(@x: -50px, @y: 0px, @z: 0px); }
	50% { .translate3d(@x: 0px, @y: 0px, @z: 0px); .scale2d(@x: 4, @y: 1); }
	100% { .translate3d(@x: 50px, @y: 0px, @z: 0px); }
}

@keyframes stripMove{
	0% { .translate3d(@x: -50px, @y: 0px, @z: 0px); }
	50% { .translate3d(@x: 0px, @y: 0px, @z: 0px); .scale2d(@x: 4, @y: 1); }
	100% { .translate3d(@x: 50px, @y: 0px, @z: 0px); }
}

.main-container{ .transition-300; opacity: 0; }
nav{ .transition-300; opacity: 0; }
.show-content{ opacity: 1 !important; }
.hide-loader{ opacity: 0 !important; }


//
// Colours
// --------------------------------------------------

@color-primary: #FFE900;
@color-heading: #333;
@color-body: #777;
@color-muted: #f5f5f5 !important;

.background-dark{ background-color: @color-heading !important; }
.color-heading{ color: @color-heading; }

//
// Typography
// --------------------------------------------------

@custom-heading-font: 'Open Sans';
@custom-body-font: 'Open Sans';

.text-white{ color: #fff; }

body{ font-family: @custom-body-font,"Helvetica Neue", Helvetica, Arial, sans-serif; font-smoothing: antialiased; -webkit-font-smoothing: antialiased; color: @color-body; font-size: 14px; line-height: 24px; background: @color-heading; }
h1,h2,h3,h4,h5,h6{ font-family: @custom-heading-font,"Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 300; margin: 0px; color: @color-heading; }

h1{ font-size: 30px; line-height: 36px; margin-bottom: 42px; }
h3{ font-size: 20px; line-height: 28px; }

.large-h1{ font-size: 42px; line-height: 48px; font-weight: 300;  }

p{ font-size: 14px; line-height: 24px; }
p:last-child{ margin-bottom: 0px; }
p.lead{ font-size: 16px; line-height: 30px; font-weight: 400; }
span.lead{ font-weight: 400; }
.uppercase{ text-transform: uppercase; letter-spacing: 1px; display: inline-block; margin-right: -1px; }

strong{ font-weight: 600; }

ul{ list-style: none; margin: 0px; padding: 0px; }

@media all and(max-width: 767px){
	h1{ font-size: 24px; line-height: 28px; margin-bottom: 36px; }
	h2{ font-size: 20px; line-height: 26px; }

	.large-h1{ font-size: 24px; line-height: 28px; }

	p{ font-size: 13px; line-height: 22px; }
	p.lead{ font-size: 15px; line-height: 26px; }
}


//
// Spacing Standards
// --------------------------------------------------

@standard-space: 72px;

section{ padding: @standard-space 0px; background: #fff; }

.duplicatable-content{ padding-bottom: @standard-space/2; }


//
// Buttons
// --------------------------------------------------

a:hover{ text-decoration: none; }
h1 a, span a,p a,.text-link a{ font-weight: 600; color: #fff; display: inline-block; border-bottom: 4px solid #fff; padding-bottom: 6px; .transition-300; }
span a, p a,.text-link a{ padding-bottom: 4px; border-bottom: 3px solid #fff; }
span a:hover{ color: #fff; }
p a, .text-link a{ color: @color-primary !important; border-color: @color-primary; padding-bottom: 2px; }
p a, .text-link a:hover{ color: @color-heading; }

.btn{ min-width: 180px; border-radius: 25px; background: @color-primary; text-align: center; padding: 13px 0px 14px 0px; color: #fff; font-size: 15px; .transition-300; font-weight: 600; line-height: 1;  }
.btn:hover{ color: #fff; background: darken(@color-primary, 5%); }
.btn-hollow{ background: none; border: 2px solid @color-primary; color: @color-primary; }
.btn-hollow:hover{ background: @color-primary; }

.btn-white{ background: #fff; color: @color-primary; }
.btn-white:hover{ background: #fff; color: darken(@color-primary,10%); }

.btn-hollow.btn-white{ background: none; border-color: #fff; color: #fff; }
.btn-hollow.btn-white:hover{ background: #fff; color: @color-primary; }

//
// Backgrounds & Parallax
// --------------------------------------------------

.background-image-holder{ position: absolute; width: 100%; height: 130%; top: -10%; background-size: cover !important; background-position: 50% 50% !important; }
.image-holder{ position: relative; overflow: hidden; }

//
// Navigation
// --------------------------------------------------

nav .logo{ max-height: 45px; max-width: 110px; position: absolute; top: 0px; opacity: 1; }
nav .text-right{ position: relative; }
nav .container{ .transition-300; }

.overlay-nav{ position:fixed; top: 0px; z-index: 10; width: 100%; padding-top: @standard-space/3; line-height: 1; background: none; .transition-300; }
.overlay-nav .logo-dark{ opacity: 0; }
.overlay-nav.sticky-nav .logo-light{ opacity: 0; }
.overlay-nav.sticky-nav .logo-dark{ opacity: 1; }

.bottom-border{ position: absolute; bottom: 2px; width: 100%; height: 2px; background: rgba(255,255,255,0.3); }
.sidebar-menu .bottom-border{ position: relative; bottom: 0px; background: rgba(255,255,255,0.2); display: block !important; }

.menu{ display: inline-block; text-align: left; line-height: 1; }
.menu li{ float: left; margin-right: 32px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; position: relative; top: 4px; }
.menu li:last-child{ margin-right: 0px; }
.menu li:nth-las-child(2){ margin-right: 12px; }
.menu li a{ color: #fff; display: inline-block; padding-bottom: @standard-space/3; border-bottom: 2px solid rgba(0,0,0,0); .transition-300; }
.menu li a:hover{ border-bottom: 2px solid #fff; }

.nav-dropdown{ position: absolute; z-index: -1; max-height: 0px; background: rgba(255,255,255,0.3); min-width: 200px; .transition-300; }
.nav-dropdown li:first-child{ margin-top: 12px; }
.nav-dropdown li{ opacity: 0; .transition-300; margin-right: 0px; float: none; margin-bottom: 18px; }
.nav-dropdown li a{ padding-bottom: 0px; padding-left: 24px; }
.nav-dropdown li a:hover{ border-color: rgba(0,0,0,0); }

.has-dropdown:hover .nav-dropdown{ z-index: 10; max-height: 300px; }
.has-dropdown:hover .nav-dropdown li{ opacity: 1; }

.has-dropdown a{ padding-left: 18px; }
.has-dropdown:before{ display: inline-block; font-family: 'Pe-icon-7-stroke'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: "\e688"; color: #fff; font-size: 24px; position: absolute; top: -6px; }

.menu .social-link{ font-size: 14px; top: 0px !important; margin-right: 18px !important; }
.menu .social-link:nth-last-child(2){ margin-right: 18px; }

.sticky-nav{ background: rgba(255,255,255,0.9); }
.sticky-nav .menu li a{ color: @color-heading; }
.sticky-nav .bottom-border{ display: none; }
.sticky-nav .menu li a:hover{ border-color: rgba(0,0,0,0); }
.sticky-nav .sidebar-menu-toggle, .sticky-nav .mobile-menu-toggle{ color: @color-heading; }
.sticky-nav .nav-dropdown{ background: rgba(255,255,255,0.9); }
.sticky-nav .has-dropdown:before{ color: @color-heading; }

.sidebar-menu-toggle, .mobile-menu-toggle{ position: absolute; color: #fff; font-size: 32px; right: 0px; top: -7px; cursor: pointer; .transition-300; }

.mobile-menu-toggle{ display: none; }

.sidebar-menu, .instagram-sidebar{ position: fixed; right: 0px; top: 0px; width: 300px; height: 100%; background: @color-heading; .translate3d(@x: 300px, @y: 0px, @z: 0px); .transition-300; }
.show-sidebar{ .translate3d(@x: 0px, @y: 0px, @z: 0px); }
.reveal-sidebar{ .translate3d(@x: -300px, @y: 0px, @z: 0px); }

.sidebar-content{ padding: 0px 24px; margin-top: 24px; }
.widget{ margin-bottom: 24px; }
.widget .title{ font-size: 16px; font-weight: 600; display: inline-block; margin-bottom: 12px; }
.widget .menu li{ float: none; margin-bottom: 12px; }
.widget .menu li a{ padding-bottom: 0px; color: #fff !important; font-size: 12px; }
.widget .menu li a:hover{ border-color: rgba(0,0,0,0); }
.widget .menu .social-link{ display: none; }
.widget .social-profiles li{ margin-right: 24px; }
.widget .social-profiles li a{ color: #fff; }

.instagram-toggle{ cursor: pointer; }
.instagram-toggle-init{ pointer-events: none; }
.instagram-sidebar li{ width: 100%; height: 250px; }
.instagram-sidebar{ overflow-y: auto; }

.sidebar-content .copy-text{ position: absolute; bottom: 32px; color: rgba(255,255,255,0.5); font-size: 12px; }
.text-panel{ background: lighten(@color-heading, 8%); padding: 18px; }

.sidebar-menu .logo{ max-width: 110px; position: relative; top: 21px; margin-bottom: 32px; left: 24px; }

.relative-nav{ position: relative; padding-top: 28px; background: #fff; }
.relative-nav .menu li a{ color: @color-heading; }
.relative-nav .has-dropdown:before{ color: @color-heading; }
.relative-nav .nav-dropdown{ background: rgba(53,53,53,0.8); }
.relative-nav .has-dropdown li a{ color: #fff; }
.relative-nav .sidebar-menu-toggle{ color: @color-heading; }
.relative-nav .logo-light{ opacity: 0 !important; }
.relative-nav .logo-dark{ opacity: 1 !important; }
.relative-nav .logo{ top: -4px !important; }

@media all and(max-width: 768px){
	nav{ max-height: 67px; overflow: hidden; background: rgba(255,255,255,0.9) !important; }
	nav .menu li{ float: none; margin-bottom: 24px; }
	nav .menu li a{ color: @color-heading !important; padding-bottom: 0px; }
	nav .logo{ max-width: 90px; top: -2px; }
	nav .logo-dark{ opacity: 1 !important; }
	nav .logo-light{ opacity: 0 !important; }
	nav .menu{ width: 100%; display: block; margin-top: 67px; margin-right: 0px; }
	nav .social-link{ float: left !important; }
	.sidebar-menu-toggle{ display: none; }
	.mobile-menu-toggle{ display: block; position: fixed; top: 17px; right: 24px; color: @color-heading !important; }
	.open-menu{ max-height: 800px !important; }
	.nav-dropdown{ position: relative; display: none; }
	.has-dropdown:hover .nav-dropdown{ display: block; }
	.has-dropdown:before{ color: @color-heading; }
}

//
// Sliders & Dividers & Headers
// --------------------------------------------------

.hero-slider{ padding: 0px; position: relative; overflow: hidden; }
.hero-slider .slides li{ height: 780px; position: relative; overflow: hidden; .preserve-3d; }
.hero-slider .slides li:before{ .overlay-params(@strength: 0.4, @bg-color: @color-heading); }

.hero-slider .container{ .vertical-align; z-index: 2;  }
.hero-slider h1{ margin-bottom: 42px; }

.hero-slider .btn-hollow{ color: #fff; border-color: #fff; margin-left: 16px; }
.hero-slider .btn-hollow:hover{ background: #fff; color: @color-primary; }

@media all and(max-width: 767px){
	.hero-slider .btn-hollow{ display: none; }
}

.register-header form.register{ padding-top: 0px; background: rgba(0,0,0,0.4); padding: 24px; }
.register-header form input{ width: 100% !important; }
.register-header form.register span{ color: #fff; }
.register-header .logo{ max-width: 150px; display: block; margin-bottom: 12px; }

.register-header h1{ margin-bottom: 24px !important; }

@media all and(max-width: 768px){
	.register-header form.register .form-name, .register-header form.register .form-email{ max-width: 100%; width: 100%; }
}

@media all and(min-width: 321px) and(max-width: 767px) and(orientation: landscape){
	.register-header form.register .form-name, .register-header form.register .form-email{ width: 50%; }
}

@media all and(max-width: 767px){
	.register-header .logo{ display: none; }
	.register-header h1{ display: none; }
	.register-header form h1{ display: block; }
	.register-header span.lead{ display: none; }
	.register-header input, .register-header .select-holder{ max-width: 100% !important; }
}

.testimonials-slider{ position: relative; margin-bottom: 48px; }
.testimonials-slider .flex-control-nav a{ background:rgba(0,0,0,0.3); }
.testimonials-slider .flex-control-nav a.flex-active{ background:rgba(0,0,0,0.8); }
.testimonials-slider .flex-control-nav a:hover{ background: rgba(0,0,0,0.8); }
.testimonials-slider .flex-control-nav{ bottom: -48px; text-align: left; }

.primary-overlay:before{ .overlay-params(@strength: 0.8, @bg-color: @color-primary); background-color: @color-primary !important; }

.strip-divider{ padding: @standard-space*3 0px; position: relative; overflow: hidden; }
.strip-divider .container{ z-index: 2; position: relative; }
.strip-divider h1{ margin: 0px; }

@media all and(max-width: 767px){
	.strip-divider{ padding: @standard-space 0px; }
}

.countdown-divider{ padding: @standard-space*2 0px; }
.countdown-divider img, .countdown-header img, .video-header img{ max-width: 300px; display: inline-block; margin-bottom: 12px; }

.countdown-header h1{ margin-bottom: 0px; }
.countdown-header:before{ opacity: 0.8 !important; }

.video-header:before{ opacity: 0.5 !important; background: #000 !important; }
.video-header .uppercase, .countdown-header .uppercase{ display: block; font-weight: 600; margin-bottom: 24px; }


@media all and(max-width: 768px){
	.countdown-header img, .countdown-divider img, .video-header img{ max-width: 150px; }
}

.countdown{ text-align: center; margin-top: @standard-space; }
.countdown-row{ color: #fff; font-size: 80px; font-weight: 300; }
.countdown-section{ width: 20%; display: inline-block; }
.countdown-amount{ display: inline-block; margin-bottom: 48px; }
.countdown-period{ display: block; font-size: 24px; }

.section-header{ position: relative; overflow: hidden; height: 450px; }
.section-header h1{ font-size: 32px; }
.section-header.overlay:before{ opacity: 0.2; }
.section-header i{ font-size: 40px; color: #fff; margin: 0px 24px 12px 0px; }
.section-header i:last-of-type{ margin-right: 0px; }

@media all and(max-width: 767px){
	.countdown{ margin-top: 48px; }
	.countdown-row{ font-size: 36px; }
	.countdown-period{ font-size: 16px; }
}

.video-wrapper{ position: absolute; width: 100%; height: 100%; top: 0px; left: 0px; z-index: 0; }
.video-wrapper video{ width: 100%; }

@media all and(max-width: 1390px){
	.video-wrapper video{ width: 110%; }
}

@media all and(max-width: 1260px){
	.video-wrapper video{ width: 120%; }
}

@media all and(max-width: 1160px){
	.video-wrapper video{ width: 130%; }
}

@media all and(max-width: 1024px){
	.video-wrapper{ display: none; }
}

//
// Image with text
// --------------------------------------------------

.image-with-text{ overflow: hidden; position: relative; height: 600px; }
.image-with-text h1{ margin-bottom: 24px; }

.side-image{ padding: 0px; position: absolute; top: 0px; height: 100%; }


@media all and(max-width: 767px){
	.image-with-text{ height: auto; padding: @standard-space 0px; }
	.image-with-text .vertical-align{ .vertical-align-cancel }
}

//
// Promo Blocks
// --------------------------------------------------

.color-blocks{ position: relative; overflow: hidden; color: #fff; }
.color-block{ position: absolute; top: 0px; height: 100%; padding: 0px; color: #fff; .transition-300;  }
.color-blocks h1, .color-blocks h2, .color-blocks h3, .color-blocks h4, .color-blocks h5, .color-blocks h6{ color: #fff; }
.color-blocks h1{ margin-bottom: 12px; }
.color-blocks a{ color: #fff; pointer-events: auto; }
.color-blocks a:hover i{ transform: rotateZ(-10deg); }
.color-blocks i, .contained-promo i{ color: @color-primary; font-size: 70px; display: inline-block; border: 2px solid #fff; border-radius: 50%; width: 120px; height: 120px; line-height: 120px; background: #fff; text-align: center; .transition-100; }
.block-left{ background-color: @color-primary; }
.block-right{ background-color: darken(@color-primary, 8%); right: 0px; }

@media all and(max-width: 768px){
	.block-content{ margin-bottom: @standard-space*2; overflow: hidden; display: block; }
	.block-content:last-of-type{ margin-bottom: 0px; }
	.color-block{ height: 50%; width: 100%; }
	.block-right{ top: 50%; }
}

@media all and(max-width: 767px){
	.block-content i{ margin-bottom: 30px; }
}



//
// Speakers & Topics
// --------------------------------------------------

.speakers-row{ padding: 0px 15px; }
.speaker-column{ padding: 0px; }

.speaker{ position: relative; overflow: hidden; }
.speaker,.topic{ margin-bottom: @standard-space/2; }
.speaker .hover-state{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; opacity: 0; background: rgba(0,0,0,0.5); .transition-300; }
.speaker .image-holder{ margin-bottom: 12px; }
.speaker span{ display: block; font-size: 16px; }
.speaker-name{ color: @color-heading; }
.speaker .social-links{ width: 100%; .transition-300; .translate3d(@x: 0px, @y: -200px, @z: 0px); }
.speaker .social-links a{ color: #fff; font-size: 24px; display: inline-block; margin-left: 6px; }
.speaker .social-links a:last-child{ margin-right: 0px; }
.speaker .image-holder:hover .hover-state{ opacity: 1; }
.speaker .image-holder:hover .hover-state .social-links{ .translate3d(@x: 0px, @y: 0px, @z: 0px); }

.speaker-with-bio{ overflow: hidden; margin-bottom: @standard-space/2; }
.speaker-with-bio .speaker{ width: 50%; float: left; margin-bottom: 0px; }
.speaker-with-bio .speaker-description{ width: 50%; float: left; padding-left: 30px; }
.speaker-description span{ display: inline-block; margin-bottom: 18px; font-weight: 600; }

@media all and(max-width: 767px){
	.speaker-with-bio .speaker{ width: 100%; }
	.speaker-with-bio .speaker-description{ width: 100%; padding-left: 0px; }
}

.topics{ position: relative; overflow: hidden; }
.topics .container{ position: relative; z-index: 2; }
.topics.overlay .ruled-list li{ border-color: rgba(255,255,255,0.5); }
.topics.overlay .topic i{ color: #fff; }

.topic h3{ margin-bottom: 18px; }
.topic p.lead{ margin-bottom: 32px; }
.topic i{ font-size: 60px; color: @color-primary; display: inline-block; margin-bottom: 32px; }

@media all and(max-width: 767px){
	.topic h3{ display: inline-block; position: relative; bottom: 18px; left: 12px; }
	.topic i{ margin-bottom: 12px; }
}

.ruled-list li{ border-top: 1px dotted rgba(0,0,0,0.3); padding: 12px 0px; font-size: 16px; }

@media all and(min-width: 321px) and(max-width: 767px) and(orientation: landscape){
	.speakers-row .col-sm-6{ width: 50%; float: left !important; }
}

//
// Schedule
// --------------------------------------------------

.inline-video{ background: @color-muted; }
.inline-video iframe{ width: 100%; height: 300px; border: none; }
.inline-video .btn{ min-width: 150px; margin-top: 32px; margin-right: 16px; }

@media all and(max-width: 768px){
	.inline-video iframe{ height: 350px; margin-top: 42px; }
}

@media all and(max-width: 767px){
	.inline-video iframe{ height: 200px; margin-top: 30px; }
	.inline-video .btn{ margin-top: 18px; }
}

@media all and(min-width: 321px) and(max-width: 767px) and(orientation: landscape){
	.inline-video iframe{ height: 250px; }
}

.embedded-video-holder p{ display: none; }

.schedule-overview{ border: 2px solid rgba(0,0,0,0.2); margin-bottom: @standard-space/2; }
.schedule-overview li{ padding: 24px; position: relative; cursor: pointer; .transition-300; }
.schedule-overview li:first-child .top{ display: none; }
.schedule-overview li:last-child .bottom{ display: none; }

.schedule-title span{ display: block; font-size: 16px; }
.schedule-title .title{ color: @color-heading; }

.schedule-text{ max-height: 0px; .transition-300; opacity: 0; }

.schedule-overview li:hover{ background-color: @color-muted; }
.schedule-overview li:hover .schedule-text{ max-height: 300px; opacity: 1; padding-top: 18px; }
.schedule-overview li:hover .top,.schedule-overview li:hover .bottom,.schedule-overview li:hover .middle{ border-color: rgba(0,0,0,0.4); }
.schedule-overview li:hover .middle{ background: @color-heading; }

.schedule-with-text .btn, .contained-gallery .btn{ margin-top: 24px; margin-right: 12px; }
.schedule-with-text .schedule-overview li{ padding-right: 48px; }

@media all and(max-width: 1024px){
	.schedule-overview li{ padding-right: 48px; }
}

@media all and(max-width: 767px){
	.schedule-with-text .btn, .contained-gallery .btn{ margin-bottom: 32px; }
}

.marker-pin{ position: absolute; right: 32px; top: 0px; height: 100%; }
.marker-pin .top, .marker-pin .bottom{ height: 50%; width: 2px; border-left: 2px solid rgba(0,0,0,0.2); position: absolute; z-index: 1; .transition-300;  }
.marker-pin .top{ top: 0px; }
.marker-pin .bottom{ bottom: 0px; }
.marker-pin .middle{ width: 18px; height: 18px; border: 2px solid rgba(0,0,0,0.2); background: #fff; border-radius: 50%; position: absolute; right: -10px; top: 50%; margin-top: -9px; z-index: 2; .transition-300; }

//
// Galleries
// --------------------------------------------------

.instagram{ position: relative; padding: @standard-space*3 0px; }
.instagram{ overflow: hidden; background: #000 !important; }
.instagram ul{ overflow: hidden; position: absolute; width: 100%; height: 100%; top: 0px; }
.instagram li{ float: left; width: 20%; height: 50%; position: relative; cursor: pointer; .transition-300; overflow: hidden; background-size: cover !important; opacity: 0.5; }
.instagram li:hover{ opacity: 1 !important; }

.instagram .container{ position: relative; z-index: 3; }
.instagram i{ font-size: 48px; display: inline-block; margin-bottom: 16px; }
.instagram h1{ .large-h1; margin-bottom: 16px; }

@media all and(max-width: 1200px){
	.instagram li:nth-child(n+9){ display: none; }
	.instagram li{ width: 25%; }
}

@media all and(max-width: 900px){
	.instagram li:nth-child(n+7){ display: none; }
	.instagram li{ width: 33.333333%; }
}

@media all and(max-width: 767px){
	.instagram{ padding: @standard-space*2 0px; }
	.instagram li:nth-child(n+5){ display: none; }
	.instagram li{ width: 50%; }
}


.testimonials{ background: @color-muted; }

.contained-gallery .instagram{ padding: 185px 0px; }
.contained-gallery .instagram li:nth-child(n+9){ display: none; }
.contained-gallery .instagram li{ width: 25%; opacity: 0.7; }

@media all and(max-width: 1024px){
	.contained-gallery .instagram li:nth-child(n+7){ display: none; }
	.contained-gallery .instagram li{ width: 33.33333%; }
	.contained-gallery .instagram{ padding: 200px 0px; }
}

@media all and(max-width: 768px){
	.contained-gallery .instagram{ margin-bottom: 32px; }
	.contained-gallery .btn{ margin-bottom: 0px; }
	.contained-gallery .instagram li:nth-child(n+5){ display: block !important; }
	.contained-gallery .instagram li:nth-child(n+7){ display: none !important; }
	.contained-gallery .instagram li{ width: 33.33333% !important; }
}

//
// Pricing
// --------------------------------------------------

.pricing-option{ overflow: hidden; background: @color-muted; .preserve-3d; position: relative; padding: @standard-space 0px; margin-bottom: 30px; .transition-300; }
.pricing-option .dot{ position: absolute; top: 24px; right: 24px; width: 24px; height: 24px; border-radius: 50%; background: #fff; }
.pricing-option:hover{ background: darken(@color-muted, 3%); }

@media all and(min-width: 321px) and(max-width: 767px) and(orientation: landscape){
	.pricing-options .col-sm-6{ width: 50%; float: left; }
}

.dollar, .price, .type{ font-weight: 600; color: @color-heading; font-size: 72px; }
.dollar{ font-size: 36px; position: relative; bottom: 22px; }
.price{ line-height: 1; }
.type{ display: block; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; margin-top: 12px; }

.plan-title{ display: block; font-weight: 600; margin-bottom: 12px; font-size: 18px; color: @color-heading; }

.pricing-option ul li{ color: @color-body; }

.pricing-option.emphasis{ background: @color-primary; color: #fff; }
.pricing-option.emphasis .type, .pricing-option.emphasis .dollar, .pricing-option.emphasis .price, .pricing-option.emphasis .plan-title, .pricing-option.emphasis ul li{ color: #fff !important; }

@media all and(max-width: 991px){
	.type{ margin-bottom: 12px; }
	.pricing-option{ text-align: center !important; }
}

//
// Frequently Asked Questions
// --------------------------------------------------

.faq-item{ margin-bottom: @standard-space/2; }

p.question{ font-weight: 600; color: @color-heading; font-size: 16px; }

//
// Visitor Info
// --------------------------------------------------

.info-box{ margin-bottom: @standard-space/2; position: relative; overflow: hidden; }
.info-box img{ display: block; margin-bottom: 12px; }
.info-box h3{ margin-bottom: 12px; }
.info-box .text-link{ position: absolute; bottom: 12px; right: 0px; }
.text-link a{ display: inline-block; margin-left: 12px; }

@media all and(min-width: 321px) and(max-width: 767px) and(orientation: landscape){
	.visitor-info .col-sm-4{ width: 50%; float: left; }
}

//
// Subscribe
// --------------------------------------------------

.subscribe-1{ position: relative; overflow: hidden; padding-top: @standard-space*2; padding-bottom: @standard-space/2; }
.subscribe-1:before{ .overlay-params(@strength: 0.4, @bg-color: @color-heading); }
.subscribe-1 .container{ position: relative; z-index: 2; }
.subscribe-1 .email-subscribe{ margin-bottom: @standard-space*3; }
.subscribe-1 footer{ border-top: 2px solid rgba(255,255,255,0.3); padding-top: @standard-space/2; }
.subscribe-1 .twitter-feed{ margin-bottom: @standard-space; }
.subscribe-1 h1{ margin-bottom: 30px; }

.email-subscribe span{ display: block; margin-top: 12px; }

.twitter-feed i{ font-size: 48px; display: inline-block; margin-bottom: 32px; }
.twitter-feed span a{ border-bottom: none; }

.tweets-feed .user{ display: none; }
.tweets-feed .interact{ display: none; }
.tweets-feed .tweet{ color: #fff; font-size: 30px; line-height: 36px; font-family: @custom-heading-font,"Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 300;  }
.tweets-feed .tweet a{ color: #fff !important; border-color: #fff !important; }
.tweets-feed .timePosted{ display: none; }

@media all and(max-width: 767px){
	.tweets-feed .tweet{ font-size: 20px; line-height: 26px; }
}


//
// Contact
// --------------------------------------------------

.contact-tweets{ background: @color-primary; color: #fff; position: relative; overflow: hidden; height: 600px; .preserve-3d; }
.contact-tweets .social_twitter{ font-size: 42px; margin-bottom: 32px; display: inline-block; }
.contact-tweets .map-holder{ position: absolute; height: 100%; padding: 0px; top: 0px; right: 0px; }
.contact-tweets .timePosted{ display: block !important; }
.map-holder:before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; opacity: 0; }
.map-holder iframe{ border: 0px; position: absolute; width: 100%; height: 100%; }
.contact-tweets span a{ border-bottom: 2px solid #fff; padding-bottom: 1px; }


//
// Sponsors
// --------------------------------------------------

.sponsors{ background: @color-muted; }
.sponsor{ margin-bottom: @standard-space/2; height: 80px; line-height: 80px; }
.sponsor img{ max-width: 150px; .transition-300; max-height: 80px; }

.sponsors span{ display: inline-block; margin-top: 24px; }
.sponsors span a{ color: @color-primary; border-color: @color-primary; }

@media all and(min-width: 321px) and(max-width: 767px) and(orientation: landscape){
	.sponsors .col-sm-6{ width: 50%; float: left; }
}



//
// Forms
// --------------------------------------------------

form.register{ overflow: hidden; padding-top: 24px; display: block; }
form.register div{ padding: 0px; }
input[type="text"], form.register .select-holder{ margin-bottom: 32px; padding: 12px; border: none; background: rgba(255,255,255,0.1); border-radius: 25px; font-size: 14px; max-width: 90%; color: #fff; padding-left: 24px; .transition-300; }
input[type="text"]:focus, form.register .select-holder:focus,input[type="text"]:hover, form.register .select-holder:hover{ outline: none; background: rgba(255,255,255,0.2); }

form.register select{ width: 90%; margin: 0px; background: none; border: none; cursor: pointer; }
form.register select:focus{ outline: none; }

form.register input[type="submit"]{ padding-bottom: 12px; width: 90%; margin-bottom: 12px; }

input[type="submit"]{ font-weight: normal; }

.email-subscribe{ overflow: hidden; }
.email-subscribe input{ margin: 0px auto; min-width: 100%; max-width: 100%; }
.email-subscribe input[type="text"]{ background: rgba(255,255,255,0.3); }
.email-subscribe input[type="text"]:hover, .email-subscribe input[type="text"]:focus{ background: rgba(255,255,255,0.4); }
.email-subscribe ::-webkit-input-placeholder { color: rgba(255,255,255,0.9); }
.email-subscribe :-moz-placeholder { color: rgba(255,255,255,0.9); }
.email-subscribe ::-moz-placeholder { color: rgba(255,255,255,0.9); }
.email-subscribe :-ms-input-placeholder  { color: rgba(255,255,255,0.9); }
.email-subscribe input[type="submit"]{ min-height: 48px; }

.subscribe-2 .email-subscribe input[type="text"]{ background: rgba(0,0,0,0.2); }
.subscribe-2 i{ color: @color-primary; font-size: 70px; display: inline-block; margin-right: 24px; margin-bottom: 18px; }
.subscribe-2 i:last-of-type{ margin-right: 0px; }

input.error{ color: #ff4532; }

.mail-list-form{ width: 0px; height: 0px; opacity: 0; overflow: hidden; }

.form-success, .form-error{ display: none; width: 100%; padding: 6px 18px 8px 18px !important; margin-top: 12px; color: #fff; background-color: #55c950; border-radius: 20px;  }
.form-error{ background-color: #D74B4B; }
form .field-error{ background: #D74B4B !important;  }

@media all and(max-width: 768px){

}

@media all and(max-width: 767px){
	form.register input, form.register .select-holder{ width: 100% !important; max-width: 100%; }
	.subscribe-1 .email-subscribe input[type="text"]{ margin-bottom: 24px; }
}

@media all and(min-width: 321px) and(max-width: 767px) and(orientation: landscape){
	form.register .col-sm-6{ width: 50%; float: left; }
	form.register input, form.register .select-holder{ max-width: 95% !important; }
	form.register input[type="submit"]{ max-width: 100% !important; }
}

//
// Utility Pages
// --------------------------------------------------

.error-page{ background: @color-primary; padding: 0px; }
.error-page h1{ font-size: 84px; line-height: 96px; margin-bottom: 0px; margin-bottom: 12px; }
.error-page p{ font-size: 24px; line-height: 32px; }
.error-page i{ color: #fff; font-size: 84px; display: inline-block; margin-right: 24px; }
.error-page i:last-of-type{ margin-right: 0px; }
.error-page .btn{ margin-right: 24px; margin-top: 12px; }

@media all and(max-width: 767px){
	.error-page i{ display: none; }
}

//
// Footers
// --------------------------------------------------


.subscribe-1 .footer .top-border{ height: 2px; width: 100%; background: rgba(255,255,255,0.3); margin-bottom: 32px; }
.subscribe-1 .footer .menu{ overflow: visible; }
.subscribe-1 .footer .menu li{ top: 0px; }
.subscribe-1 .footer .menu li a{ padding-bottom: 0px; }
.subscribe-1 .footer .menu li .btn{ min-width: 0px; padding: 10px 18px; font-size: 14px; }
.subscribe-1 .footer .menu li a{ diplay: inline-block; position: relative; border: none; }
.subscribe-1 .footer .menu li a:hover{ border: none; }
.subscribe-1 .footer .back-to-top{ padding-right: 42px; }
.subscribe-1 .footer .menu li a i{ font-size: 36px; position: absolute; right: 0px; top: -12px; }

@media all and(max-width: 767px){
	.footer .text-right{ text-align: left !important; }
	.footer .menu{ margin-top: 24px; }
	.footer .menu li{ float: none; margin-bottom: 12px; }
}

footer.classic{ padding: @standard-space 0px @standard-space/2 0px; background: @color-muted; }
footer.classic .menu li{ float: none; margin-bottom: 12px; }
footer.classic .menu li a{ color: @color-heading; padding-bottom: 0px; font-weight: 600; }
footer.classic span.lead{ display: inline-block; margin-bottom: 12px; }

@media all and(max-width: 767px){
	footer.classic div{ margin-bottom: 18px; }
}

.contact-methods li{ margin-bottom: 12px; }
.contact-methods li:last-child{ margin-bottom: 0px; }
.contact-methods i{ font-size: 36px; color: @color-heading; }
.contact-methods span{ display: inline-block; position: relative; bottom: 10px; left:8px; font-size: 16px; }

footer.classic .social-profiles{ margin-top: 36px; }

.social-profiles{ display: inline-block; overflow: hidden; }
.social-profiles li{ float: left; margin-right: 36px; }
.social-profiles li:last-child{ margin-right: 0px; }
.social-profiles li a{ color: @color-heading; font-size: 20px; }

