/*@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 */
}

/* acme-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Acme';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/acme-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* gochi-hand-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Gochi Hand';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/gochi-hand-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
    --groteSchrift: #333333;
    --groteAkzent: #6B1C23;
    --groteAkzent2: #7E868A;
    --groteHell: #ffffff;
    --groteDunkel: #000000;
    --groteRahmen: #e7e7e7;
    --groteAlarm: #ff4737;
    --groteFormularBox: #f9faea;
    --groteBoxSchatten: 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(--groteHell); }

/* 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(--groteAkzent);
        text-decoration: underline;
    }

    .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(--groteRahmen) solid;
        color: var(--groteAkzent);
        border-radius: 0 0 0.5em 0.5em;
        box-shadow: var(--groteBoxSchatten);
    }

        .iwi-kopfzeile a{ color:  var(--groteAkzent) }

/* 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(--groteAkzent);
    font-family: 'Roboto', arial, helvetica, sans-serif;
}

.fAcme { font-family: 'Acme','Roboto', arial, helvetica, sans-serif; }
.fGochiHand { font-family: 'Gochi Hand', 'Roboto', arial, helvetica, sans-serif; }
.cGrote2 { color: var(--groteAkzent2); }

strong{ color:  var(--groteAkzent) }

.page-header {
	margin-bottom:30px;
    border-bottom: none;
}

	h1,h2,h3,h5{ text-transform: uppercase; }

	section a, section a:active, section a:focus, .iwi-footer a, .footer-menu a { color: var(--groteAkzent); }

		section a:hover { color: var(--groteAkzent); }

	a[ng-click*="()"] { cursor:pointer; }

.page-midfield {
    margin-top:50px;
    margin-bottom:30px;
}

.thumb { margin-bottom: 30px; }

    div.thumb a { box-shadow: var(--groteBoxSchatten); }

    div.thumb a:hover {
        border: 1px var(--groteAkzent) solid;
    }

a.externerLink img{
    padding: 4px;
    background-color: var(--groteHell);
    border: 1px solid var(--groteRahmen);
    border-radius: 4px;
    box-shadow: var(--groteBoxSchatten);
}

    a.externerLink:hover img, a.externerLink:active img{
        border: 1px solid var(--groteAkzent);
    }

img.bilderRahmen{
    border: 1px solid var(--groteAkzent);
    border-radius: 4px;
    box-shadow: var(--groteBoxSchatten);
}

img.logoRahmen{
    border: 1px solid transparent;
    border-radius: 4px;
    padding: 5px;
    box-shadow: var(--groteBoxSchatten);
}

input:required { background: var(--groteFormularBox); }
input:invalid { border-color: var(--groteAkzent); }
input.ng-invalid { border-color: var(--groteAkzent); }
textarea:required { background: var(--groteFormularBox); }
textarea:invalid { border-color: var(--groteAkzent); }
.app-form .ng-dirty.ng-invalid{ border-color: var(--groteAkzent); }

.iwi-map{
	height:650px;
	margin:0 0 50px 0;
	padding:0;
	border:0px solid var(--groteDunkel);
	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;
    }

.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(--groteAkzent) solid;
    box-shadow: var(--groteBoxSchatten);
}

.farbBox{
    border-radius: 0.5em;
    box-shadow: var(--groteBoxSchatten);
    padding:20px 20px 0 20px;
    margin: 60px 0 20px 0;
}

.cidFilled{
    border:1px var(--groteAkzent) solid;
    background-color: var(--groteAkzent);
    color: var(--groteHell);
}

.redFilled{
    border:1px var(--groteAlarm) solid;
    background-color: var(--groteAlarm);
    color: var(--groteHell);
}

.cidBox{
    border:1px var(--groteAkzent) solid;
    border-radius: 0.5em;
    background-color: var(--groteAkzent);
    box-shadow: var(--groteBoxSchatten);
    color: var(--groteHell);
    padding:20px 20px 0 20px;
    margin: 60px 0 20px 0;
}

.redBox{
    border:1px var(--groteAlarm) solid;
    border-radius: 0.5em;
    background-color: var(--groteAlarm);
    box-shadow: var(--groteBoxSchatten);
    color: var(--groteHell);
    padding:20px 20px 0 20px;
    margin: 60px 0 20px 0;
}

.cidRahmenBox{
    border:1px var(--groteAkzent) 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;
}

.iwi-logoListe, a.externerLink img.iwi-logoListe{
    padding:15px;
    margin:15px 30px 15px 0;
}

p a.telefon{
    color: color: var(--groteSchrift);
    text-decoration:none;
}

.linkButton{
    box-sizing: border-box;
    display: inline-block;
    background-color: var(--groteHell);
    padding: 6px 12px;
    border: 3px solid var(--groteAkzent);
    margin:2px 2px 5px 2px;
    border-radius:0.5rem;
    border-color: var(--groteAkzent);
    box-shadow: var(--groteBoxSchatten);
    color: var(--groteAkzent);
    font-weight: 400;
    line-height: 1.42857143;
    font-size:2rem;
}

    .linkButton:hover,.linkButton:active,.linkButton:visited{
        border-color: var(--groteAkzent);
        box-shadow: none;
        border-width: 3px;
        margin:0 0 7px 0;
    }

.text-info {
    color: var(--groteAkzent);
}

dl dt{
    margin-left: 1em;
}

form{ border:0; }

#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(--groteSchrift);
    }

    table.datenschutz td, table.datenschutz th{
        vertical-align: top;
        padding:5px;
        border:1px solid var(--groteSchrift);
        color: var(--groteSchrift);
    }

.iwi-footer{
    margin: 5px;
    background-color: var(--groteAkzent);
    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) {
        ul.nav.navbar-nav {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            width: 100%;
        }
}

@media (max-width:1193px){
    .h3, h3 { padding-top: 30px; }
}

@media (max-width:600px){
    .iwi-kopfzeile {
        border: 0;
        box-shadow: none;
    }

    .section{ padding-top:50px; }

    h1{
        font-size:28px;
        margin-top:15px;
        margin-bottom:7px;
    }
    h2{ font-size:24px; }
    h3{ font-size:20px; }

    .abstand{ margin-top:30px; }
    .inhaltsbild{ max-width:200px; }
}

@media (max-width:400px){
    .inhaltsbild{ max-width:150px; }
    .rechts{
        float:none;
        margin:0 0 1em 0;
        display:block;
    }
}

@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(--groteAkzent) !important;
}

div.modal-body a, div.modal-body a:active, div.modal-body a:focus {
    color: var(--groteAkzent);
}

.btn-primary{
    color: var(--groteHell);
    background-color: var(--groteAkzent);
    border-color: var(--groteAkzent);
}

.btn-primary.focus,.btn-primary:focus{
    color: var(--groteHell);
    background-color: var(--groteAkzent);
    border-color: var(--groteAkzent);
}

.btn-primary:hover{
    color: var(--groteHell);
    background-color: var(--groteAkzent);
    border-color: var(--groteAkzent);
}
