/*** GENERAL & PSEUDO CLASSES **/

#loader{ 
	opacity: 1; 
	position: absolute; 
	width: 100%; 
	height: 100%; 
	background-color: #fff; 
	z-index: 2000;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	transition: all .5s ease;
}
#progress-bar{ 
	height: 10px; 
	background-color: #ef3737; 
	-webkit-transition: width .5s ease;
	-moz-transition: width .5s ease;
	transition: width .5s ease;
	position: relative;
	top: 400px;
	width: 0px;
}
.hide-loader{ opacity: 0 !important; z-index: -1 !important; }

#main-container{ overflow: hidden; }
.npl{ padding-left: 0px; margin-right: 60px;}
.pad-large{ padding-top: 88px; padding-bottom: 88px; }
.pad-small{ padding-top: 44px; padding-bottom: 44px; }
.highlight{ color: #ef3737; }
@media (max-width:991px) {
    .pad-large {
        padding: 40px 0;
    }
}
/** ELEMENTS **/

.page-heading{ margin-bottom: 55px; text-align: center;}
.page-heading strong{ font-weight: 500; }
.page-heading h1 {
    margin-bottom: 10px;
}
.page-heading h2 {
    font-size: 1.25em;
    font-weight: bold;
    
    margin-bottom: 0;
}
.page-heading p {
    margin-top: 40px;
    margin-bottom: 20px;
    
    font-size: 1.25em;
}
.page-heading p:last-child {
    margin: 0;
}
.btn{
	background-color: #ef3737;
	border-radius: 3px;
	border-bottom: 4px solid #ad3e3e;
	padding: 12px 30px 12px 25px;
	cursor: pointer;
	color: #fff;
	display: inline-block;
	position: relative;
}
.btn i{ margin-right: 5px; font-size: 25px; }
.btn:hover{ border-bottom: 0px; border-top: 4px solid #fff; border-radius: 6px 6px 3px 3px;  }

.divider{ 
    position: relative;
	background-size: cover !important; 
	background-attachment: fixed !important;
	padding-top: 155px;
	padding-bottom: 155px;
    
    text-align: center;
}
.divider::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));
    opacity: .5;
}
.divider h1 {
    font-size: 2.5em;
    line-height: 1.5;
    
    font-weight: 300;
}
.divider h1 strong {
    font-weight: bold;
}
.hr{ height: 2px; background-color: #fff; }
@media (max-width:991px) {
    .divider {
        padding: 100px 0;
    }
    .divider h1 {
        font-size: 2em;
    }
}
@media (max-width:767px) {
    .divider {
        padding: 50px 0;
    }
    .divider h1 {
        font-size: 1.75em;
    }
}
/** TYPOG **/

.text-white{ color: #fff; }

h1, h2, h3, h4, h5, h6{ font-weight: bold; line-height: 1; }

/*** NAV STYLES ***/

#nav{ 
	position: fixed;
	z-index: 300;
	width: 100%;
	background-color: #222;
	text-align: center;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	transition: all .5s ease;
}

#nav-toggle{ 
	cursor: pointer; 
	width: 50px; 
	height: 50px; 
	padding-top: 8px; 
	background-color: #222; 
	color: #fff; 
	text-align: center; 
	position: fixed; 
	top: 66px; 
	right: 88px; 
	z-index: 300;	
}
#nav-toggle i{ font-size: 2em; color: #fff; }

#nav-list{ 
    display: flex;
    align-items: center;
    justify-content: center;
	list-style: none; 
	overflow: hidden; 
	clear: both;  
	margin-bottom:0px;
}

.open-menu{ top: 44px !important; }
	
#nav-list a { 
	color: #fff;
	font-size: 18px;
	font-weight: 400;
	text-transform: uppercase;
	padding: 30px;
	display: block;
}
#nav-list a div {
    line-height: 1;
}
#nav-list a div:last-child {
    color: #898989;
    font-size: 13px;
    
    margin-top: 5px;
}
/*.internal-link{ padding-top: 34px !important; }*/
#nav-list li{ float: left; }
#nav-list li:last-child{ border-bottom: none; }
#nav-list i{ margin-right: 11px; }

#logo{ padding: 25px 40px;}
#logo img{ height: 46px; }
#nav-list li .btn{ padding: 10px 20px; letter-spacing: 0px; text-transform: none; font-weight: 700; }
#nav-list li .btn:hover{ border-top: 4px solid #222; }
@media (max-width:767px) {
    #logo {
        padding: 15px 20px;
    }
}
@media (max-width:575px) {
    #logo img {
        height: 36px;
    }
}

/*** HOME STYLES ***/

#home-slider { overflow: hidden; position: relative; }
#home-slider h1{ font-weight: bold; margin-bottom: 20px;}
#home-slider strong{ font-weight: 900; }
#home-slider .slides li{ position: relative; background-size: cover !important; background-attachment: fixed !important; height: 780px!important; display: flex!important;
align-items: center;padding-top: 144px;}
#home-slider .slides li:before{ content: ''; position: absolute; width: 100%; height: 100%; background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));opacity: .65; }
#home-slider .internal-link{ padding-top: 0px !important; }
.byline{ font-weight: 300;line-height: 1.285;}
.slide-content{ 
    padding-top: 0!important;
	opacity: 0;
	position: relative;
	top: 100px;
	-webkit-transition: all .5s ease-out;
	-moz-transition: all .5s ease-out;
	transition: all .5s ease-out;
}
.show-slide{ opacity: 1; top: 0px; }
@media (max-width:1199px) {
    #home-slider .slides li {
        height: 68.4vw!important;
        min-height: 350px;
    }
}
@media (max-width:767px) {
    .slide-content {
        padding: 0 15px;
    }
    #home-slider .slides li {
        padding-top: 76px;
    }
    
}
@media (max-width:575px) {
    #home-slider .slides li {
        padding-top: 66px;
    }
}

/*** CLIENT DIVIDER ***/

.client img{ max-width: 70%; position: relative; top: 8px; }

/*** FEATURES STYLES ***/

#features{ background-color: #f5f5f5; }

.feature{ margin-bottom: 66px; display: flex;flex-wrap: wrap; align-items: center;}
.feature:nth-last-child(-n+2){ margin-bottom: 0px; }

.feature-bubble { 
	height: 120px; 
	width: 120px; 
	border-radius: 50%;
	background-color: #be1a20;
	border-bottom: 4px solid #66272b;
	text-align: center;
    
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-bubble i{ font-size: 60px; }
.feature-detail h4{ color: #be1a20;margin-bottom: 22px; font-size: 1.875em; }
.feature-detail h4 strong{ font-weight: 700; }
.feature-detail p {
    margin: 0;
    
    font-size: 1.5em;
    line-height: 1.2;
}

/*** GALLERY SMALL ***/

#gallery-small{ padding-top: 88px; }
#gallery-small .page-heading{ margin-bottom: 22px; }
#gallery-small p{ margin-bottom: 44px; }

/*** PRICING ***/

.pricing-table{ width: 100%; position: relative; }
.pricing-table .upper{ padding: 44px 0px 44px 0px; background-color: #222; border-radius: 10px 10px 0px 0px; }
.terms-wrapper{ background-color: #ef3737; padding: 15px 0px 15px 0px; text-align: center; }
.terms{ display: inline-block; color: #fff; }
.terms .dollars{ font-weight: 700; font-size: 28px; }
.terms .cents{ font-weight: 700; font-size: 16px; position: relative; bottom: 7px; }
.terms .payment{ font-weight: 300; font-size: 16px; position: relative; bottom: 7px; margin-left: 5px;  }
.plan-features{ padding-top: 22px; padding-bottom: 22px; text-align: center; border: solid 1px #dddddd; border-radius: 0px 0px 10px 10px; }
.feature-list li{ font-size: 22px; font-weight: 300; margin-bottom: 22px; }
.feature-list li strong{ font-weight: 700; }
.value{ width: 100px; position: absolute; right: 0px; top: -8px; }

/*** GALLERY STYLES ***/

#gallery{ background-color: #f5f5f5; }

#gallery-slider{ position: relative; }
#gallery-slider img{ max-width: 680px; max-height: 400px; }

/*** FAQ STYLES ***/


.question{ overflow: hidden; cursor: pointer; -webkit-transition: all .5s ease; max-height: 128px; padding: 30px;transition: padding .3s ease;}
.question:hover{ background-color: #be1a20 !important; }
.question:hover h2,.question:hover h3 { color: #fff; }
.question:nth-child(even){ background-color: #f5f5f5; }
.question h2{ font-size: 2.1875em; position: relative;}
.question h2::before {
    content: '+';
    position: absolute;
    top: 0;
    left: -30px;
    
    font-weight: 300;
}
.question h3 {
    color: #222;
    font-weight: 400;
    font-size: 1.25em;
    
    margin-top: 10px;
}
.question .hr{margin-bottom: 42px;margin-top: 20px;visibility: hidden;}
.question p {
    margin: 0 0 15px;
    
    font-size: 1.125em;
}
.question p:last-of-type {
    margin-bottom: 0;
}
.open-question{ background-color: #be1a20 !important; max-height: inherit; color: #fff; padding: 50px 30px}
.open-question h2{ color: #fff;}

.open-question h3 {
    color: #fff;
}
.open-question .hr {
    visibility: visible;
}
@media (max-width:991px) {
    .question {
        padding: 30px 15px; 
    }
    .question:not(.open-question) {
	    max-height: 117px;
    }
    .question h2 {
        font-size: 1.6875em;
    }
}
@media (max-width:768px) {
    .question h2 {
        font-size: 1.6875em;
    }
}
/*** CONTACT STYLES ***/

#contact-upper{ background-color: #f5f5f5; }
#contact-upper h1{ margin-bottom: 22px; }
#contact-upper p{ margin-bottom: 0px; }

#social-links{ overflow: hidden; display: inline-block; margin-top: 15px; }
#social-links li{ float: left; margin-right: 22px; list-style: none; margin-top: 11px; }
#social-links li:last-child{ margin-right: 0px; }
#social-links li i{ font-size: 4.5em; color: #222; }

#contact-lower{ background-color: #ef3737; }
#contact-lower h1{ margin-top: 15px; }
#contact-lower input{ -webkit-appearance: none; min-height: 75px; border-bottom: 4px solid #ccc; border-radius: 10px; width: 40%; margin-right: 17px; float: left;  }
#newsletter-form{ overflow: hidden; }
#form-btn{ 
	cursor: pointer; 
	padding-top: 7px; 
	float: right; 
	height: 75px; 
	border-radius: 10px; 
	width: 75px; 
	border-bottom: 4px solid #2c9937; 
	background-color: #49db57; 
	text-align: center; 
	position: relative;
}

#form-btn i{ font-size: 48px; color: #fff; }
#form-btn:hover{ border-bottom: 0px; height: 71px; top: 4px; }

.details-error-wrap{ 
	padding: 10px;
	color: #fff;
	border-radius: 4px;
	border: 1px solid;
	display: none;
}
.show-error{ display: inline-block; }
.form-sent{ 
	padding: 10px;
	color: #fff;
	border-radius: 4px;
	border: 1px solid;
	display: none;
}
.show-sent{ display: inline-block; }

/*** FOOTER STYLES ***/

#footer{ background-color: #fff !important; }
.logotext img{ max-width: 72px; padding-left: 4px; }
.footer-link{ color: #999; font-size: 14px; margin-right: 11px; }




/* customize */
body,html,#main-container {
    overflow-x: hidden;
}

.featureblock {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.feature__contentbox {
    width: calc(100% - 180px);
}
.copytext {
    color: #666;
    font-size: 16px;
    line-height: 1.5;
}
.question___box {
    display: flex;
    flex-wrap: wrap;
}
.question__info {
    flex: 1;
    
    padding-right: 30px;
}
.question__slider {
    max-width: 350px;
}
.question__slider .slick-arrow {
    z-index: 10;
    
    box-shadow: none;
}
.question__slider .slick-prev {
    left: -15px;
}
.question__slider .slick-next {
    right: -15px;
}
.question__slider .slick-arrow {
    display: block;
    width: 30px;
    height: 30px;
    line-height: 30px;
}
.question__slider .slick-arrow::before { 
    display: block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    
    color: #ddd;
    
    border-radius: 50%;
    background-color: #fff;
}
.question__imgbox {
    position: relative;
}
.question__imgbox img {
    position: relative;
    z-index: 2;    
}
/*
.question__imgbox::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    
    background-color: #fff;
    
    -webkit-filter: blur(2px);
    -moz-filter: blur(2px);
    -ms-filter: blur(2px);
    -o-filter: blur(2px);
    filter: blur(2px);
    
    -webkit-transform: translate(3px, 3px);
    -moz-transform: translate(3px, 3px);
    -ms-transform: translate(3px, 3px);
    -o-transform: translate(3px, 3px);
    transform: translate(3px, 3px);
}
*/
.contact {
    position: relative;
    
    background-size: cover;
    background-position: center;
    
    padding: 85px 0;
}
.contact::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 86%;
    height: 100%;
    
    background: linear-gradient(90deg, #0d3056, rgba(0,0,0,0));
}
.contact__title {
    color: #fff;
    font-size: 2.5em;
    
    margin-bottom: 10px;
}
.contact__subtitle {
    color: #b2b2b2;
    font-size: 1.25em;
    
    margin-bottom: 50px;
}
.contact__companyname {
    color: #fff;
    font-size: 1.875em;
    letter-spacing: .075em;
    line-height: 1.2;
    
    margin-bottom: 20px;
}
.contact__infobox {
    display: flex;
    flex-wrap: wrap;
}
.contact__infoleft {
    margin-right: 45px;
}
.contact__infotext {
    max-width: 400px;
    color: #fff;
    font-size: 1.125em;
    font-weight: bold;
    line-height: 1.66;
    
    margin-bottom: 15px;
}
.contact__infotext:last-child {
    margin-bottom: 0;
}
@media (max-width:991px) {
    h1 {
        font-size: 1.8em;
    }
    .contact__title,
    .feature-detail h4 {
        font-size: 1.6875em;
    }
    .contact__subtitle {
        font-size: 1em;
        margin-bottom: 20px;
    }
    .feature-bubble {
        width: 100px;
        height: 100px;
    }
    .npl {
        margin-right: 20px;
    }
    .feature__contentbox {
        width: calc(100% - 120px);
    }
    .feature {
        margin-bottom: 50px;
    }
    .page-heading p {
        font-size: 1em;
        margin: 20px 0;
    }
    .contact__companyname {
        font-size: 1.5em;
    }
    .contact__infotext {
        font-size: 1em;
    }
}
@media (max-width:767px) {
    .feature {
        flex-direction: column;
        width: 50%;
    }
    .npl {
        margin: 0 0 20px;
    }
    .feature-detail h4 {
        font-size: 1.5em;
        margin: 0 0 10px;
    }
    .feature-detail p {
        font-size: 1em;
    }
    .question__info {
        flex: auto;
        
        padding: 0;
        margin-bottom: 20px;
    }
    .question__slider {
        width: 100%;
        
        margin-left: auto;
        margin-right: auto;
    }
    .question__imgbox img {
        max-width: 100%;
    }
    .contact__infobox {
        flex-direction: column;
    }
    .contact {
        padding: 50px 0;
    }
    .contact__infotext {
        max-width: 100%;
    }
}
@media (max-width:575px) {
    .feature {
        width: 100%;
    }
    .feature:nth-last-child(2) {
        margin-bottom: 50px;
    }
}