/*! HTML5 Boilerplate v5.2.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

@font-face {
    font-family: 'texgyreadventor';
    src: url('fonts/texgyreadventor-regular-webfont.eot');
    src: url('fonts/texgyreadventor-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/texgyreadventor-regular-webfont.woff') format('woff'),
         url('fonts/texgyreadventor-regular-webfont.ttf') format('truetype'),
         url('fonts/texgyreadventor-regular-webfont.svg#texgyreadventorregular') format('svg');
    font-weight: normal;
	font-display: swap;
}

@font-face {
    font-family: 'texgyreadventor';
    src: url('fonts/texgyreadventor-bold-webfont.eot');
    src: url('fonts/texgyreadventor-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/texgyreadventor-bold-webfont.woff') format('woff'),
         url('fonts/texgyreadventor-bold-webfont.ttf') format('truetype'),
         url('fonts/texgyreadventor-bold-webfont.svg#texgyreadventorregular') format('svg');
    font-weight: bold;
	font-display: swap;
}

a:link, a:visited {
    color: #a9b706;
    text-decoration: none;
}

a:hover {
    color: #c1d10c;
	text-decoration: underline;
}

html, body {
    min-height: 100%;
}

body {
    color: #3b484b;
    padding: 2rem 0 0;
    margin: 0;
    background: #fff url('../img/bg.png') top center;
    background-size: cover;
    font: 1em 'texgyreadventor', sans-serif;
    padding-top: 1em;
}

h1 {
    font-weight: bold;
    color: #c1d10c;
    font-size: 1.4em;
    line-height: 1.2em;
}

h2, h3, h4 {
    font-size: 1.25em;
    font-weight: bold;
    color: #c1d10c;
    margin-top: 2em;
}

h2 + h3 {
    margin-top: 1em;
}

h3, h4 {
    color: #3b484b;
    font-size: 1.1em;
    margin-bottom: 0;
}

h4 {
    font-size: 1em;
}

table td,
table tr,
table th {
	padding: 1em;
}

table td {
	border-bottom: 1px solid #ccc;
}

#info_kreis + h2,
#kontakt_2spalten > h3 {
    margin-top: 0;
}



/* +++++++++++++++++++++ */

#corona_hinweis, 
#startseite_hinweis {
	padding: 2em 2em 2em 2em;
	background-color: #d02c1b;
	color: #fff;
	overflow:auto;
}

#startseite_hinweis {
	background-color:#f8f3ef;
	color:#000;
}

#corona_hinweis h2 {
	color: #fff;
	font-size: 1.6em;
	margin-top: 0;
}

#corona_hinweis h3 {
	color: #fff;
	font-size: 1.4em;
}

#corona_hinweis a {
	font-weight: bold;
	text-decoration: underline;
	color:#fff; 
}

#corona_hinweis a:hover {
	color:#ffc4be; 
}

#corona_hinweis img,
#startseite_hinweis img {
	max-width: 100%;
}
	
#offenen-sprechstunde #info_kreis {
	display: none;
}

.max_width_container {
    width: 83%;
    max-width: 1400px;
    margin: 0 auto;
}

#startbild {
    position: absolute;
    z-index: 999999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    background: #fff url('../img/startbild_alfred_nobel_str.png') no-repeat center center;
    background-size: cover; 
    cursor: pointer;
}

#corona-hinweis {
	position: absolute;
    z-index: 9999999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: fixed; 
    cursor: pointer;
	background-color: #fff;
}

#corona-hinweis .container {
	width: 50em;
	max-width: 100%;
	padding: .001em 2em 2em 2em;
	margin: 3em auto;
	background-color: #fff;
	/*-webkit-box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.14);
-moz-box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.14);
box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.14);*/
}

/* HEADER */
#main_head {
    position: relative;
}

#logo_figur {
    float: left;
    width: 10%;
    min-width: 100px;
    margin-bottom: 1em;
	height: auto;
}

#logo {
    margin-top: 1em;
    float: right;
    display: block;
    text-align: right;
    width: 20%;
    min-width: 200px;
}

#logo img {
    width: 100%;
	height: auto;
}

#title {
    font-weight: normal;
    margin: 5% 0 0 13%;
    max-width: 25em;
}

#design_bogen {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 87%;
    height: 1.6em;
    border-right: 3px solid #c1d10c;
    border-top: 3px solid #c1d10c;
    border-radius: 0 15px 0 0;
}

#slider_outer_container {
    background: transparent url('../img/slider_bg.png') top center;
    background-size: cover;
}

img {
  aspect-ratio: attr(width) / attr(height);
max-width: 100%;
}

#header_image img {
    width: 100%;
	height: auto;
}

#header_image #single_main_image,
#header_image .flexslider {
    border-right: 3px solid #c1d10c;
    margin-left: -3px;
    margin-bottom: 1.5em;
}


/* NAV */

nav ul {
    margin: 0;
    padding: 0;
}

#main_nav {
    display: block;
    float: none;
    position: absolute;
    width: 87%;
    bottom: 2em;
    left: 13%;
}

#main_nav ul li {
    float: left;
    list-style: none;
    margin-right: 5%;
}

#main_nav a:link,
#main_nav a:visited {
    color: #69646d;
    text-transform: uppercase;
}

#main_nav a:hover {
    color: #000000;
}

#main_nav a.active {
    font-weight: bold !important;
}

#main_nav ul li .subnav {
    position: absolute;
    display: none;
    z-index:9999;
    background: #fff;
    padding: 2.5em 0 1em 0;
    background-color: rgba(255,255,255,.9);
    max-width: 17em;
}

#main_nav .subnav li {
    float: none;
    margin: 0;
}

#main_nav ul li:hover .subnav {
    display: block;
}

#main_nav .subnav a:link,
#main_nav .subnav a:visited {
    display: block;
    text-transform: none;
    font-size: .9em;
    padding: .35em 2em .35em 1.5em;
}

#main_nav .subnav a:hover {
    background-color: rgba(255,255,255,1);
}

.slicknav_menu {
    margin-bottom: 0;
    display:none;
}

#kontakt_termine_nav .subnav {
    /*display: none !important;*/
}

/* BESCHWERDEN NAVIGATION */

#beschwerden_nav {
    position: fixed;
    float: none;
    top: 1em;
    left: 1em;
    margin: 0 0 0 0;
    width: 13%;
    background-color: rgba(255,255,255,.6);
    padding: 1em 2em;
    display: none;
}

#beschwerden_nav a {
    color: #3b484b;
}

#beschwerden_nav a.active {
    font-weight: bold;
}

#beschwerden_nav a:hover {
    color: #000;
}

#beschwerden_nav li {
    list-style: none;
    line-height: 1.6em;
    margin-bottom: 1em;
}

#beschwerden_nav .subnav a:before {
    content: ' >> ';
}

#beschwerden_nav .subnav a {
    color: #818181;
    font-size: .9em;
}

#beschwerden_nav .subnav a:hover {
    color: #000000;
}

#content section {
    padding-bottom: 3.5em;
    border-top: 1px solid #c1d10c;
}

#info_kreis + section {
     border-top: 0;
}

#kontakt_termine #beschwerden_nav {
     display: none !important;
}

#scroll_to_top a {
    position: fixed;
    bottom: 5em;
    right: 1em;
    border-bottom: 0;
    font-size: .8em;
    cursor: pointer;
    display: none;
    color: #fff;
    width: 30%;
    max-width: 120px;
}

#scroll_to_top a img {
    width: 100%;
	height: auto;
}

/* CONTENT */
#content {
    padding-left: 13%;
    position: relative;
	margin-top: 1em;
}

#vier_kreise {
    margin-top: -12%;
    margin-right: -8%;
    margin-bottom: 1em;
    text-align: right;
}


#vier_kreise > div {
    float: right;
    width: 15%;
    margin-left: 3%;
}

#vier_kreise a img {
    width: 100%;
	height: auto;
	vertical-align:top;
}

#info_kreis {
    float: right;
    width: 230px;
    margin: 0 -10% 1em 3em;
}

#info_kreis img {
    width: 100%;
}


.team_image {
    float: right;
    margin-left: 3em;
    width: 40%;
}

.kniechirurg_image {
    max-width: 350px;
    margin-top: 1em;
}

.team_member_container {
    margin-top: 2.5em;
}

h3 + * {
    margin-top: 0;
}


#impressum #content,
#kontakt_2spalten{
    -webkit-column-count: 2; 
    -moz-column-count: 2; 
    column-count: 2;
    -webkit-column-gap: 3em; 
    -moz-column-gap: 3em; 
    column-gap: 3em;
}

#kontakt_3spalten {
    -webkit-column-count: 3; 
    -moz-column-count: 3; 
    column-count: 3;
    -webkit-column-gap: 3em; 
    -moz-column-gap: 3em; 
    column-gap: 3em;
}

.no_break_coumn {
    display: inline-block;
}

#impressum #info_kreis,
#kontakt_termine #info_kreis{
    display: none;
}

/* FOOTER */

#footer {
	background-color: #fff;
	display: flex;
	padding: 2rem 2rem 1rem 2rem;
	margin-top: 4rem;
	justify-content: space-between;
}

#footer #partner img {
	max-height: 5rem;
	width: auto;
	margin-bottom: 1rem;
}

#footer ul#footer-menu {
    list-style: none;
	align-self: flex-end;
	display: flex;
}

@media screen and (max-width: 50rem) {
    #footer #partner {
	width: 100%;
}

	#footer ul#footer-menu {
		width: 100%;
		margin-bottom: 2rem;
		text-align: center;
	}
	
	#footer {
		display: block;
	}
}

#footer li {
    padding: 0 .2em;
}


#footer li:last-child {
    display: none;
}

#footer ul a:link,
#footer ul a:visited {
    color: #69646d;
    font-size: .8em;
}

#footer ul a:hover {
    color: #000;
}

/* allg. Layout */

.align_right,
.align_left,
align_center {
    margin-top: 1em;
}

.align_right,
.align_left {
    float: right;
    width: 40%;
}

.align_right {
    margin: 0 0 1em 2em;
}

.align_left{
    width: 60%;
    float: left;
}

.align_center {
    width: 100%;
    max-width: 1200px;
}

.figur_therapie {
    float: left;
    min-width: 100px;
    width: 10%;
    margin-left: -14%;
    margin-top: 3em;
    margin-right: 1em;
}

#aktuelles .figur_therapie,
#kontakt_termine .figur_therapie {
    display: none;
}

.no_top_margin {
    margin-top: 0;
}

.vortrag_container {
	padding: 1em 1.5em;
  background-color: #fff;
  margin-bottom: 1em;
  -webkit-box-shadow: 3px 3px 14px 0px rgba(0,0,0,0.1); 
box-shadow: 3px 3px 14px 0px rgba(0,0,0,0.1);
}

.vortrag_container h3 {
    margin-top: 0;
}

.vortrag_container img {
	max-width: 80%;
}

@media (max-width: 1220px) {
	.vortrag_container img {
	max-width: 70%;
}
}

@media (max-width: 931px) {
	.vortrag_container img {
	max-width: 50%;
}
}

@media (max-width: 688px) {
	.vortrag_container img {
	max-width: 100%;
}
}

#vortrage #info_kreis {
	margin-top: -10rem;
}

ul.downloads {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

ul.downloads li {
	list-style: none;
	padding: 0;
	margin: 0;
}

ul.downloads li a {
	display: block;
	padding: .7em .9em;
	margin-bottom: .4em;
	background-color:#fff;
	-webkit-box-shadow: 3px 3px 14px 0px rgba(0,0,0,0.1); 
	box-shadow: 3px 3px 14px 0px rgba(0,0,0,0.1);
	font-weight: bold;
}

ul.downloads li a:hover {
	color:#fff;
	background-color: #c1d10c;
	-webkit-box-shadow: none; 
	box-shadow: none;
}

a.weiterfuehrender_link {
	display: block;
	padding: 1.5em 1.3em;
	font-size: 1.4em;
	margin-bottom: .4em;
	background-color:#fff;
	-webkit-box-shadow: 3px 3px 14px 0px rgba(0,0,0,0.1); 
	box-shadow: 3px 3px 14px 0px rgba(0,0,0,0.1);
	font-weight: bold;
}

#kursprogramm-start-up-gosm table,
#kursprogramm-start-up-gosm h3 {
	max-width: 100%;
	width: 65em;
	display: inline-block;
}

#kursprogramm-start-up-gosm table td:first-child {
	width: 11em;
}

#kursprogramm-start-up-gosm #info_kreis {
	display: none;
}

/*COOKIE BAR*/

#cookie-bar {
    box-sizing: border-box;
    width: 100%;
    position: fixed;
    bottom: 0;
    padding: .5em 1.5em;
    background-color: #f4f4f4;
    z-index: 999999;
    font-size: .8em;
    line-height: 1.3em;
    text-align: center;
}

#cookie-bar .cb-enable {
  display: inline-block;
  padding: .5em 1em;
  background-color: #a9b706;
  margin: 1em auto 0 1em;
  width: auto;
  color: #fff;
}

#cookie-bar .cb-enable:hover {
  text-decoration: underline;
}

#buchen_button {
	width: 100%; 
	position: absolute; 
	top:0;
	left: 5px;
	z-index:99999;
}

#buchen_button a, a.button {
	display:block;
	text-align:center;
	background-color:#0596DE;
	color:#ffffff;
	font-size:14px;
	overflow:hidden;
	width:257px;
	height:40px;
	border-radius: 4px;
	border-top-right-radius:0;
	border-top-left-radius:0;
	line-height:40px;
	margin: 0 auto;
	z-index:99997;
}

a.button {
	width:auto;
	height:auto;
	display: inline-block;
	padding: 1em;
	line-height:1em;
}

a.button:hover {
	background-color:#0477B4;
}

#parken_button_container {
 float:right;
padding-left: 1rem;
padding-bottom: 1rem;
max-width: 30%; 
min-width: 10rem; 
}

#parken_button_container img {
 width: 100%;
}

.slicknav_menu .slicknav_btn  {
	position: relative;
	z-index:99998;
}

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

#urlaub_banner,
.banner  {
	text-align: center;
	z-index: 999;
	display: block;
	margin-bottom: 1rem;
	top: 0; 
	color:#fff;
	width: 95%;
	padding: 1.5em 2.5%;
	background-color: orange;
	margin-top: 1.7rem;
	position: relative; /* für das X */
}

/* Close-Button fürs Ausblenden */
.banner .banner_close{
	position:absolute;
	right:10px;
	top:8px;
	width:28px;
	height:28px;
	border:0;
	border-radius:999px;
	background:rgba(255,255,255,0.4);
	color:#000;
	font-size:20px;
	line-height:20px;
	cursor:pointer;
}

.banner .banner_close:hover{
	background:rgba(255,255,255,0.85);
}

/* RESPONSIVE */



@media screen and (max-width: 1400px) {
    #info_kreis {
        margin-right: -10%;
    }
}

@media screen and (max-width: 85em) {
	
    #logo {
        margin-top: 0;
    }
    
    #title {
        margin-top: 3%;
    }
    
    #beschwerden_nav {
        width: 11%;
    }
    
    #beschwerden_nav li {
        line-height: 1em;
        margin-bottom: 1em;
    }
    
    #beschwerden_nav a {
        font-size: .9em;
    }
    
    #beschwerden_nav .subnav a {
        font-size: .75em;
    }
    
    
}

@media screen and (max-width: 83em) {
      #kontakt_3spalten {
        -webkit-column-count: 1; 
        -moz-column-count: 1; 
        column-count: 1;
    }
    
    .no_break_coumn {
    display: block;
    }
    
}
    
@media screen and (max-width: 75em) {
	
		#vier_kreise > div {
    width: 20%;
}
	
    #impressum #content,
    #kontakt_2spalten {
        -webkit-column-count: 1; 
        -moz-column-count: 1; 
        column-count: 1;
    }
    
    body {
        padding: 0;
    }
    
    #logo {
        margin-top: 1em;
    }
    
    #title {
        margin-top: 5%;
        margin-bottom: 1em;
    }
    
    #menu {
      display:none;
    }
	
	#urlaub_banner {
		margin-top: 0;
	}
    
    .slicknav_menu {
      display:block;
    }
	
	#buchen_button a {
		margin: 7px 0 0 0px;
		border-radius: 4px;
	}
	
	#buchen_button {
	width: 100%; 
	position: absolute; 
	top:0;
	left: 5px;
	z-index: auto;
}
    
    
    #design_bogen {
        display: none;
    }
    
    #beschwerden_nav a {
        font-size: .8em;
    }
    #beschwerden_nav .subnav a {
        font-size: .65em;
    }
    
}

@media screen and (max-width: 65em) {
	
	#vier_kreise > div {
		width: 22%;
	}
    
    #beschwerden_nav li {
        margin-bottom: .6em;
    }
    
   #beschwerden_nav {
        width: 13%; 
        padding-right: 0;
    }
    
    #beschwerden_nav a {
        font-size: .7em;
    }
 
}

@media screen and (max-width: 60em) {
    
    #beschwerden_nav {
        display: none !important;
    }
    
}
@media screen and (max-width: 51em) {
	
	#corona-hinweis .container {
	width: 50em;
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}
	
    #title {
        font-size: 1.2em;
        margin-top: 2em;
    }
    
    #startbild {
        background-position: 62%;
    }
    
    .align_right,
    .align_left {
    width: 100%;
    }
    
    .team_image {
        width: 100%;
    }
    
    #footer ul {
        float: none;
        margin: 2em 0 0 0;
        padding: 0;
    }
    
}

@media screen and (max-width: 43em) {
	
	#buchen_button {
		position: relative;	
	}
	
	#buchen_button a {
		margin: 0 auto;
		border-bottom-right-radius:4px;
		border-bottom-left-radius:4px;
		border-top-right-radius:0px;
		border-top-left-radius:0px;
	}
	
	.slicknav_menu {
		margin-bottom: 0;
	}
    
    #content {
        padding-left: 0;
    }
    
    #logo_figur {
        display: none;
    }
    
    #title {
        max-width: none;
        float: none;
        margin: 1em 0 1.5em 0;
        font-size: 1.1em;
        text-align: left;
        padding-left: 0;
    }
    
    #logo {
        float: none;
        display: block;
        width: 100%;
        text-align: left;
        padding-left: 0;
    }
    
    #logo img {
        width: 50%;
        min-width: 14em;
    }
    
    #info_kreis {
        display: none;
        float: none;
        width: 70%;
        margin: 0 auto;
    }
    
    #vier_kreise {
        width: 100%;
        margin-right: 0;
    }
    
    #vier_kreise a {
        width: 22%;
    }
    
}


.two_images img {
	width: 50%;
}

@media screen and (max-width: 63em) {
	.two_images img {
	width: 100%;
}

}





/* ==========================================================================
   Helper classes
   ========================================================================== */


.hidden {
    display: none !important;
}


.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}


.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}


.invisible {
    visibility: hidden;
}


.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

.clearfix {
    clear: both;
}


@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }
    

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}

/* WEIHNACHTSPOPUP*/

/* Popup Container */
.popup-container {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

/* Popup Content */
.popup-content {
    background-color: #fff;
    width: 90%;
    max-width: 50rem;
    max-height: 90vh;
    overflow-y: auto;
    padding: 20px;
    border-radius: 8px;
    position: relative;
    text-align: center;
}

/* Close Button (X) */
.close-button {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    color: #333;
}

/* Table Styles */
.holiday-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.holiday-table th, .holiday-table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

.holiday-table th {
    background-color: #f4f4f4;
    font-weight: bold;
}

/* Note Text */
.note {
    margin-top: 10px;
    color: #555;
    font-size: 14px;
}

/* Bottom Close Button */
.close-bottom-button {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #007BFF;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    text-align: center;
}
