/**
 * Name: layout.css
 *
 *        T.O.C
 *
 * =Wrap
 * =Header
 * =Logo
 * =Menu
 * =Mobile Menu
 * =Mobile menu trigger
 * =Custom search form
 * =Sticky Header
 * =Slider ohne Text
 * =Content
 * =Page Header
 * =Footer wrapper
 * =Footer
 * =Footer Bottom
 * =Back to top                    
 * =Psge 404
 *
 */


/* ==========================================================================
   =Wrap
   ========================================================================== */

        #wrap {
                position: relative;
                max-width: 1545px;
                margin: 0 auto;
                background-color: #fff;
        }

        @media (max-width: 767px) {

                #wrap {}

        }

/* ==========================================================================
   =Header
   ========================================================================== */

        #header {
                margin: 0 auto;
        }

/* ==========================================================================
   =Logo
   ========================================================================== */

        #logo {  padding: 53px 0 48px 0; }

        /**
         * 1. displaying the <a> inline-block makes it depends on the size of it's children
         *    we add max-width:100% to tell it not that it shouldn't extend beyond the size of it's
         *    parent if it's child is very large eg a 1000x1000 logo img
         */

        #logo a {
                display: inline-block;
                max-width: 100%; /* 1 */
        }

        #logo img { display: block; }

        @media (max-width: 767px) {

                /**
                 * 1. on mobile devices logo padding right needs to be the width of the
                 *          mobile menu trigger + some spacing so as to not let the logo <a>
                 *    overlap the mobile menu trigger
                 */

                #logo {
                        padding: 25px 50px 20px 0; /* 1 */
                }

        }

/* ==========================================================================
   =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; /* 1 */
                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;
                padding: 15px 0;
                border-bottom: 1px solid #d7d7d7;
                font: 13px 'Roboto', Arial, sans-serif;
                font-weight: 400;
                color: #fff;
                text-decoration: none;
                text-transform: uppercase;
        }

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

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

        .sf-menu > li > a,
        .sf-menu > li.dropdown > a {
                padding: 77px 15px;
                border: none;
                color: #181818;
                font-size: 16px;
                font-weight: 900;
        }

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

        .sf-menu > li.current > a,
        .sf-menu > li > a:hover,
        .sf-menu li.sfHover > a {
                color: #009ee0;
                text-decoration: none;
        }

/* =DropDown
   ========================================================================== */

        /**
          * 1. allow long menu items to determine submenu width
          */

        .sf-menu li.dropdown ul {
                min-width: 245px; /* 1 */
                border: 1px solid rgba(0, 0, 0, 0.1);
                background-color: rgba(0,0,0,0.5);
        }

        .sf-menu > li.dropdown > ul {}

        .sf-menu > li.dropdown > ul li a:hover,
        .sf-menu > li.dropdown > ul li.sfHover > a { color: #009ee0; }

/* =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);
                margin-top: 0;
                background-color: #7a7885;
                color: #fff;
        }

        .sf-mega-section {
                float: left;
                -webkit-box-sizing: border-box;
                   -moz-box-sizing: border-box;
                                box-sizing: border-box;
                padding: 0 25px;
                border-right: 1px solid #d7d7d7;
        }

        .sf-mega-section:last-child { border-right: none; }

        .sf-mega-section a:hover { color: #d7d7d7; }

        .sf-mega-section .btn {
                display: inline-block;
                padding: 5px 10px;
                border: 2px solid #fff;
        }

        /**
          * 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;
                border: 4px solid transparent;
                border-top-color: #7a7885;
                margin-top: -3px;
                content: "";
        }

        .sf-arrows > li > .sf-with-ul:focus:after,
        .sf-arrows > li:hover > .sf-with-ul:after,
        .sf-arrows > .sfHover > .sf-with-ul:after {  }

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

        .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 {  }

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

                #menu { display: none; }

        }

        @media (max-width: 767px) {

                #menu { display: none; }

        }

/* ==========================================================================
   =Mobile Menu
   ========================================================================== */

        #mobile-menu {
                border-bottom: 1px solid #e0e0e0;
                margin-bottom: 0;
        }

        #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: #fff;
        }

        #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: #111;
                font-size: 13px;
                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: #111;
                font-size: 20px;
                line-height: 50px;
                text-align: center;
                cursor: pointer;
        }

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

        #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: 1399px) {

                #mobile-menu-trigger {
                        display: block;
                        margin-top: 72px;
                        margin-right: 0;
                }

        }

        @media (max-width: 767px) {

                #mobile-menu-trigger {
                        position: absolute;
                        top: 34px;
                        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 + nav { margin-right: 60px; }

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

        #custom-search-form {
                position: absolute;
                top: 50%;
                width: 100%;
                margin-top: -45px;
        }

        /**
          * 1. z-index is 1030 because the dropdown menu has a z-index of 1025
          */

        #custom-search-form-container {
                position: fixed;
                z-index: 1030;
                top: 0;
                right: 0;
                left: 0;
                display: none;
                padding: 30px 0 20px 0;
                background-color: rgba(246,246,246,0.95);
                text-align: center;
        }


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

        #custom-search-form #s {
                width: 50%;
                padding: 8px 10px;
                border-color: #7a7885;
                border-radius: 3px;
                background-color: #fff;
        }

        #custom-search-submit {
                display: inline-block;
                border: none;
                margin-left: -50px;
                background: url(../images/bg-search.png) no-repeat center center;
        }

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

        #custom-search-form a.custom-search-form-close {
                position: relative;
                top: 3px;
                display: inline-block;
                width: 38px;
                height: 38px;
                border-radius: 3px;
                margin-left: 20px;
                font-size: 28px;
                line-height: 38px;
                font-weight: 400;
                text-align: center;
                text-decoration: none;
        }


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

                #custom-search-button { right: 60px; }

        }

        @media (max-width: 767px) {

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

        }

/* ==========================================================================
   =Sticky Header
   ========================================================================== */

        @media (min-width: 1399px) {

        /**
          * 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, if it exists
          */

                #content {
                        padding-top: 175px;                /* 1 */
                }

                #header {
                        position: absolute;
                        top: 0;                                 /* 2 */
                        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; /* 1 */
                        top: 0;
                        left: 0;
                        right: 0;
                        width: 100%;
                        padding: 5px 0 0 0;
                        border-bottom: 1px solid #e0e0e0;
                        margin: 0 auto;
                        background-color: rgba(255, 255, 255, 0.95);
                        -webkit-transition: padding 0.3s;
                                        transition: padding 0.3s;
                }

                #header.stuck  #logo { padding: 10px 0 6px 0; }
                #header.stuck  #logo img { width: 75%; }

                #header.stuck  .sf-menu > li > a,
                #header.stuck  .sf-menu > li.dropdown > a { padding: 27px 15px; }

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

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



        }

/* ==========================================================================
   =Content
   ========================================================================== */

        #content  { padding-bottom: 60px; }

/* ==========================================================================
   =Page Header
   ========================================================================== */

        #page-header {
                position: relative;
                height: 460px;
                margin-bottom: 110px;
                background: no-repeat center center;
                color: #fff;
        }

        #page-header h1 {
                position: absolute;
                top: 0;
                left: 0;
                padding: 35px 100px 35px 45px;
                background-color: rgba(0,0,0,0.5);
                line-height: 35px;
        }

        #page-header h1 small {
                display: block;
                font-size: 18px;
                font-weight: 400;
                text-transform: lowercase;
        }

        @media (max-width: 767px) {

                #page-header { height: 260px; }

                #page-header h1 {
                        right: 0;
                        padding: 30px 20px;
                        font-size: 24px
                }

                #page-header h1 small { display: none; }

        }

/* ==========================================================================
   =Footer wrapper
   ========================================================================== */

        #footer-wrapper {
                padding-top: 30px;
                background-color: #009ee0;
                color: #ffffff;
                font-weight: 400;
        }

        #footer-wrapper a { color: #ffffff; }

        #footer-wrapper .slider-control span:hover { border-color: #ffffff; }
        #footer-wrapper .slider-control span:hover a { color: #ffffff; }

/* ==========================================================================
   =Footer
   ========================================================================== */

        #footer {}

        #footer-widget-area-1 {}
        #footer-widget-area-2 {}
        #footer-widget-area-3 {}

/* ==========================================================================
   =Footer Bottom
   ========================================================================== */

        #footer + #footer-bottom { border-top: 1px solid #fff; }

        #footer-bottom { padding-top: 30px; }

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

/* ==========================================================================
   =Back to top
   ========================================================================== */

        #back-to-top {
                position: fixed;
                z-index: 1010;
                right: -40px;
                bottom: 20px;
                width: 40px;
                height: 40px;
                border-radius: 3px;
                background-color: #009ee0;
                color: #252222;
                font-size: 30px;
                text-align: center;
                cursor: pointer;
                text-decoration: none;
                -webkit-transition: all 0.4s ease 0s;
                                transition: all 0.4s ease 0s;
        }

        #back-to-top i {
                font-size: 26px;
                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; }

/* ==========================================================================
   =Page 404
   ========================================================================== */

           h1.error {
                font-size: 230px;
                line-height: 150px;
                text-align: center;
        }

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

                h1.error {
                        font-size: 150px;
                        line-height: 100px;
                }

        }

        @media (max-width: 767px) {

                h1.error {
                        font-size: 100px;
                        line-height: 150px;
                }

        }

/* ==========================================================================
   =Slider ohne Text
   ========================================================================== */        
      @media(max-width: 1000px){
  	  .caption {
  		display: none;
      }
      }        