@font-face {
    font-family: 'Billion Dreams';
    src: url('../fonts/Billion-Dreams.eot');
    src: url('../fonts/Billion-Dreams.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Billion-Dreams.woff2') format('woff2'),
         url('../fonts/Billion-Dreams.woff') format('woff'),
         url('../fonts/Billion-Dreams.ttf')  format('truetype'),
         url('../fonts/Billion-Dreams.svg#Billion Dreams') format('svg');
}

@font-face {
	font-family: 'themify';
	src:url('../fonts/themify.eot?');
	src:url('../fonts/themify.eot?#iefix-fvbane') format('embedded-opentype'),
		url('../fonts/themify.woff') format('woff'),
		url('../fonts/themify.ttf') format('truetype'),
		url('../fonts/themify.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}

.ti-arrow-right:before {
	content: "\e628";
}

p a::before {
	font-family: 'themify';
	content: '\e628 \00A0';
	text-decoration: none;
	font-size: 16px;
}

@media only screen and (max-width: 1024px){
	h3 {
		font-size: 22px;
	}
}

.tm-toolbar-default {
	background-image: url(../../../images/Layout/holz.jpeg);
}

.tm-header :not(.uk-sticky-below) > .uk-navbar-container {
	padding-top: 51px;
	padding-bottom: 31px;
	box-shadow: 0 17px 8px -15px rgba(0,0,0,.5);
}

.uk-navbar-sticky .uk-logo {
	width: 180px;
}

@media only screen and (max-width: 1200px){
.uk-logo {
	width: 180px;
	
}
}

.uk-navbar-item, .uk-navbar-sticky .uk-navbar-nav > li > a {
	min-height: 60px!important;
}




.uk-section-muted {
	background: url("../../../images/Layout/holz.xl.png");
	background-size: 100% 100%;
	background-color: rgba(255,255,255,0.00);
}

@media only screen and (max-width: 700px){
	.uk-section-muted {
	background-image: none;
	}
	
	.holz {
padding-top: 20px;
padding-bottom: 0px!important;
margin-top: 0px!important;
}
}

.fontwechsel {
	font-family: Rajdhani;
	font-weight: 100;
	font-size: 60%;
	vertical-align: top;
	line-height: 190%;
}
.uk-tile-muted {
	color: #fff;
}

#template-SW2SXBE7\#0.uk-section-default {
	box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.4);
}

.holz {
padding-top: 180px;
padding-bottom: 262px!important;
margin-top: -200px!important;
}
.rand .uk-tile-default {
	border: 1px solid #d6bc83;
}

@media only screen and (min-width:960px) 
{
.container, .uk-container {
    padding-left: 20px;
    padding-right: 20px;
}
}

.uk-navbar-container:not(.uk-navbar-transparent) {
    padding-right: 20px;
    box-shadow: 0 -10px 8px 10px rgba(0,0,0,.5);
}

.uk-nav li > a {
	display: block;
}

.uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a {
	color: rgba(255,255,255,.7);
}

.uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover {
	color: rgba(255,255,255,1.0);
}

h3 > p.uk-column-1-2\@m {
	column-count: 1!important;
}

h2 > p.uk-column-1-2\@m {
	column-count: 1!important;
}

h1 > p.uk-column-1-2\@m {
	column-count: 1!important;
}

#aktionen .uk-icon-button {
	width: 80px;
	height: 80px;
}

.quer {
	float: left;
	padding-right: 30px;
}
.mt40 {
	margin-top: 108px!important;
}
.dunklerblau {
	background-color: #002952!important;
}

.menuebottom li {
	display: inline-block;
	padding-left: 40px;
}

.menuebottom li a:hover {
	color: #fff!important;
}

.uk-panel.menuebottom {
	width: auto!important;
}

#filter_service.input-medium.form-select {
	width: 300px!important;
}

.osbheading {
	font-size: 24px;
}

#modal-id-1 .uk-modal-dialog {
    max-width: 400px!important;	
}

o a.ohne::before {
	content:"";
}

.uk-modal-close svg {
	width:40px;
	heigth: 40px;
}

button.uk-modal-close {
	width: 70px;
	height: 70px;
}

#module-96 a::before {
	content:"";
}

#module-96 a {
	width: 40px;
}

#module-98 a::before {
	content:"";
}

#module-98.uk-navbar-item {
	position: absolute;
	right: 50px;
}

.fuss .uk-h6 {
	font-size: 17px;
}

.navebene2 {
	background-color: #003366;
	padding-top: 12px;
	padding-bottom: 12px;
	width: 100%;

}

.navebene2 a.el-link {
	font-size: 13px;
	color: #fff;
}

.uk-lightbox .uk-position-bottom {
 	bottom: 10%;
  	margin-left: auto;
	margin-right: auto;
  	
}

.uk-lightbox-toolbar {
	background-color:rgba(0,0,0,0.00)
}

.uk-lightbox .uk-transition-slide-bottom {
  --uk-translate-y: 0%;
}

.uk-lightbox h4 {
	font-size: 18px;
	background-color: #003366;
	padding: 10px;
	display: inline-block;
}
.input-medium {
	color: #000000!important;
}
.red {
	font-weight: bold;
	color: red;
}

#calenderdetails .btn-inverse {
	background-color: gray!important;
}

#module-99.uk-navbar-item {
	position:absolute;
	left: -815px;
}

.uk-sticky-below #module-99 img {
	width:72px!important;
}

.uk-sticky-below #module-99.uk-navbar-item {
	position:absolute;
	left: -700px;
}

.uk-sticky-below #module-96 img {
	width:62px!important;
}

.input-mini {
	width: 100px!important;
}

input[type="radio"]:not([class*="uk-"]) {
	margin-right: 12px;
}

/* Kalender-Header in OSB 8.0: Monat + Jahr gleich stylen */
.calendar-month,
.calendar-year {
    font-family: inherit;
    font-size: 22px;
    font-weight: 400;
    color: inherit;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.3;
}
.calendar-month + .calendar-year,
.calendar-year + .calendar-month {
    margin-left: .5em;
}


/* OSB 8.0 Buttons mit langem deutschen Text: breiter lassen */
.addtocartbtn,
.removeallitems,
#removeallitems,
.removebookingsbtn,
button.removebooking,
input.osb-btn-remove {
    max-width: none !important;
    white-space: normal;
    line-height: 1.3;
}


/* Tabellenzelle "Alle Buchungen entfernen" breit genug, nicht abschneiden */
th.removeall,
td.removeall {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    min-width: 220px;
}


/* YOOtheme 5 Navbar: Erzgebirge-Logo (#module-99) links und Online-Shop-Kreis (#module-96)
   rechts in den Header verankern. Die alten Regeln (left: -815px etc.) waren auf YT2-Navbar
   kalibriert und sind in YT5 wirkungslos / schieben die Module aus dem Header. */
.tm-header .uk-navbar-container {
    position: relative;
}

/* Die navbar-center-right (relative durch UIkit) wuerde sonst der Anker fuer absolute Module
   sein — wir zwingen die Center-Wrapper auf static, damit Bezugspunkt der Navbar-Container ist. */
.tm-header .uk-navbar-center,
.tm-header .uk-navbar-center-left,
.tm-header .uk-navbar-center-right {
    position: static !important;
}

/* Damit die navbar-center horizontal noch zentriert bleibt: Original-Verhalten via Flex sicherstellen */
.tm-header .uk-navbar {
    justify-content: center;
}

#module-99.uk-navbar-item,
.uk-sticky-below #module-99.uk-navbar-item {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
}

#module-96.uk-navbar-item {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
}


/* ===========================================================
   OSB 8.0 Step-Bar (osb-progress-container) → Live-Look (OSB 2.19 vbo-stepbar)
   Live hat keine Box, keine Icons, keine Nummern — nur Punkte mit Linie
   =========================================================== */
.osb-progress-container {
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    margin-bottom: 30px;
}

.osb-progress-container .step-icon,
.osb-progress-container .step-number,
.osb-progress-container .osb-step-circle {
    display: none !important;
}

.osb-progress-container .osb-progress-steps {
    padding-top: 18px !important;
    overflow: visible !important;
}

/* Original-Linien der OSB-8.0 verstecken — wir zeichnen unsere eigene */
.osb-progress-container .osb-progress-steps::before,
.osb-progress-container .osb-progress-steps::after {
    display: none !important;
}

/* Step-Container: Linie unter aktivem/komplettem Schritt */
.osb-progress-container .osb-progress-step {
    position: relative;
    padding-bottom: 14px;
    padding-top: 16px;
    border-bottom: 4px solid transparent;
    flex: 1 1 0;
}

.osb-progress-container .osb-progress-step.current,
.osb-progress-container .osb-progress-step.completed {
    border-bottom-color: #036;
}

/* Punkt oben vor jedem Schritt */
.osb-progress-container .osb-progress-step::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #ccc;
    margin: 0 auto 10px auto;
    position: relative;
    z-index: 2;
}

.osb-progress-container .osb-progress-step.current::before,
.osb-progress-container .osb-progress-step.completed::before {
    background: #036;
}

/* Verbindungslinie auf gleicher Hoehe wie die Punkte */
.osb-progress-container .osb-progress-steps {
    position: relative;
}
.osb-progress-container .osb-progress-steps::before {
    content: "";
    display: block !important;
    position: absolute;
    top: 24px;
    left: 5%;
    right: 5%;
    height: 1px;
    background: #ccc;
    z-index: 1;
}

/* Titel */
.osb-progress-container .osb-step-title {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #888 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.osb-progress-container .osb-progress-step.current .osb-step-title {
    color: #036 !important;
}


/* ===========================================================
   Calendar — Wochentage NICHT uppercase (auf Live: "Mo. Di. Mi.")
   =========================================================== */
.calendar_date_numbers th,
.calendar_date_numbers .calendar-day-name,
table.apptable th {
    text-transform: none !important;
}


/* ===========================================================
   Zeitfenster — untereinander (full-width) statt 3-spaltig
   OSB 8.0 macht .timeslotdiv per Grid mit 3 Columns. Live hatte span6 + width:100%.
   =========================================================== */
.timeslotdiv {
    display: block !important;
    grid-template-columns: none !important;
}

.timeslotdiv .divtimeslots,
.timeslotdiv .timeslots {
    width: 100% !important;
    display: block !important;
    margin-bottom: 4px !important;
}


/* ===========================================================
   Add-to-Cart-Button — uppercase wie auf Live
   =========================================================== */
.addtocartbtn,
button.addtocartbtn,
a.addtocartbtn,
.osbheading h1,
#cartCheckoutBtn {
    text-transform: uppercase !important;
}


/* ===========================================================
   Step-Bar Korrekturen — Texte nicht abschneiden, aktiver Punkt dicker
   =========================================================== */
.osb-progress-container .osb-step-title {
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
    word-wrap: break-word;
}

/* Aktiver Punkt deutlich groesser/dicker wie auf Live */
.osb-progress-container .osb-progress-step.current::before {
    width: 22px;
    height: 22px;
    margin-bottom: 4px;
}

.osb-progress-container .osb-progress-steps::before {
    /* Linie tiefer/zentrisch durch die Punkte */
    top: 23px;
}


/* ===========================================================
   "Buchungstermine"-Header — uppercase + nicht ueberlaufen lassen
   =========================================================== */
#cartbox .calendar-header-modern,
#cartbox .calendar-nav-wrapper > div[style*="padding-top"] {
    text-transform: uppercase !important;
}

#cartbox,
.desktop-cart-container {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

#cartbox .uk-container,
.desktop-cart-container .uk-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
}


/* ===========================================================
   Erzgebirge-Logo — mehr Abstand vom Hauptlogo damit "START" nicht angeschnitten wird
   =========================================================== */
#module-99.uk-navbar-item,
.uk-sticky-below #module-99.uk-navbar-item {
    left: 0 !important;
}

.uk-sticky-below #module-99 img,
#module-99 img {
    max-width: 110px;
    height: auto !important;
    width: auto !important;
}
