/**
 * Name: layout.css
 *	
 *	T.O.C
 *
 * =Wrap
 * =Header Top
 * =Header
 * =Logo
 * =Menu
 * =Mobile Menu
 * =Mobile menu trigger
 * =Custom search form
 * =Sticky Header
 * =Content
 * =Page Header
 * =Footer Top
 * =Footer
 * =Footer Bottom
 * =Back to top 
 *
 */
/* ==========================================================================
   =Wrap
   ========================================================================== */
#wrap {
    position: relative;
    background-color: #fff;
}

@media (max-width: 767px)
{
    #wrap {
        border-top: 10px solid #313947;
    }
}

/* ==========================================================================
	=Header Top
	========================================================================== */
#header-top {
    padding: 12px 0;
    background-color: #313947;
    color: #fff;
}

#header-top a,
#header-top h1,
#header-top h2,
#header-top h3,
#header-top h4,
#header-top h5,
#header-top h6 {
    color: #fff;
}

#header-top .widget:last-child {
    margin-bottom: 0;
}

#header-top .ewf_widget_contact_info {
    float: right;
}

#header-top .ewf_widget_contact_info ul li {
    display: inline-block;
    padding-bottom: 0;
    padding-left: 30px;
    margin-right: 30px;
    margin-bottom: 0;
}

#header-top .ewf_widget_contact_info ul li:last-child {
    margin-right: 0;
}

#header-top .ewf_widget_contact_info ul li span {
    border: none;
}

@media (max-width: 767px)
{
    #header-top {
        display: none;
    }
}

/* ==========================================================================
   =Header 
   ========================================================================== */
#header {
}

/* ==========================================================================
   =Logo
   ========================================================================== */
#logo {
    display: inline-block;
    padding: 0px 0;
    margin-left: 0px;
    margin-right: 0px;
}

/* ==========================================================================
   =Menu 
   ========================================================================== */
/* =Menu Basics
   ========================================================================== */
.sf-menu,
.sf-menu ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.sf-menu > li {
    float: left;
}

.sf-menu > li > a {
    position: relative;
    display: block;
}

/**
 	 * 1. z-index is 1025 because the sticky menu is 1020
 	 */
.sf-menu .sf-mega,
.sf-menu li.dropdown ul {
    position: absolute;
    z-index: 1025;
    top: 100%;
    left: 0;
    display: none;
}

.sf-menu li.dropdown {
    position: relative;
}

.sf-menu li.dropdown ul ul {
    top: -1px;
    left: 100%;
}

.sf-menu li:hover > .sf-mega,
.sf-menu li.sfHover > .sf-mega,
.sf-menu li.dropdown:hover > ul,
.sf-menu li.dropdown.sfHover > ul {
    display: block;
}

/* =Menu Skin
   ========================================================================== */
.sf-menu {
    float: right;
}

.sf-menu a {
    display: block;
    font: 14px 'Open Sans', Arial, sans-serif;
    color: #888;
    text-decoration: none;
}

.sf-menu li.dropdown a {
    padding: 10px 15px;
}

.sf-menu li:last-child > a {
    border-bottom: none;
}

.sf-menu > li > a,
.sf-menu > li.dropdown > a {
    padding: 50px 25px 51px 25px;
    border: none;
    color: #888;
    font-size: 14px;
    border-top: 2px solid transparent;
    margin-top: -2px;
    margin-right: 5px;
}

.sf-menu > li a i {
    margin-right: 5px;
}

.sf-menu > li.current > a {
}

.sf-menu li.sfHover > a {
    color: #4fb7ff;
    text-decoration: none;
}

.sf-menu > li.current > a,
.sf-menu > li.current.dropdown > a {
    border-top-color: #4fb7ff;
    background-color: #f7f7f7;
}

@media (min-width: 1400px)
{
    .sf-menu > li > a,
    .sf-menu > li.dropdown > a {
        padding: 50px 30px 51px 30px;
    }
}

/* =DropDown
   ========================================================================== */
/**
 	 * 1. allow long menu items to determine submenu width
 	 */
.sf-menu li.dropdown ul {
    min-width: 180px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background-color: rgba(49, 57, 71, 0.9);
}

.sf-menu li.dropdown ul li a {
    padding: 15px;
    color: #fff;
}

.sf-menu li.dropdown ul li a:hover {
    color: #4fb7ff;
}

.sf-menu > li.dropdown > ul {
    border-top: 3px solid #4fb7ff;
}

/* =Mega Menu Section
   ========================================================================== */
.sf-mega {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 15px 0;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-top: 3px solid #4fb7ff;
    margin-top: -3px;
    background-color: rgba(49, 57, 71, 0.9);
}

.sf-mega a {
    color: #fff;
}

.sf-mega-section {
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 20px;
    color: #fff;
}

.sf-mega-section ul li a {
    padding: 15px 0;
}

.sf-mega-section ul li a:hover {
    color: #4fb7ff;
}

.sf-mega-section .btn {
    display: inline-block;
}

/**
 	 * 1. set mega menu section size, as a percentage of the mega menu width
 	 */
.sf-mega.sf-mega-1-col .sf-mega-section {
    width: 100%;
}

/* 1 */
.sf-mega.sf-mega-2-col .sf-mega-section {
    width: 50%;
}

.sf-mega.sf-mega-3-col .sf-mega-section {
    width: 33.3333333333%;
}

.sf-mega.sf-mega-4-col .sf-mega-section {
    width: 25%;
}

/* =Menu Arrows
   ========================================================================== */
.sf-arrows .sf-with-ul:after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 0;
    height: 0;
    display: none;
    border: 5px solid transparent;
    border-top-color: #fff;
    margin-top: 2px;
    content: "";
}

.sf-arrows ul li .sf-with-ul:after {
    display: block;
}

.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul:after,
.sf-arrows > .sfHover > .sf-with-ul:after {
    border-top-color: #4fb7ff;
}

.sf-arrows ul .sf-with-ul:after {
    border-color: transparent;
    border-left-color: #999;
    margin-top: -5px;
    margin-right: 4px;
}

.sf-arrows ul li > .sf-with-ul:focus:after,
.sf-arrows ul li:hover > .sf-with-ul:after,
.sf-arrows ul .sfHover > .sf-with-ul:after {
    border-left-color: #4fb7ff;
}

@media (min-width: 768px) and (max-width: 979px)
{
    #menu {
        display: none;
    }
}

@media (max-width: 767px)
{
    #menu {
        display: none;
    }
}

/* ==========================================================================
   =Mobile Menu 
   ========================================================================== */
#mobile-menu {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 0;
    background-color: rgba(49, 57, 71, 0.7);
}

#mobile-menu li {
    display: block;
    margin: 0;
}

#mobile-menu > li > ul,
#mobile-menu > li > ul > li > ul {
    display: none;
    margin-left: 0;
}

#mobile-menu .sf-mega {
    display: none;
    padding: 0;
    border: none;
    margin: 0;
    background-color: transparent;
}

#mobile-menu .sf-mega-section {
    float: none;
    width: 100%;
    padding: 0;
    border: none;
}

#mobile-menu .sf-mega-section ul {
    margin-left: 0;
}

#mobile-menu li a {
    position: relative;
    display: block;
    padding: 15px 25px;
    border-top: 1px solid #e0e0e0;
    color: #fff;
    text-align: left;
    text-decoration: none;
}

#mobile-menu ul a {
    padding-left: 45px;
}

#mobile-menu ul li ul a {
    padding-left: 65px;
}

#mobile-menu .mobile-menu-submenu-arrow {
    position: absolute;
    top: 0;
    right: 0;
    width: 70px;
    height: 100%;
    border-left: 1px solid #e0e0e0;
    color: #fff;
    font-size: 20px;
    line-height: 50px;
    text-align: center;
    cursor: pointer;
}

#mobile-menu .mobile-menu-submenu-arrow:hover {
    background-color: #313947;
}

#mobile-menu li a:hover {
}

#mobile-menu {
    display: none;
}

/* ==========================================================================
   =Mobile menu trigger
   ========================================================================== */
#mobile-menu-trigger {
    float: right;
    display: none;
    font-size: 32px;
}

@media (min-width: 768px) and (max-width: 979px)
{
    #mobile-menu-trigger {
        display: block;
        margin-top: 45px;
        margin-right: 0;
    }
}

@media (max-width: 767px)
{
    #mobile-menu-trigger {
        position: absolute;
        top: 35px;
        right: 20px;
        display: block;
        padding: 10px;
        margin-top: 0;
    }
}

@media only screen and (min-width: 480px) and (max-width: 767px)
{
    #mobile-menu-trigger {
        right: 30px;
    }
}

/* ==========================================================================
   =Custom search form 
   ========================================================================== */
#custom-search-button + .sf-menu {
    margin-right: 60px;
}

#custom-search-button {
    position: absolute;
    top: 43px;
    right: 0;
    display: block;
    width: 32px;
    height: 32px;
    background: url(../images/bg-search.png) no-repeat center center;
    border: 1px solid #bebebe;
    border-radius: 3px;
}

/**
 	 * 1. z-index is 1030 because the dropdown menu has a z-index of 1025 
 	 */
#custom-search-form {
    position: absolute;
    z-index: 1030;
    top: 97px;
    right: -10px;
    display: none;
}

#custom-search-form:before {
    position: absolute;
    z-index: 9;
    top: -9px;
    right: 20px;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 10px solid #e0e0e0;
    content: "";
}

#custom-search-form:after {
    position: absolute;
    z-index: 10;
    top: -7px;
    right: 20px;
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 10px solid #fff;
    content: "";
}

#custom-search-submit {
    display: none;
}

#custom-search-form #s {
    width: 220px;
    padding: 8px 10px;
    border-radius: 0;
    background-color: #fff;
}

#custom-search-form #s:focus {
    border-color: #e0e0e0;
}

@media (min-width: 768px) and (max-width: 979px)
{
    #custom-search-button {
        right: 50px;
    }

    #custom-search-form {
        right: 40px;
    }
}

@media (max-width: 767px)
{
    #custom-search-button {
        display: none;
    }
}

/* ==========================================================================
   =Sticky Header
   ========================================================================== */
@media (min-width: 1025px)
{
    /**
 	 * We want to allow the header to be sticky on resolutions > 1024. In order to do this
	 * we position it absolute and when the sticky trigger point is reached we give the #header
     * the .stuck class	and change it's positioning to fixed
	 * 
	 * 1. This value should be the height of the #header 
	 * 2. This value should be the height of the #header-top	
 	 */
    #header-top {
        margin-bottom: 120px;
    }

    #header {
        position: absolute;
        top: 48px;
        right: 0;
        left: 0;
        margin: 0 auto;
    }

    /**
		 * 1. The z-index has to be 1020 so it is bigger than the back to top buttons z-index that is 1010
		 */
    #header.stuck {
        position: fixed;
        z-index: 1020;
        top: 0;
        width: 100%;
        padding-top: 15px;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
        margin: 0 auto;
        background-color: #fff;
        -webkit-transition: padding 0.3s;
        transition: padding 0.3s;
    }

    #header.stuck  #logo {
        padding: 10px 0;
    }

    #header.stuck  .sf-menu > li > a,
    #header.stuck  .sf-menu > li.dropdown > a {
        padding: 33px 25px;
        margin-top: -15px;
    }

    #header.stuck  .sf-mega {
        margin-top: 0;
    }

    #header.stuck .sf-arrows .sf-with-ul:after {
        margin-top: -6px;
    }

    #header.stuck  #custom-search-button {
        top: 12px;
    }

    #header.stuck  #custom-search-form {
        top: 72px;
    }
}

@media (min-width: 1400px)
{
    #header.stuck .sf-menu > li > a,
    #header.stuck .sf-menu > li.dropdown > a {
        padding: 33px 30px;
    }
}

/* ==========================================================================
   =Content
   ========================================================================== */
#content {
    padding-bottom: 50px;
}

/* ==========================================================================
   =Page Header
   ========================================================================== */
#page-header {
}

#page-header {
    position: relative;
    padding: 55px 0;
    margin-bottom: 100px;
    background: no-repeat center center;
    color: #fff;
}

#page-header h3 {
    margin-bottom: 0;
    color: #fff;
    line-height: 24px;
    font-weight: 700;
    text-transform: capitalize;
}

#page-header-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 33, 56, 0.75);
}

/* ==========================================================================
   =Footer Top
   ========================================================================== */
#footer-top {
    background-color: #f9f9f9;
}

#footer-top-widget-area-1 {
}

/* ==========================================================================
   =Footer
   ========================================================================== */
#footer {
    padding: 60px 0 30px 0;
    background-color: #313947;
    color: #fff;
}

#footer a,
#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6 {
    color: #fff;
}

#footer .widget-title {
    text-transform: none;
}

#footer .widget {
    margin-bottom: 40px;
}

#footer-widget-area-1 {
}

#footer-widget-area-2 {
}

#footer-widget-area-3 {
}

#footer-widget-area-4 {
}

/* ==========================================================================
   =Footer Bottom
   ========================================================================== */
#footer-bottom {
    padding: 20px 0;
    background-color: #0d131b;
    color: #fff;
}

#footer-bottom a,
#footer-bottom h1,
#footer-bottom h2,
#footer-bottom h3,
#footer-bottom h4,
#footer-bottom h5,
#footer-bottom h6 {
    color: #fff;
}

#footer-bottom .widget:last-child {
    margin-bottom: 0;
}

#footer-bottom .ewf_widget_social_media {
    float: right;
}

#footer-bottom-widget-area-1 {
}

#footer-bottom-widget-area-2 {
}

@media (max-width: 767px)
{
    #footer-bottom .ewf_widget_social_media {
        float: none;
    }
}

/* ==========================================================================
   =Back to top
   ========================================================================== */
#back-to-top {
    position: fixed;
    z-index: 1010;
    right: -40px;
    bottom: 20px;
    width: 40px;
    height: 40px;
    border-radius: 3px;
    background-color: #111;
    color: #fafafa;
    font-size: 30px;
    line-height: 40px;
    text-align: center;
    text-decoration: none;
    opacity: 0.5;
    cursor: pointer;
    -webkit-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

#back-to-top i {
    font-size: 28px;
    line-height: 40px;
    font-weight: normal;
    vertical-align: top;
    -webkit-transition: all 0.4s ease 0s;
    transition: all 0.4s ease 0s;
}

#back-to-top:hover {
    background-color: rgba(0, 0, 0, 0.7);
}

#back-to-top:hover i {
    color: #fff;
}

#back-to-top.visible {
    right: 40px;
}

#back-to-top.gone {
    right: -40px;
}