/*
 * Theme Name:     Stadler Consulting
 * Theme URI:      http://www.stein-stadler.de
 * Description:    Theme Stadler Consulting
 * Author:         Holger Nägl
 * Author URI:     http://www.klarseite.de
 * Version:        2.0
 */

/* 
=== NORMALIZE CSS
=== GLOBAL CSS
=== LAYOUT
    - Header
    - Home Image Links
    - Main
    - Footer
=== TYPO
*/


/* === NORMALIZE CSS === */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}


/* === GLOBAL CSS === */

html { 
    font-size: 10px;
    overflow-y: scroll;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; 
}

*,
*:before, 
*:after {
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: inherit;
}

body {
    font-size: 18px;
    font-size: 1.8rem;
    color: #333;
    font-family: Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif;
    line-height: 1.5;
}

a {
    text-decoration: none;
}

a:link { color: #333; }
a:visited { color: #333; }

main a:link,
main a:visited {
    border-bottom: 2px solid #004282;
}

a img { 
    border: none; 
}

img {
    max-width: 100%;
    height: auto;
}

.container {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 16px 0 16px;
}



/* === LAYOUT === */

/* Header */

header {
    overflow: hidden;
    margin: 20px 0 0 0;
}

@media screen and (min-width: 500px) {

    header {
        margin: 40px 0 40px 0;
        border-bottom: 3px solid #004282;
    }

}

.logo-stripe-box {
    border-bottom: 3px solid #004282;
}

header img {
    display: block;
    margin: 0 auto;
    width: 184px;
    height: 86px;
}

@media screen and (min-width: 500px) {

    header img {
        float: left;
        margin: 0;
    }

    .logo-stripe-box {
        float: left;
        border-bottom: none;
    }

}

nav {
    margin: 20px 0 20px 0;
    padding: 10px 0 10px 0;
}

#mega-menu-wrap-primary {
    background: #fff !important;
}

.mega-menu-link {
    text-align: center !important;
}

a.mega-menu-link {
    color: #333 !important;
    background-color: #fff !important;
    font-size: 18px !important;
}

.mega-menu-toggle {
    background-color: #fff !important;
}

.mega-toggle-label {
    color: #333 !important;
}

.mega-toggle-block-1::after {
    color: #333 !important;
}

@media screen and (min-width: 500px) {

    nav {
        float: right;
        margin: 43px 0 0 0;
        padding: 0;
        border: none;
    }

}

/* Home Image Links */

.home-image-links-container {
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.home-image-links-first-box,
.home-image-links-second-box {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}

@media screen and (min-width: 480px) {

    .home-image-links-first-box,
    .home-image-links-second-box {
        width: 50%;
    }

}

.home-image-links-first-box {
    float: left;
    margin-bottom: 20px;
}

@media screen and (min-width: 480px) {

    .home-image-links-first-box {
        margin-bottom: 0; 
    }

}

.home-image-links-second-box {
    float: right;
}

.home-image-links-first-box img,
.home-image-links-second-box img {
    display: block;
    margin: 0;
    padding: 0;
}

main a.home-berater-link {
    position: absolute;
    left: 0;
    bottom: 7%;
    padding: 5px 10px 5px 10px;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 300;
    background-color: rgba(0, 66, 130, 0.70);
    color: #fff;
    transition: ease-in-out 0.4s;
    border-bottom: none;
}

a.home-berater-link:hover,
a.home-berater-link:focus {
    padding-left: 30px;
}

@media screen and (min-width: 480px) {

    a.home-berater-link {
        font-size: 18px;
        font-size: 1.8rem;
    }
}

@media screen and (min-width: 600px) {

    a.home-berater-link {
        font-size: 24px;
        font-size: 2.4rem;
    }

}

/* Main */

main.home {
    border-top: none;
    padding-top: 0;
}

main {
    padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
}

@media screen and (min-width: 500px) {

    main {
        padding-top: 7px;
        padding-bottom: 40px;
    }

    main.home {
        padding-top: 10px;
    }

}

.home-slogans {
    color: #333;
    font-weight: 300;
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.5;
    text-align: center; 
}

h2.home-slogans {
        font-size:  22px;
        font-size:  2.2rem;
        margin-bottom: 50px;
    }

@media screen and (min-width: 680px) {

    .home-slogans {
        font-size: 48px;
        font-size: 4.8rem;
    }

    h2.home-slogans {
        font-size:  32px;
        font-size:  3.2rem;
        margin-bottom: 70px;
    }

}

.columns-table {
    overflow: hidden;
    width: 100%;
    table-layout: fixed;
}

.columns-table td {
    width: 100%;
    float: left;
}

.columns-table td:nth-child(1) {
    margin-bottom: 20px;
}

.columns-table.home td:nth-child(1) {
    margin-bottom: 0;
}

@media screen and (min-width: 680px) {

    .columns-table td:nth-child(1) {
        margin-bottom: 0;
        padding-right: 16px;
        padding-right: 1.6rem;
        /*width: 330px;*/
        width: 40%;
    }

    .columns-table td:nth-child(2) {
        padding-left: 16px;
        padding-left: 1.6rem;
        /*width: calc(100% - 330px);*/
        width: 60%;
    }

}

.columns-table-contact {
    overflow: hidden;
    width: 100%;
    table-layout: fixed;
}

.columns-table-contact td {
    width: 100%;
    float: right;
}

.columns-table-contact td:nth-child(1) {
    margin-bottom: 20px;
}

.columns-table-contact.home td:nth-child(1) {
    margin-bottom: 0;
}

@media screen and (min-width: 680px) {

    .columns-table-contact td:nth-child(1) {
        margin-bottom: 0;
        padding-left: 16px;
        padding-left: 1.6rem;
        /*width: 330px;*/
        width: 60%;
    }

    .columns-table-contact td:nth-child(2) {
        padding-right: 16px;
        padding-right: 1.6rem;
        /*width: calc(100% - 330px);*/
        width: 40%;
    }

}

p.kartenquelle {
    font-size: 14px;
    font-size: 1.4rem;
    margin: 0;
    padding: 0;
}



/* Footer */

footer {
    padding: 16px 0 16px 0;
    padding: 1.6rem 0 1.6rem 0;
}

footer p {
    text-align: center;
}

footer a {
    font-size: 14px;
    font-size: 1.4rem;
}

.flexbox {
        display:  flex;
        flex-direction: column;
    }

.flex-item-left {
    font-size:  14px;
}

.flex-item-right {
    padding-top:  60px;
}

.kontakt-left { 
    order: 2;
    padding-top: 60px; 
}

.kontakt-right { 
    order: 1;
    padding-top:  0; 
}



@media screen and (min-width:  680px) {
    .flexbox {
        display:  flex;
        flex-direction: row;
    }

    .flex-item-left {
        flex:  40;
    }

    .flex-item-right {
        flex:  60;
        padding-left:  40px;
        padding-top:  0;
    }

    .kontakt-left { 
        order: 1;
        padding-top: 0px; 
    }

    .kontakt-right { 
        order: 2;
    }
}



/* === TYPO === */

blockquote {
    margin: 48px;
    margin: 4.8rem;
    padding-left: 16px;
    padding-left: 1.6rem;
    padding-right: 16px;
    padding-right: 1.6rem;
    font-style: italic;
    border-left: 5px solid #aaa;
    font-size: 24px;
    font-size: 2.4rem;
}

blockquote p {
    font-size: 24px;
    font-size: 2.4rem;
}

h1 {
    color: #004282;
    font-weight: 300;
}

/* Headings Line Heights */

h1, h2 {
    line-height: 1.3;
}

/* Headings Margins */

h1 {
    margin-top: 0;
    margin-bottom: 16px;
    margin-bottom: 1.6rem;
}

@media screen and (min-width: 680px) {

    h1 {
        margin-bottom: 32px;
        margin-bottom: 3.2rem;
    }

}

*+h1 {
    margin-top: 48px;
    margin-top: 4.8rem;
}

h2, h3, h4, h5, h6 {
    margin-bottom: -3.2px;
    margin-bottom: -0.32rem;
}

*+h2, *+h3, *+h4, *+h5, *+h6 {
    margin-top: 40px;
    margin-top: 4.0rem;
}

/* Headings Font Size */

h1 {
    font-size: 32px;
    font-size: 3.2rem;
}

h2 {
    font-size: 22px;
    font-size: 2.2rem;
}

h3 {
    font-size: 18px;
    font-size: 1.8rem;
}

h4, h5, h6 {
    font-size: 16px;
    font-size: 1.6rem;
}

/* Headings Font Size */

h1 {
    font-size: 32px;
    font-size: 3.2rem;
}

h2 {
    font-size: 22px;
    font-size: 2.2rem;
}

h3 {
    font-size: 18px;
    font-size: 1.8rem;
}

h4, h5, h6 {
    font-size: 16px;
    font-size: 1.6rem;
}

hr {
    border: none;
    border-bottom: 1px solid #888;
}

ol {
    margin: 30px 12px 30px 12px;
    margin: 3.0rem 1.2rem 3.0rem 1.2rem;
    list-style: decimal;
}

ol ol {
    margin: 0;
    padding: 0;
    padding-left: 16px;
    padding-left: 1.6rem;
    list-style: lower-alpha;
}

ol ul {
    margin: 0;
    padding: 0;
    padding-left: 16px;
    padding-left: 1.6rem;
    list-style: square;
}

ul {
    margin: 30px 12px 30px 12px;
    margin: 3.0rem 1.2rem 3.0rem 1.2rem;
    list-style: square;
}

ul ul {
    margin: 0;
    padding: 0;
    padding-left: 16px;
    padding-left: 1.6rem;
    list-style: square;
}

ul ol {
    margin: 0;
    padding: 0;
    padding-left: 16px;
    padding-left: 1.6rem;
    list-style: decimal;
}

/* Cookie Notice */

div#cookie-notice {
    margin-bottom: 50px !important;
}

/* lato-300 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: local('Lato Light'), local('Lato-Light'),
       url('fonts/lato-v14-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/lato-v14-latin-300.woff') format('woff'); /* Modern Browsers */
}

/* lato-regular - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'),
       url('fonts/lato-v14-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/lato-v14-latin-regular.woff') format('woff'); /* Modern Browsers */
}

/* lato-italic - latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local('Lato Italic'), local('Lato-Italic'),
       url('fonts/lato-v14-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/lato-v14-latin-italic.woff') format('woff'); /* Modern Browsers */
}

/* lato-700 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: local('Lato Bold'), local('Lato-Bold'),
       url('fonts/lato-v14-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('fonts/lato-v14-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
