/*@import url(https://fonts.googleapis.com/css?family=Sanchez:400,300,500,700,800);*/

/* roboto-regular - latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/roboto-v27-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/roboto-v27-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/roboto-v27-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/roboto-v27-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('../fonts/roboto-v27-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/roboto-v27-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

:root {
    --mgLuSchrift: #333333;
    --mgLuAkzent: #562380;
    --mgLuAkzent2: #6A3B91;
    --mgLuAkzent3: #d6bfff/*#ad80ff*/;
    --mgLuHell: #ffffff;
    --mgLuDunkel: #000000;
    --mgLuRahmen: #e7e7e7;
    --mgLuAlarm: #ff4737;
    --mgLuBlau: #356ab0;
    --mgLuFormularBox: #f9faea;
    --mgLuBoxSchatten: 2px 2px 5px rgba(0,0,0,0.5);
}

html, body {
    font-family: 'Roboto', arial, helvetica, sans-serif;
    margin:0;     /* This is used to reset any browser-default margins */
    padding:0 0 0 0;
    height:100vh; /* This is needed to overcome a Chrome bug. */
    width:100%;
}

#nav { background-color: var(--mgLuHell); }

/* iwi| sticky-nav - behebt das Problem, dass die Menüzeile bei unterschiedlichen Auflösungen das Header-Bild überlappt und so evtl. das Firmenlogo überdeckt */
#nav.navbar-fixed-top{
    position:sticky;
    top:0;
    right:0;
    left:0;
    margin-bottom:0;
}

	#nav a{ text-transform: uppercase; }
    #nav a:hover, #nav a:focus{
        color: var(--mgLuAkzent);
        text-decoration: underline;
    }

    #nav .nav{
        overflow:auto;
    }

    .iwi-nav-extension{
        margin: 0 0.25rem;
        font-weight:normal;
        font-style: italic;
    }

    .iwi-nav-extension a{ text-transform: none !important; }

    .iwi-kopfzeile{
        display: inline-block;
        padding: 0.5em 1em 0.5em 1em;
        border-bottom: 1px var(--mgLuRahmen) solid;
        color: var(--mgLuAkzent);
        border-radius: 0 0 0.5em 0.5em;
        box-shadow: var(--mgLuBoxSchatten);
    }

        .iwi-kopfzeile a{ color:  var(--mgLuAkzent) }

/* iwi| sticky-nav - Anpassung */
img#start{
    padding-top:80px;
    padding-top:0;
}

.section {
    min-height: 60vh;
    /*min-height: 55vh;*/
    height: auto !important;
    height: 60vh;
    /*height: 55vh;*/
    padding-top: 50px;
    /*padding-top: 100px;*/
}

.image-section {
    height: 100%;
    width: 100%;
    padding-top: 50px;
}

/* Bootstrap Overrides */

.h1, h1, .h2, h2, .h3, h3, h4, h5, h6 {
    color: var(--mgLuAkzent);
    font-family: 'Roboto', arial, helvetica, sans-serif;
}

h2.h2variante{
    font-size:2em;
    margin-bottom:20px;
}

h1, h2, h3, h4, h5, p, td, li{
    hyphens: auto;
    hyphenate-limit-chars: auto 6;
    hyphenate-limit-lines: 3;
}

h1,h2,h3,h5{ text-transform: uppercase; }

.rechtstext h2, .rechtstext .h2{
    margin-top:30px;
    font-size:1.8em;
}

.rechtstext h3, .rechtstext .h3{
    text-transform: none;
    font-size:1.1em;
    font-weight: bold;
}

strong{ color:  var(--mgLuAkzent) }

.page-header {
	margin-bottom:30px;
    border-bottom: none;
}

.page-midfield {
    margin-top:50px;
    margin-bottom:30px;
}

    section ul{
        margin:10px 0 10px 0;
        padding:0 0 0 18px;
    }

section a, .iwi-footer a, .footer-menu a { color: var(--mgLuAkzent); }

		section a:hover, section a:active, section a:focus, .footer-menu a:hover, .footer-menu a:active, .footer-menu a:focus { color: var(--mgLuAkzent2); }

	a[ng-click*="()"] { cursor:pointer; }


.thumb { margin-bottom: 30px; }

    div.thumb a { box-shadow: var(--mgLuBoxSchatten); }
    div.thumb a:hover { box-shadow: none; }
    div.thumb a:hover img { box-shadow: none; }

a.externerLink img{
    padding: 4px;
    background-color: var(--mgLuHell);
    border: 1px solid var(--mgLuRahmen);
    border-radius: 4px;
    box-shadow: var(--mgLuBoxSchatten);
}

    a.externerLink:hover img, a.externerLink:active img{ border: 1px solid var(--mgLuAkzent2); }

    .iwi-logoListe, a.externerLink img.iwi-logoListe{
        padding:15px;
        margin:15px 30px 15px 0;
    }

section img{
    width:auto;
    max-width:100%;
    height:auto;
}

img.bilderRahmen{
    border: 1px solid var(--mgLuAkzent);
    border-radius: 4px;
    box-shadow: var(--mgLuBoxSchatten);
}

img.logoRahmen{
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 5px;
    box-shadow: var(--mgLuBoxSchatten);
}

input:required { background: var(--mgLuFormularBox); }
input:invalid { border-color: var(--mgLuAkzent); }
input.ng-invalid { border-color: var(--mgLuAkzent); }
textarea:required { background: var(--mgLuFormularBox); }
textarea:invalid { border-color: var(--mgLuAkzent); }
.app-form .ng-dirty.ng-invalid{ border-color: var(--mgLuAkzent); }

.iwi-map{
	height:650px;
	margin:0 0 50px 0;
	padding:0;
	border:0px solid var(--mgLuDunkel);
	width:100%;
}

div.startInfo{
    text-align:center;
    padding-bottom:3rem;
}

    div.startInfo img{
        width:100%;
        max-width:800px;
        height:auto;
        border-radius: 0.5em;
        padding:4px;
        border:2px solid #999999;
    }

.highslide-container{ z-index:3000 !important; }


figure{ margin-bottom:20px; }

    figcaption{
        text-align: left;
        margin:10px 0 0 0;
        font-style: italic;
        min-height:3em;
    }

figure.kachelGalerie{
}

    figure.kachelGalerie img{
        width:100%;
        max-width:360px;
        height:auto;
    }

    figure.kachelGalerie figcaption{
        font-style:normal;
        min-height: 4em;
    }

    figure.kachelGalerie figcaption a{
        box-shadow: none;
        /*text-decoration: underline;*/
    }

    figure.kachelGalerie figcaption a[href^="tel:"]{
        text-decoration: none;
        color: var(--mgLuSchrift);
    }

    figure.kachelGalerie figcaption h2, figure.visitenKarte figcaption .h2{
        margin: 15px 0 10px 0;
        padding:0;
        font-size:1.4em;
    }

    figure.kachelGalerie figcaption h3, figure.visitenKarte figcaption .h3{
        margin: 15px 0 10px 0;
        padding:0;
        font-size:1.2em;
    }

figure.visitenKarte{
}

    figure.visitenKarte figcaption{
        min-height: 29rem;
    }

    figure.visitenKarte ul{
        position:relative;
        top:-10px;
        margin:0;
        padding:0 0 0 18px;
    }

    figure.visitenKarte div.mgBox{
        max-width:360px;
        margin:10px 0 0 0;
        border:1px solid var(--mgLuAkzent);
        border:0;
        padding:5px 5px 0 5px;
        background-color:var(--mgLuAkzent3);
        box-shadow: var(--mgLuBoxSchatten);
    }


.abstand{ margin-top:50px; }

.links{
    float:left;
    margin:0 25px 25px 0;
}

.rechts{
    float:right;
    margin:0 0 25px 25px;
}

.zeitfeld{
    padding-left:25px;
    text-align:right;
}

.rahmen{
    border:1px var(--mgLuAkzent) solid;
    box-shadow: var(--mgLuBoxSchatten);
}

.farbBox{
    border-radius: 0.5em;
    box-shadow: var(--mgLuBoxSchatten);
    padding:20px 20px 0 20px;
    margin: 60px 0 20px 0;
}

.cidFilled{
    border:1px var(--mgLuAkzent) solid;
    background-color: var(--mgLuAkzent);
    color: var(--mgLuHell);
}

.redFilled{
    border:1px var(--mgLuAlarm) solid;
    background-color: var(--mgLuAlarm);
    color: var(--mgLuHell);
}

.cidBox{
    border:1px var(--mgLuAkzent) solid;
    border-radius: 0.5em;
    background-color: var(--mgLuAkzent);
    box-shadow: var(--mgLuBoxSchatten);
    color: var(--mgLuHell);
    padding:20px 20px 0 20px;
    margin: 60px 0 20px 0;
}

.redBox{
    border:1px var(--mgLuAlarm) solid;
    border-radius: 0.5em;
    background-color: var(--mgLuAlarm);
    box-shadow: var(--mgLuBoxSchatten);
    color: var(--mgLuHell);
    padding:20px 20px 0 20px;
    margin: 60px 0 20px 0;
}

.cidRahmenBox{
    border:1px var(--mgLuAkzent) solid;
    border-radius: 0.5em;
    padding:20px 20px 0 20px;
    margin: 60px 0 20px 0;
}

.inhaltselement{
    max-width:460px;
    min-width:140px;
}

    .inhaltselement img{ margin-bottom:15px; }

.inhaltsbild{
    width:100%;
    max-width:300px;
    min-width:140px;
    height:auto;
}

.iwi-img-responsive{
    max-width:100%;
    height:auto;
}

p a.telefon{
    color: color: var(--mgLuSchrift);
    text-decoration:none;
}

.linkButton{
    box-sizing: border-box;
    display: inline-block;
    background-color: var(--mgLuHell);
    padding: 6px 12px;
    border: 3px solid var(--mgLuAkzent);
    margin:2px 2px 5px 2px;
    border-radius:0.5rem;
    border-color: var(--mgLuAkzent);
    box-shadow: var(--mgLuBoxSchatten);
    color: var(--mgLuAkzent);
    font-weight: 400;
    line-height: 1.42857143;
    font-size:2rem;
}

    .linkButton:hover,.linkButton:active,.linkButton:visited{
        border-color: var(--mgLuAkzent);
        box-shadow: none;
        border-width: 3px;
        margin:0 0 7px 0;
    }

.text-info { color: var(--mgLuAkzent); }

dl dt{ margin-left: 1em; }

form{ border:0; }

    input:required { background: var(--mgLuHell); }
    input:invalid { border-color: var(--mgLuAkzent); }
    input.ng-invalid { border-color: var(--mgLuAkzent); }
    textarea:required { background: var(--mgLuHell); }
    textarea:invalid { border-color: var(--mgLuAkzent); }
    .app-form .ng-dirty.ng-invalid{ border-color: var(--mgLuAkzent); }

#xFrame{
    max-width:1000px;
    width:80%;
    height:auto;
    min-height:600px;
}


table.datenschutz{
    border-collapse: collapse;
    margin:0 0 1.5em 0;
}

    table.datenschutz caption{
        text-align: left;
        line-height: 1.5em;
        padding-bottom: 0.5em;
        color: var(--mgLuSchrift);
    }

    table.datenschutz td, table.datenschutz th{
        vertical-align: top;
        padding:5px;
        border:1px solid var(--mgLuSchrift);
        color: var(--mgLuSchrift);
    }

.iwi-footer{
    margin: 5px;
    background-color: var(--mgLuAkzent);
    background-repeat: no-repeat;
    background-position:center;
    background-size:auto;
}

.footer-menu{
    margin: 5px 5px 1rem 5px;
    font-size: 1.2em;
}

.footer-menu a{
    display:inline-box;
    margin:0 2em 0 0;
    text-transform:uppercase;
}


.clearer{ clear:both; }

.nobr, .nowrap{ white-space: nowrap; }



/* *** MEDIA *** */

/*md*/
@media (min-width:970px) {
}

/*sm*/
@media (min-width:750px) {
    .iwi-nav-extension{ display: block; }
    ul.nav.navbar-nav {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
    }

}


@media (max-width:1400px){
    figure.visitenKarte figcaption { min-height: 35.5rem;}
}

@media (max-width:1193px){
    .h3, h3 { padding-top: 30px; }
    .rechtstext .h3, .rechtstext h3 { padding-top: 0; }
    figure.kachelGalerie figcaption { min-height: 5rem; }
    figure.visitenKarte figcaption { min-height: 33.5rem;}
}

@media (max-width:950px){
    figure.visitenKarte figcaption { min-height: 29rem;}
}

@media (max-width:780px){
    section a, #nav a, .footer-menu a {text-decoration:underline;}
    figure.visitenKarte figcaption { min-height: 33.5rem;}
}

@media (max-width:600px){
    .iwi-nav-extension{ display: none; }
    .iwi-kopfzeile {
        border: 0;
        box-shadow: none;
    }

    .section{ padding-top:50px; }

    h1{
        font-size:28px;
        margin-top:15px;
        margin-bottom:7px;
    }
    h2, h2.h2variante{ font-size:24px; }
    h3{ font-size:20px; }

    .rechtstext h2, .rechtstext .h2{ font-size:1.5em; }

    .abstand{ margin-top:30px; }
    .inhaltsbild{ max-width:200px; }

    .rechts, .links{
        float:none;
        margin:0 0 1em 0;
        display:block;
        margin:0 auto 30px auto;
    }

    figure.kachelGalerie figcaption{ min-height: auto; }
    figure.visitenKarte figcaption{ min-height: auto; }
}

@media (max-width:400px){
    .inhaltsbild{ max-width:150px; }
}

@media (max-width:250px){
    .inhaltsbild{
        max-width:100px;
        min-width:100px;
    }
}

/* DS & Impressum */
div.modal-body h5, div.modal-body h6{
    font-weight:bold;
    font-size:1.2em;
}

.dialog-header-wait, .modal-header {
    background-color: var(--mgLuAkzent) !important;
}

div.modal-body a, div.modal-body a:active, div.modal-body a:focus {
    color: var(--mgLuAkzent);
}

.btn-primary{
    color: var(--mgLuHell);
    background-color: var(--mgLuAkzent);
    border-color: var(--mgLuAkzent);
}

.btn-primary.focus,.btn-primary:focus{
    color: var(--mgLuHell);
    background-color: var(--mgLuAkzent);
    border-color: var(--mgLuAkzent);
}

.btn-primary:hover{
    color: var(--mgLuHell);
    background-color: var(--mgLuAkzent);
    border-color: var(--mgLuAkzent);
}
