/*
Theme name: Libby Blair
Description: Custom Theme
*/

/******* Libby Blair WordPress CSS *******/

/* Common elements styling */
.post .entry h1 { font-size: 20px; line-height: 30px}
.post .entry h2 { font-size: 18px; line-height: 27px}
.post .entry h3 { font-size: 16px; line-height: 24px}
.post .entry h4 { font-size: 14px; line-height: 21px}
.post .entry h5 { font-size: 12px; line-height: 18px}
.post .entry h6 { font-size: 10px; line-height: 15px}

.post .entry ul { margin-left: 25px; }
.post .entry ol { margin-left: 25px; }
.post .entry a img { border: 0 }

p img { padding: 0;	max-width: 100%; }
img.centered { display: block; margin-left: auto; margin-right: auto; }
img.alignright { margin: 2px 0 2px 7px; display: inline; }
img.alignleft { margin: 2px 7px 2px 0; display: inline; }
.alignright { float: right; display: inline; }
.alignleft { float: left; display: inline; }
.aligncenter, div.aligncenter { display: block; margin-left: auto; margin-right: auto; }

/* Calendar widget */
#wp-calendar { empty-cells: show; margin: 10px auto 0; }
#wp-calendar #next a { padding-right: 10px; text-align: right; }
#wp-calendar #prev a { padding-left: 10px; text-align: left; }
#wp-calendar a { display: block; }
#wp-calendar caption { text-align: center; width: 100%; }
#wp-calendar td { padding: 3px 0; text-align: center; }
.wp-caption { border: 1px solid #ddd; text-align: center; padding-top: 4px; margin: 10px; }
.wp-caption img { margin: 0; padding: 0; border: 0 none; }
.wp-caption p.wp-caption-text { font-size: 11px; line-height: 17px; padding: 0 4px 5px; margin: 0;}
.wp-video { margin: auto;}

/* Big images in rich text editor should not break page layout */
.post .entry { overflow: hidden; } 

/******* /Libby Blair WordPress CSS *******/
/* =========================== 
	# general 
============================ */

* { margin: 0; padding: 0; outline: 0; }

body, html { height: 100%; }

body {
	font-size: 16px;
	line-height: 1.63;
	font-family: 'Open Sans', Arial, sans-serif;
	font-weight: 400;
	color: #808080;
	background: #fff;
	min-width: 100%;
	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased; 
}

a { color: #118eee; text-decoration: none; cursor: pointer; }
a:hover { text-decoration: underline; }
a img { border: 0; }

input, textarea, select, button { font-size: 12px; font-family: Arial, sans-serif; border-radius: 0; box-shadow: none; }
textarea { overflow: auto; }

input, textarea, select, button { 
	-webkit-box-sizing: border-box; 
			box-sizing: border-box;
}

input[type=submit],
input[type=text],
input[type=email],
input[type=tel],
input[type=date],
input[type=button],
textarea {
	-webkit-appearance: none; 
		appearance: none; 
}

h1 { font-size: 36px; line-height: 40px; font-family: 'Montserrat', Arial, sans-serif; font-weight: 400; }
h2 { font-size: 24px; line-height: 28px; font-weight: 400; }
h3 { font-size: 20px; line-height: 24px; font-family: 'Nunito', Arial, sans-serif; font-weight: 700; }
h4 { font-size: 16px; line-height: 20px; font-weight: 600; }
h5 { font-size: 14px; line-height: 18px; font-weight: 600; }
h6 { font-size: 12px; line-height: 16px; font-weight: 600; }

h1 em { font-size: 170px; line-height: 174px; font-family: 'Cookie', Arial, sans-serif; font-weight: 400; font-style: normal; }
h2 em { font-size: 60px; line-height: 64px; font-family: 'Montserrat', Arial, sans-serif; font-weight: 400; font-style: normal; }
h3 em { font-size: 50px; line-height: 54px; font-family: 'Cookie', Arial, sans-serif; font-weight: 400; font-style: normal; }

::-webkit-input-placeholder { opacity: 1; color: inherit; }
:-moz-placeholder { opacity: 1; color: inherit; }
::-moz-placeholder { opacity: 1; color: inherit; }
:-ms-input-placeholder { opacity: 1; color: inherit; }

/* =========================== 
	# transitions 
============================ */

a,
a:hover,
.btn-arrow:after,
.btn-arrow:before { 
	-webkit-transition: color 0.4s, background 0.4s;
			transition: color 0.4s, background 0.4s; 
}

div.logo,
div.logo:hover,
.btn,
.btn:hover,
.btn-video,
.btn-video:hover,
.btn-large,
.btn-large:hover,
.item-hover-text .wrap p:before,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_next_button:hover,
.gform_wrapper input[type="submit"].gform_button,
.gform_wrapper input[type="submit"].gform_button:hover,
.gform_wrapper .gform_previous_button,
.gform_wrapper .gform_previous_button:hover,
.gform_wrapper .gform_button,
.gform_wrapper .gform_button:hover { 
	-webkit-transition: opacity 0.4s;
			transition: opacity 0.4s;
}

.section-intro:before,
.grid-holder > .col img.icon { 
	-webkit-transition: all 0.6s;
			transition: all 0.6s; 
}

.section-intro .shell > img {
	-webkit-transition: -webkit-transform 0.8s 0.6s;
			transition: transform 0.8s 0.6s; 	
}

.header,
.section-intro .video-holder,
.item-hover-text .hidden p,
.pop-up-holder {
	-webkit-transition: opacity 0.4s, visibility 0.4s, -webkit-transform 0.4s; 
	        transition: opacity 0.4s, visibility 0.4s, transform 0.4s; 
}

.item-hover-text .wrap p {
	-webkit-transition: opacity 0.4s, visibility 0.4s, max-width 0.4s; 
	        transition: opacity 0.4s, visibility 0.4s, max-width 0.4s; 
}

.item-hover-text .hidden p {
	-webkit-transition: opacity 0.4s, visibility 0.4s, max-height 0.4s; 
	        transition: opacity 0.4s, visibility 0.4s, max-height 0.4s; 	
}

.item-hover-text .wrap span {
	-webkit-transition: opacity 0.4s, visibility 0.4s, max-width 0.4s; 
	        transition: opacity 0.4s, visibility 0.4s, max-width 0.4s;
}

/* =========================== 
	# helper 
============================ */

.cl { display: block; height: 0; font-size: 0; line-height: 0; text-indent: -4000px; clear: both; }
.notext { font-size: 0; line-height: 0; text-indent: -4000px; }
.left, .alignleft { float: left; }
.right, .alignright { float: right; }

.clearfix:before, 
.clearfix:after,
.shell:before,
.shell:after,
.grid-holder:before,
.grid-holder:after,
.gform_wrapper .gform_body ul:before,
.gform_wrapper .gform_body ul:after { display: table; content: ' '; }
.clearfix:after,
.shell:after,
.grid-holder:after,
.gform_wrapper .gform_body ul:after { clear: both; }

.shell { max-width: 1160px; margin: 0 auto; padding: 0 10px; }

.wrapper { width: 100%; height: inherit; position: relative; }
.wp-video { position: relative; padding-bottom: 56.25%; margin-top: 25px; height: 0 !important; width: 100% !important; }
.wp-video video { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }

/* ===========================
	# plugins
============================ */
.video-js { width: 100% !important; height: 600px !important; }
.video-js video { display: block; width: inherit; height: inherit; position: relative; overflow: hidden; border-radius: 6px 0 0 0; background: #d6d6d6; }
.video-js video + div { display: none; }

.vjs-control-bar { width: 100%; background: #fff; padding: 17px 20px; border-radius: 0 0 6px 6px; box-shadow: inset 0 6px 4px -4px #d6d6d6; position: relative; }
.vjs-control-bar {
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}

.vjs-loading-spinner,
.vjs-poster,
.vjs-text-track-display,
.vjs-error-display,
.vjs-caption-settings,
.vjs-big-play-button,
.vjs-control,
.vjs-time-divider,
.vjs-text-track-display { display: none; }

.vjs-play-control { display: block; width: 30px; height: 30px; font-size: 0; line-height: 0; text-indent: -4000px; cursor: pointer; position: relative; }
.vjs-play-control:before { content: ' '; display: block; width: 0; height: 0; border-top: 16px solid transparent; border-bottom: 16px solid transparent; border-left: 24px solid #747474; }
.vjs-play-control:after { content: ' '; }

.vjs-playing:before { position: absolute; left: 0; right: 0; top: 50%; border: 0; width: 100%; height: 3px; background: #747474; margin-top: -6px; }
.vjs-playing:after { position: absolute; left: 0; right: 0; bottom: 50%; border: 0; width: 100%; height: 3px; background: #747474; margin-bottom: -6px; }

.vjs-progress-control { display: block; position: absolute; left: 100px; right: 80px; top: 50%; height: 2px; background: #747474; margin-top: -1px; }
.vjs-progress-control .vjs-load-progress { position: absolute; left: 0; top: 0; right: 0; width: 100% !important; height: 2px; cursor: pointer; z-index: 10; font-size: 0; line-height: 0; text-indent: -4000px; }
.vjs-progress-control .vjs-play-progress { position: absolute; left: 0; top: 0; bottom: 0; height: 2px; background: #000; width: 0%; font-size: 0; line-height: 0; text-indent: -4000px; }
.vjs-progress-control .vjs-seek-handle { position: absolute; left: 0; top: -10px; width: 22px; height: 22px; border-radius: 50%; background: #31214a; font-size: 0; line-height: 0; text-indent: -4000px; }

/* ===========================
	# header
============================ */

.header { position: fixed; left: 0; right: 0; top: 0; width: 100%; background: #fff; padding: 15px 0; border-bottom: 1px solid #f686c8; opacity: 0; visibility: hidden; z-index: 887; }
.header {
	-webkit-transform: translate(0,-100%); 
	        transform: translate(0,-100%); 
}
.header .left p { color: #b2b2b2; font-size: 18px; line-height: 22px; padding: 10px 0 10px 30px; position: relative; }
.header .left p:before { content: ' '; display: block; position: absolute; left: 0; top: 10px; width: 22px; height: 22px; background: url(sprite.png) no-repeat -3px -137px; }

/* ===========================
	# footer
============================ */

.footer { width: 100%; padding: 20px 0; font-size: 15px; }
.footer p { float: right; color: #7f7096; font-weight: 400; }
.footer p ~ p { float: left; font-weight: 600; }
.footer strong { font-weight: 700; }
.footer a { color: #7f7096; }
.footer a:hover { text-decoration: none; color: #302049; }

/* ===========================
	# grid
============================ */

.error404 .main { padding: 150px 0; text-align: center; background: #ED008C; color: #fff; }
.error404 .main a { color: #fff; text-decoration: underline; }

.grid-holder { position: relative; padding-bottom: 40px; }
.grid-holder > .col { float: left; padding: 0 30px; }
.grid-holder > .col {
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.grid-holder > .col img.icon {
	-webkit-transform: translate(0,0px); 
	        transform: translate(0,0px); 
}
.grid-holder > .col:hover img.icon {
	-webkit-transform: translate(0,-10px); 
	        transform: translate(0,-10px); 
}

.col-desktop-1 > .col { width: 100%; min-height: 0 !important; }
.col-desktop-2 > .col { width: 50%; }
.col-desktop-3 > .col { width: 33.333%; }
.col-desktop-4 > .col { width: 25%; }
.col-desktop-5 > .col { width: 20%; }

.col-desktop-10 { width: 10%; }
.col-desktop-15 { width: 15%; }
.col-desktop-20 { width: 20%; }
.col-desktop-25 { width: 25%; }
.col-desktop-30 { width: 30%; }
.col-desktop-33  { width: 33.333%; }
.col-desktop-35 { width: 35%; }
.col-desktop-40 { width: 40%; }
.col-desktop-45 { width: 45%; }
.col-desktop-50 { width: 50%; }
.col-desktop-55 { width: 55%; }
.col-desktop-60 { width: 60%; }
.col-desktop-65 { width: 65%; }
.col-desktop-70 { width: 70%; }
.col-desktop-75 { width: 75%; }
.col-desktop-80 { width: 80%; }
.col-desktop-85 { width: 85%; }
.col-desktop-90 { width: 90%; }
.col-desktop-95 { width: 95%; }
.col-desktop-100 { width: 100%; }

/* ===========================
	# entry
============================ */

.entry-center { text-align: center; }
.entry-center .btn,
.entry-center .btn-large { margin: 60px 15px 0 15px; }

.entry > .shell > *:last-child { padding-bottom: 0; }
.entry h3 { color: #7f7096; }
.entry p { padding-bottom: 40px; }
.entry img { max-width: 100%; height: auto; }
.entry blockquote { border-left: 4px solid #d2007c; padding: 10px; margin-bottom: 40px; }
.entry ol,
.entry ul { padding: 0 0 40px 30px; }
.entry ul ul,
.entry ul ol,
.entry ol ol,
.entry ol ul { padding-bottom: 0; }
.entry .alignleft { margin: 0 20px 20px 0; }
.entry .alignright { margin: 0 0 20px 20px; }
.entry img.alignnone { padding-top: 80px; }
.entry img.icon { display: block; width: 160px; height: auto; margin: 0 auto; }

/* ===========================
	# sections
============================ */

.section-intro { width: 100%; height: inherit; position: relative; overflow: hidden; background: #ed008c; color: #fff; }
.section-intro:before { content: ' '; position: absolute; right: 0; left: 0; bottom: 0; height: 570px; background: url(city-img-1.png) no-repeat right bottom; background-size: auto 100%; }
.section-intro:before {
	-webkit-transform: translate(0,100%); 
	        transform: translate(0,100%); 
}
.section-intro .shell { position: relative; height: inherit; }
.section-intro .shell {
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.section-intro .shell > img { position: absolute; right: -420px; bottom: 0; width: 1000px; height: auto; }
.section-intro .shell > img {
	-webkit-transform: translate(150%,0);  
	        transform: translate(150%,0); 	
}
.section-intro h1 { padding-bottom: 15px; }
.section-intro h2 { padding-bottom: 20px; }
.section-intro h2 ~ h2 { padding-bottom: 35px; max-width: 550px; margin: 0 auto; }
.section-intro p { padding-bottom: 35px; }
.section-intro .text { width: 930px; text-align: center; position: relative; z-index: 100; padding-top: 280px; padding-bottom: 195px; } 
.section-intro .video-holder { position: absolute; left: 0; right: 0; top: 0; bottom: 0; width: 100%; background: rgba(0,0,0,0.85); padding-top: 45px; z-index: 999; }
.section-intro .video-holder { opacity: 0; visibility: hidden; }
.section-intro .video-holder {
	-webkit-transform: translate(0,-100%); 
	        transform: translate(0,-100%); 
}
.section-intro .video-holder .shell { position: relative; max-width: 1050px; padding: 0; }
.section-intro .video-holder .btn-close { position: absolute; right: -48px; top: 0; z-index: 100; }

.section { width: 100%; padding: 100px 0 80px 0; position: relative; overflow: hidden; }

.section-testimonials { width: 100%; background: #302049; color: #fff; padding: 100px 0 80px 0; text-align: center; }
.section-testimonials h1 { padding-bottom: 45px; }
.section-testimonials h2 { padding: 0 100px; position: relative; }
.section-testimonials h2:before { content: ' '; position: absolute; left: 22px; top: 0; background: url(sprite.png) no-repeat -88px 0; width: 70px; height: 64px; } 
.section-testimonials h4 { padding-top: 65px; }
.section-testimonials ul { list-style: none outside none; width: 100%; position: relative; overflow: hidden; }
.section-testimonials li { float: left; width: 100%; text-align: center; min-height: 173px; }
.section-testimonials .slider-pagination { padding: 40px 0 0 0; }

.slider-pagination { font-size: 0; line-height: 0; text-align: center; }
.slider-pagination a { display: inline-block; font-size: 0; line-height: 0; text-indent: -4000px; width: 20px; height: 20px; border-radius: 50%; background: #fff; margin: 0 4px; }
.slider-pagination a:hover { text-decoration: none; background: #b2b2b2; }
.slider-pagination a.selected { background: #ed008c; }

.section-slider { width: 100%; position: relative; overflow: hidden; padding: 100px 0 70px 0; }
.section-slider h5 { padding-bottom: 35px; }
.section-slider .slider { padding-top: 20px; }
.section-slider .image { width: 514px; border-radius: 50%; border: 3px solid #f2f2f2; margin: 0 0 0 50px; }
.section-slider .image img { display: block; width: inherit; border-radius: 50%; height: auto; }
.section-slider .text { position: relative; overflow: hidden; padding: 100px 50px 0 50px; }

.section-with-border { width: 100%; position: relative; overflow: hidden; }
.section-with-border:before { content: ' '; position: absolute; left: 50%; top: 0; height: 2px; width: 820px; background: #eaeaea; margin-left: -410px; }
.section-with-border .entry img { display: block; width: 733px; height: auto; margin: 0 auto; }

.section-violet { background: #302049; color: #fff; }
.section-violet .heading h1,
.section-violet .heading h2 { color: #fff; }

.section-image { width: 100%; position: relative; overflow: hidden; background: #3f89b3; color: #fff; text-align: center; }
.section-image h1 { text-transform: uppercase; font-size: 50px; line-height: 50px; }
.section-image h1 em { font-size: 55px; line-height: 70px; }
.section-image .holder { width: 100%; position: relative; }
.section-image .holder:before { content: ' '; position: absolute; left: 0; top: 0; bottom: 0; width: 305px; }
.section-image .holder:before {
	background: -moz-linear-gradient(left,  rgba(63,137,179,1) 0%, rgba(255,255,255,0) 100%);
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(63,137,179,1)), color-stop(100%,rgba(255,255,255,0)));
	background: -webkit-linear-gradient(left,  rgba(63,137,179,1) 0%,rgba(255,255,255,0) 100%);
	background: -o-linear-gradient(left,  rgba(63,137,179,1) 0%,rgba(255,255,255,0) 100%);
	background: -ms-linear-gradient(left,  rgba(63,137,179,1) 0%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to right,  rgba(63,137,179,1) 0%,rgba(255,255,255,0) 100%);
}
.section-image .holder:after { content: ' '; position: absolute; right: 0; top: 0; bottom: 0; width: 305px; }
.section-image .holder:after {
	background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(63,137,179,1) 100%);
	background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(63,137,179,1)));
	background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(63,137,179,1) 100%);
	background: -o-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(63,137,179,1) 100%);
	background: -ms-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(63,137,179,1) 100%);
	background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(63,137,179,1) 100%);
}
.section-image img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.section-image .text { padding: 50px 0; position: absolute; left: 0; right: 0; top: 50%; z-index: 10; }
.section-image .text {
	-webkit-transform: translate(0,-50%); 
	        transform: translate(0,-50%); 
}

.section-form { width: 100%; position: relative; overflow: hidden; }
.section-form .shell { max-width: 1034px; }

/* ===========================
	# heading
============================ */

.heading { text-align: center; padding-bottom: 20px; width: 100%; }
.heading h1 { padding-bottom: 20px; color: #31214a; }
.heading h1 strong { font-weight: 700; }
.heading h2 { padding-bottom: 20px; color: #808080; max-width: 590px; margin: 0 auto; }

/* ===========================
	# items
============================ */

.item-hover-text { width: 100%; position: relative; }
.item-hover-text .wrap { width: 100%; position: relative; overflow: hidden; margin-bottom: 20px; height: 40px; }
.item-hover-text .wrap p { float: left; font-size: 40px; line-height: 40px; height: 40px; text-transform: uppercase; font-weight: 700; color: #ed008c; text-transform: uppercase; cursor: pointer; opacity: 1; }
.item-hover-text .wrap p { letter-spacing: 3px; position: relative; overflow: hidden; }
.item-hover-text .wrap p:before { content: ' '; position: absolute; left: 0; right: 22px; bottom: -2px; height: 2px; background: #ed008c; opacity: 0; }
.item-hover-text .wrap span { font-size: 30px; font-weight: 400; position: relative; overflow: hidden; max-width: 0px; display: inline-block; vertical-align: top; opacity: 0; visibility: hidden; margin: 3px 0 0 0; }
.item-hover-text .wrap span { letter-spacing: 0; left: -14px; }
.item-hover-text .wrap p.hover { float: none; }
.item-hover-text .wrap p.hover span { max-width: 200px; opacity: 1; visibility: visible; }
.item-hover-text .wrap p.hover:before { opacity: 1; }
.item-hover-text .wrap p.hide { display: none; }
.item-hover-text .hidden { height: 59px; padding-bottom: 16px; width: 100%; position: relative; overflow: hidden; }
.item-hover-text .hidden p { font-size: 15px; color: #31214a; position: relative; overflow: hidden; opacity: 0; visibility: hidden; max-height: 0px; max-width: 300px; }
.item-hover-text .hidden p.active { opacity: 1; visibility: visible; max-height: 200px; }
.item-hover-text .btn-view { display: none; }
.item-hover-text .btn-arrow { position: absolute; top: 7px; z-index: 30; }
.item-hover-text .btn-arrow-previous { left: -35px; }
.item-hover-text .btn-arrow-next { right: -35px; }

/* ===========================
	# buttons
============================ */

.btn { display: inline-block; font-size: 17px; line-height: 38px; padding: 0 15px; border-radius: 7px; border: 2px solid #c2c2c2; color: #c2c2c2; min-width: 150px; text-align: center; opacity: 1; }
.btn + .btn { margin-left: 10px; }
.btn:hover { text-decoration: none; opacity: 0.8; }
.btn.btn-blue { border-color: #00d4fa; }
.btn.btn-pink { border-color: #ed008c; }
.btn.btn-orange { border-color: #ffc200; }

.btn-large { padding: 24px 30px; border-radius: 6px; display: inline-block; font-size: 20px; line-height: 20px; font-family: 'Nunito', Arial, sans-serif; font-weight: 700; text-transform: uppercase; min-width: 335px; text-align: center; }
.btn-large { opacity: 1; }
.btn-large:hover { text-decoration: none; opacity: 0.8; }

.btn-blue { background: #00d4fa; color: #fff; }
.btn-pink { background: #ed008c; color: #fff; }
.btn-orange { background: #ffc200; color: #fff; }

.btn-pink-with-border { background: #ed008c; color: #fff; border-bottom: 3px solid #90075f; }
.btn-pink-border { background: transparent; color: #f138a5; border: 3px solid #f138a5; }

.btn-orange-with-border { background: #ffc200; color: #fff; border-bottom: 3px solid #de6909; }

.btn-video { padding: 24px 130px 24px 50px; background: #fff; border-radius: 6px; background: #fff; color: #ed008c; font-size: 22px; line-height: 22px; font-family: 'Nunito', Arial, sans-serif; font-weight: 700; position: relative; }
.btn-video { display: inline-block; opacity: 1; }
.btn-video:before { content: ' '; position: absolute; right: 46px; top: 50%; background: url(sprite.png) no-repeat -1px 1px; width: 50px; height: 50px; margin-top: -25px; }
.btn-video:hover { text-decoration: none; opacity: 0.8; }

.btn-close { display: inline-block; width: 48px; height: 66px; background: #00d4fa; border-radius: 0 6px 6px 0; position: relative; }
.btn-close:before { content: ' '; position: absolute; left: 50%; top: 50%; background: #fff; width: 24px; height: 6px; margin: -3px 0 0 -12px; border-radius: 3px; }
.btn-close:before {
	-webkit-transform: rotate(45deg); 
	        transform: rotate(45deg); 
}
.btn-close:after { content: ' '; position: absolute; left: 50%; bottom: 50%; background: #fff; width: 24px; height: 6px; margin: 0 0 -3px -12px; border-radius: 3px; }
.btn-close:after {
	-webkit-transform: rotate(-45deg); 
	        transform: rotate(-45deg); 
}
.btn-close:hover { text-decoration: none; }

.btn-arrow { display: inline-block; position: relative; width: 28px; height: 28px; font-size: 0; line-height: 0; text-indent: -4000px; }
.btn-arrow:before { content: ' '; position: absolute; left: 50%; top: 50%; width: 18px; height: 2px; background: #ed008c; margin: -7px 0 0 -9px; }
.btn-arrow:after { content: ' '; position: absolute; left: 50%; bottom: 50%; width: 18px; height: 2px; background: #ed008c; margin: 0 0 -7px -9px; }
.btn-arrow:hover { text-decoration: none; }
.btn-arrow:hover:before,
.btn-arrow:hover:after { background: #31214a; }

.btn-arrow-previous:before {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg); 
}
.btn-arrow-previous:after {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}

.btn-arrow-next:before {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg); 
}
.btn-arrow-next:after {
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

/* ===========================
	# pop up
============================ */

.pop-up-holder { position: fixed; left: 0; right: 0; top: 0; bottom: 0; width: 100%; height: 100%; background: #31214a; z-index: 1000; opacity: 0; visibility: hidden; }
.pop-up-holder { overflow-x: hidden; overflow-y: scroll; -webkit-overflow-scrolling: touch; -webkit-transform: translateZ(0px); }
.pop-up-holder {
	-webkit-transform: scale(0.5); 
	        transform: scale(0.5); 
}
.pop-up-holder .section-form { padding: 50px 0; background: #f9f9f9; }
.pop-up-holder .header { position: relative; left: 0; top: 0; right: 0; background: #fff; width: 100%; padding: 15px 0; opacity: 1; visibility: visible; border-bottom-color: #f1f1f1; box-shadow: 0 0 6px #e4e4e4; }
.pop-up-holder .header {
	-webkit-transform: translate(0,0%); 
	        transform: translate(0,0%); 	
}
.pop-up-holder .footer { position: relative; left: 0; right: 0; bottom: 0; background: #31214a; width: 100%; text-align: center; color: #fff; padding: 33px 0; }
.pop-up-holder .footer p { text-align: center; color: #fff; float: none; }

/* ===========================
	# forms
============================ */

.gform_wrapper .gform_heading { text-align: center; padding-bottom: 20px; width: 100%; }
.gform_wrapper h3.gform_title { font-size: 36px; line-height: 40px; color: #31214a; font-family: 'Montserrat', Arial, sans-serif; font-weight: 400; padding-bottom: 15px; }
.gform_wrapper span.gform_description { display: block; }
.gform_wrapper ul { list-style: none outside none; padding: 0; margin: 0; }
.gform_wrapper .gform_body ul { margin: 0 -15px; position: relative; overflow: hidden; }
.gform_wrapper li.gfield { float: left; padding: 0 15px; margin-bottom: 20px; } 
.gform_wrapper li.gfield {
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
} 
.gform_wrapper li.no-label > label { display: none; }
.gform_wrapper li.gfield-name .ginput_container label { display: none; }
.gform_wrapper li.gfield-section { float: none; width: 100%; clear: both; position: relative; overflow: hidden; }
.gform_wrapper .ginput_container input,
.gform_wrapper .ginput_container textarea { border: 0; border-radius: 6px; padding: 14px 30px; width: 100%; background: #e5e5e5; font-size: 19px; color: #544a63; height: 60px; }
.gform_wrapper .ginput_container textarea { resize: none; height: 200px; }
.gform_wrapper .validation_error { border-top: 3px solid #ed008c; border-bottom: 3px solid #ed008c; color: #ed008c; text-align: center; text-transform: uppercase; font-weight: 700; margin-bottom: 20px; padding: 10px; }
.gform_confirmation_message { text-align: center; text-transform: uppercase; font-weight: 700; margin-bottom: 20px; padding: 10px; }
.gform_wrapper .gf_page_steps { font-size: 0; line-height: 0; text-align: center; width: 100%; padding-bottom: 57px; }
.gform_wrapper .gf_page_steps .gf_step { display: inline-block; padding: 6px 5px; font-size: 15px; line-height: 18px; color: #7f7096; font-weight: 700; text-transform: uppercase; }
.gform_wrapper .gf_page_steps .gf_step_active { color: #ed008c; }
.gform_wrapper .gform_page_footer { border-top: 2px solid #e5e5e5; padding: 20px 0; position: relative; overflow: hidden; }


.gform_wrapper .gform_next_button,
.gform_wrapper .gform_button { float: right; min-width: 140px; padding: 0 20px; background: #00d4fa; border: 0; cursor: pointer; color: #fff; text-transform: uppercase; border-radius: 6px; height: 52px; }
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_button { font-size: 17px; font-weight: 700; opacity: 1; }

.gform_wrapper .gform_previous_button { border: 2px solid #b1a2d0; float: left; min-width: 140px; padding: 0 20px; color: #b1a2d0; cursor: pointer; border-radius: 6px; opacity: 1; height: 52px; background: #f9f9f9; }
.gform_wrapper .gform_previous_button { font-size: 17px; font-weight: 700; opacity: 1; }
.gform_wrapper .gform_previous_button:hover, 
.gform_wrapper .gform_button:hover, 
.gform_wrapper .gform_previous_button:hover { opacity: 0.8; }
.gform_wrapper .gform_next_button:hover { opacity: 0.8; }
.gform_wrapper .gform_page { width: 100%; }


.gform_wrapper .gform_page_fields { width: 100%; min-height: 370px; padding-bottom: 20px; }
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea { background: #ed008c; color: #fff; }
.gform_wrapper .validation_message,
.gform_wrapper .gf_step_number { display: none; }

/* ===========================
	# body classes
============================ */

body.page-load .section-intro:before {
	-webkit-transform: translate(0,0%); 
	        transform: translate(0,0%); 	
}
body.page-load .section-intro .shell > img {
	-webkit-transform: translate(0%,0); 
	        transform: translate(0%,0); 	
}

body.show-header .header { opacity: 1; visibility: visible; }
body.show-header .header {
	-webkit-transform: translate(0,0%); 
	        transform: translate(0,0%); 	
}

body.show-video .section-intro .video-holder { opacity: 1; visibility: visible; }
body.show-video .section-intro .video-holder {
	-webkit-transform: translate(0,0%); 
	        transform: translate(0,0%); 	
}

body.show-pop-up { position: relative; overflow: hidden; }
body.show-pop-up .pop-up-holder.open { opacity: 1; visibility: visible; }
body.show-pop-up .pop-up-holder.open {
	-webkit-transform: scale(1); 
	        transform: scale(1);
}

/* ===========================
	# media
============================ */

@media only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5) {
	.btn-video:before,
	.section-testimonials h2:before,
	.header .left p:before { background-image: url(sprite@2x.png); background-size: 160px 160px; }
}

@media only screen and (max-width: 2040px) {

	/* ===========================
		# general
	============================ */

	h1 em { font-size: 160px; line-height: 164px; }
	h2 { font-size: 18px; line-height: 22px; }
	h2 em { font-size: 50px; line-height: 54px; }

	/* ===========================
		# sections
	============================ */

	.section-intro:before { height: 470px; }
	.section-intro .text { width: 730px; padding-top: 140px; }
	.section-intro .shell > img { width: 691px; height: auto; right: -66px; }	
}

@media only screen and (max-height: 780px) {
	
	/* ===========================
		# sections
	============================ */
	
	.section-intro .shell > img { width: 550px; }
}

@media only screen and (max-width: 1279px) {
	
	/* ===========================
		# general
	============================ */
	
	body { font-size: 14px; }

	h1 { font-size: 30px; line-height: 34px; }
	h2 { font-size: 15px; line-height: 18px; }
	h3 { font-size: 17px; line-height: 21px; }
	h4 { font-size: 15px; line-height: 19px; }
	h5 { font-size: 13px; line-height: 17px; }

	h1 em { font-size: 110px; line-height: 114px; }
	h2 em { font-size: 30px; line-height: 34px; }

	/* ===========================
		# helper
	============================ */
	
	.shell { padding: 0 20px; }

	/* ===========================
		# plugins
	============================ */
	
	.video-js { height: 310px !important; }

	/* ===========================
		# header
	============================ */
	
	.header .left p { font-size: 16px; }

	/* ===========================
		# grid
	============================ */
	
	.grid-holder { padding-bottom: 20px; }

	/* ===========================
		# entry
	============================ */
	
	.entry-center .btn, 
	.entry-center .btn-large { margin-top: 30px; }

	.entry img.icon { width: 100px; }

	/* ===========================
		# sections
	============================ */

	.section-intro:before { background-size: 100% auto; }	
	.section-intro h1 { padding-bottom: 7px; }
	.section-intro h2 { padding-bottom: 10px; }
	.section-intro h2 ~ h2 { padding-bottom: 15px; max-width: 430px; }
	.section-intro .shell { padding-top: 70px; padding-bottom: 95px; }
	.section-intro .shell > img { width: 440px; right: 20px; height: auto; }
	.section-intro .text { width: 550px; }
	.section-intro .video-holder .shell { max-width: 700px; }

	.section,
	.section-testimonials,
	.section-slider { padding: 50px 0 40px 0; }

	.section-testimonials h4 { padding-top: 35px; }

	/* ===========================
		# buttons
	============================ */
	
	.btn { font-size: 15px; min-width: 120px; }

	.btn-video { font-size: 18px; line-height: 18px; padding: 20px 70px 20px 30px; }
	.btn-video:before { background-size: 100px 100px; width: 32px; height: 32px; background-position: 0 0; margin-top: -16px; right: 15px; }

	.btn-large { font-size: 16px; line-height: 16px; padding: 20px 25px; min-width: 250px; }
}

@media only screen and (max-width: 1220px) {
	
	/* ===========================
		# sections
	============================ */
	
	.section-slider .image { width: 350px; margin-left: 25px; }
	.section-slider .text { padding: 80px 50px 0 50px; }
}

@media only screen and (max-width: 1040px) {
	
	/* ===========================
		# items
	============================ */
	
	.item-hover-text .wrap p { font-size: 30px; letter-spacing: 2px; }
	.item-hover-text .wrap span { font-size: 20px; left: -10px; margin-top: 4px; }
}

@media only screen and (max-width: 1024px) {
	
	.btn:hover,
	.btn-large:hover,
	.btn-video:hover { opacity: 1; }

	.grid-holder > .col:hover img.icon {
		-webkit-transform: translate(0,0); 
		        transform: translate(0,0); 
	}

	/* ===========================
		# sections
	============================ */

	.slider-pagination a:hover { background: #fff; }

	.section-intro:before,
	.section-intro .shell > img {
		-webkit-transform: none; 
		        transform: none; 
	}

	.section-slider .image { width: 420px; }

	/* ===========================
		# forms
	============================ */

	.gform_wrapper .gf_page_steps .gf_step { padding: 6px 4px; font-size: 14px; }
}

@media only screen and (max-width: 940px) {
	
	/* ===========================
		# transition
	============================ */
	
	.item-hover-text .hidden,
	.item-hover-text .btn-view {
		-webkit-transition: -webkit-transform 0.4s;
		        transition: transform 0.4s; 
	}

	/* ===========================
		# sections
	============================ */

	.section-slider { background: #fbfbfb; }
	.section-slider .image { width: 200px; margin: 0 auto 20px; float: none; }
	.section-slider .text { padding: 0; overflow: visible; }

	/* ===========================
		# items
	============================ */
	
	.item-hover-text { padding-bottom: 20px; position: relative; }
	.item-hover-text .wrap { height: auto; }
	.item-hover-text .wrap p { float: none; height: auto; font-size: 30px; line-height: 30px; }
	.item-hover-text .wrap span { display: inline-block; opacity: 1; visibility: visible; max-width: 500px; font-size: 16px; margin-top: 6px; }
	.item-hover-text .hidden { position: relative; right: 0; top: 0; background: #fff; padding: 0 20px 0 60px; border: 1px solid #e9e9e9; width: auto; margin: -288px 40px 0 -20px; z-index: 888; min-height: 348px; }
	.item-hover-text .hidden {
		-webkit-box-sizing: border-box;
				box-sizing: border-box;

		-webkit-transform: translate(100%,0); 
		        transform: translate(100%,0); 
	}
	.item-hover-text .hidden p { font-size: 11px; line-height: 14px; padding: 8px 0; }
	.item-hover-text .hidden p { display: block; max-height: 500px; opacity: 1; visibility: visible; max-width: 100%; padding: 10px 0; }
	.item-hover-text .hidden p ~ p { border-top: 1px solid #e9e9e9; }
	.item-hover-text .btn-view { display: block; position: absolute; left: 10px; top: 50%; margin-top: -20px; }
	.item-hover-text .btn-view { 
		-webkit-transform: rotate(0deg); 
		        transform: rotate(0deg); 
	}
	.item-hover-text.show-description .hidden { margin-right: -20px; }
	.item-hover-text.show-description .hidden {
		-webkit-transform: translate(0%,0); 
		        transform: translate(0%,0); 
	}
	.item-hover-text.show-description .btn-view {
		-webkit-transform: rotate(180deg); 
		        transform: rotate(180deg); 
	}
	.item-hover-text .btn-arrow { display: none !important; }

	/* ===========================
		# buttons
	============================ */
	
	.btn-view { width: 40px; height: 40px; font-size: 0; line-height: 0; text-indent: -4000px; position: relative; }
	.btn-view:before { content: ' '; position: absolute; width: 4px; height: 22px; background: #e9e9e9; border-radius: 4px; left: 50%; top: 50%; margin: -18px 0 0 -2px; }
	.btn-view:before {
		-webkit-transform: rotate(45deg); 
		        transform: rotate(45deg); 
	}
	.btn-view:after {
		-webkit-transform: rotate(-45deg); 
		        transform: rotate(-45deg); 
	}
	.btn-view:after { content: ' '; position: absolute; width: 4px; height: 22px; background: #e9e9e9; border-radius: 4px; left: 50%; bottom: 50%; margin: 0 0 -18px -2px; }
}

/*ipad landscape*/
@media only screen and (max-width: 899px) {
	
	/* ===========================
		# general
	============================ */
	
	body { font-size: 12px; }

	h1 { font-size: 18px; line-height: 22px; }
	h2 { font-size: 13px; line-height: 17px; }
	h3 { font-size: 15px; line-height: 19px; }

	h1 em { font-size: 70px; line-height: 74px; }
	h2 em { font-size: 20px; line-height: 24px; }

	/* ===========================
		# plugins
	============================ */
	
	.video-js video { border-radius: 0; }

	.vjs-progress-control { left: 60px; right: 40px; }

	/* ===========================
		# helper
	============================ */
	
	.wrapper > .header { display: none; }

	/* ===========================
		# footer
	============================ */
	
	.footer { text-align: center; }
	.footer p,
	.footer p ~ p { padding-top: 10px; }

	/* ===========================
		# grid
	============================ */
	
	.col-mobile-1 > .col { width: 100%; min-height: 0 !important; }
	.col-mobile-2 > .col { width: 50%; }
	.col-mobile-3 > .col { width: 33.333%; }
	.col-mobile-4 > .col { width: 25%; }
	.col-mobile-5 > .col { width: 20%; }

	.col-mobile-10 { width: 10%; }
	.col-mobile-15 { width: 15%; }
	.col-mobile-20 { width: 20%; }
	.col-mobile-25 { width: 25%; }
	.col-mobile-30 { width: 30%; }
	.col-mobile-33  { width: 33.333%; }
	.col-mobile-35 { width: 35%; }
	.col-mobile-40 { width: 40%; }
	.col-mobile-45 { width: 45%; }
	.col-mobile-50 { width: 50%; }
	.col-mobile-55 { width: 55%; }
	.col-mobile-60 { width: 60%; }
	.col-mobile-65 { width: 65%; }
	.col-mobile-70 { width: 70%; }
	.col-mobile-75 { width: 75%; }
	.col-mobile-80 { width: 80%; }
	.col-mobile-85 { width: 85%; }
	.col-mobile-90 { width: 90%; }
	.col-mobile-95 { width: 95%; }
	.col-mobile-100 { width: 100%; }

	/* ===========================
		# entry
	============================ */
	
	.entry p { padding-bottom: 20px; }
	.entry img.alignnone { padding-top: 40px; }
	.entry-center .btn, 
	.entry-center .btn-large { margin: 15px 0 0 0; }

	/* ===========================
		# sections
	============================ */
	.section-intro { height: auto; } 
	.section-intro:before { bottom: 77px; }
	.section-intro:after { content: ' '; position: absolute; left: 0; right: 0; bottom: 0; height: 77px; background: #d2007c; }
	.section-intro .shell { padding-top: 30px; padding-bottom: 77px; position: relative; z-index: 100; }
	.section-intro .shell > img { position: relative; float: right; width: 150px; height: auto; right: 0; }
	.section-intro .text { width: auto; position: static; min-height: 200px; padding: 0; }
	.section-intro .btn-video { position: absolute; left: 40px; right: 40px; bottom: 15px; min-width: 0; display: block; }
	.section-intro .video-holder { padding-top: 69px; }
	.section-intro .video-holder .shell { padding: 0 20px; }
	.section-intro .video-holder .btn-close { left: 20px; right: 20px; top: -48px; }

	.section-testimonials li { position: relative; }
	.section-testimonials li:before { content: ' '; background: url(sprite.png) no-repeat -55px 0; background-size: 100px 100px; width: 45px; height: 40px; position: absolute; left: 0; top: 0; }
	.section-testimonials h1 { padding-bottom: 25px; }
	.section-testimonials h2 { padding: 0 10px; position: relative; z-index: 10; }
	.section-testimonials h2:before { display: none; }

	.section-violet .btn,
	.section-violet .btn-large { display: block; }

	.section-image h1 { font-size: 22px; line-height: 26px; }
	.section-image h1 em { font-size: 20px; line-height: 26px; }
	.section-image .holder { position: static; }
	.section-image .holder:before,
	.section-image .holder:after { display: none; }

	.section-slider .slider { padding: 0; }

	/* ===========================
		# heading
	============================ */
	
	.heading { padding-bottom: 10px; }
	.heading h1 { padding-bottom: 10px; }

	/* ===========================
		# buttons
	============================ */
	
	.btn-video { font-size: 16px; line-height: 16px; padding: 16px 70px 16px 20px; }

	.btn-large { min-width: 0; font-size: 14px; line-height: 14px; padding: 16px 20px; }

	.btn-close { width: auto; border-radius: 6px 6px 0 0; height: 48px; }

	/* ===========================
		# pop up
	============================ */
	
	.pop-up-holder { padding: 0; background: #31214a; }
	.pop-up-holder .section-form { background: #f9f9f9; padding: 20px 0; }
	.pop-up-holder .header { position: relative; }
	.pop-up-holder .header .left,
	.pop-up-holder .header .right { float: none; text-align: center; }
	.pop-up-holder .header .right { padding-top: 20px; }
	.pop-up-holder .header .left p { display: inline-block; }
	.pop-up-holder .footer { position: relative; }

	/* ===========================
		# footer
	============================ */
	
	.gform_wrapper h3.gform_title { font-size: 18px; line-height: 22px; }
	.gform_wrapper .gf_page_steps .gf_step { font-size: 12px; line-height: 16px; }
	.gform_wrapper .ginput_container input, 
	.gform_wrapper .ginput_container textarea { font-size: 16px; padding: 10px 20px; height: 50px; }
	.gform_wrapper .gform_page_fields { min-height: 0; }
	.gform_wrapper .gform_next_button,
	input[type="submit"].gform_button { width: 38%; font-size: 14px; height: 40px; min-width: 100px; }
	.gform_wrapper .gform_previous_button{ width: 38%; font-size: 14px; height: 40px; min-width: 100px; }

}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 485px) {
	
	/* ===========================
		# footer
	============================ */
	
	.footer p ~ p,
	.footer p { float: none; text-align: center; }
	.footer p a { display: block; }
}