@charset "UTF-8";

/**
 * fonts
 */

/* Gloria Hallelujah 400 */
@font-face {
	font-family: 'Gloria Hallelujah';
	src: url("fonts/gloria-hallelujah-v9-latin-regular.eot");
    src: local('Gloria Hallelujah'), local('Gloria-Hallelujah'), 
		 url("fonts/gloria-hallelujah-v9-latin-regular.woff") format("woff"), 
		 url("fonts/gloria-hallelujah-v9-latin-regular.ttf") format("truetype"),
		 url("fonts/gloria-hallelujah-v9-latin-regular.svg#gloria-hallelujah-v9-latin-regular") format("svg");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}


/**
 * bootstrap customization
 */

/* buttons */
.btn { text-transform: uppercase; }

.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-warning,
.btn-outline-danger,
.btn-outline-light,
.btn-outline-dark { background: #FFF; }

/* tables */
.table-responsive { margin-bottom: 1rem; }
.table-responsive .table { margin-bottom: 0; }

/* alerts */
.alert p { margin-bottom: 0.5rem; }
.alert p:last-child { margin-bottom: 0; }


/**
 * bootstrap extension
 */

/* icon buttons */
.btn-icon { }
.btn-icon-left > span { margin-right: 0.5rem; }
.btn-icon-right > span { margin-left: 0.5rem; }

/* fixed width */ 
.w-5 { width: 5% !important; }
.w-10 { width: 10% !important; }
.w-15 { width: 15% !important; }
.w-20 { width: 20% !important; }

/* width auto responsive */ 
@media (min-width: 480px) { 
	.w-xs-auto { width: auto !important; }
}
@media (min-width: 576px) { 
	.w-sm-auto { width: auto !important; }
}
@media (min-width: 768px) { 
	.w-md-auto { width: auto !important; }
}
@media (min-width: 992px) { 
	.w-lg-auto { width: auto !important; }
}
@media (min-width: 1200px) { 
	.w-xl-auto { width: auto !important; }
}
@media (min-width: 1400px) { 
	.w-xxl-auto { width: auto !important; }
}

/* border responsive */ 
@media (min-width: 480px) { 
	.border-xs-start { border-left: 1px solid #dee2e6 !important; }
	.border-xs-start-0 { border-left: 0 !important; }
	.border-xs-top { border-top: 1px solid #dee2e6 !important; }
	.border-xs-top-0 { border-top: 0 !important; }
}
@media (min-width: 576px) { 
	.border-sm-start { border-left: 1px solid #dee2e6 !important; }
	.border-sm-start-0 { border-left: 0 !important; }
	.border-sm-top { border-top: 1px solid #dee2e6 !important; }
	.border-sm-top-0 { border-top: 0 !important; }
}
@media (min-width: 768px) { 
	.border-md-start { border-left: 1px solid #dee2e6 !important; }
	.border-md-start-0 { border-left: 0 !important; }
	.border-md-top { border-top: 1px solid #dee2e6 !important; }
	.border-md-top-0 { border-top: 0 !important; }
}
@media (min-width: 992px) { 
	.border-lg-start { border-left: 1px solid #dee2e6 !important; }
	.border-lg-start-0 { border-left: 0 !important; }
	.border-lg-top { border-top: 1px solid #dee2e6 !important; }
	.border-lg-top-0 { border-top: 0 !important; }
}
@media (min-width: 1200px) { 
	.border-xl-start { border-left: 1px solid #dee2e6 !important; }
	.border-xl-start-0 { border-left: 0 !important; }
	.border-xl-top { border-top: 1px solid #dee2e6 !important; }
	.border-xl-top-0 { border-top: 0 !important; }
}
@media (min-width: 1400px) { 
	.border-xxl-start { border-left: 1px solid #dee2e6 !important; }
	.border-xxl-start-0 { border-left: 0 !important; }
	.border-xxl-top { border-top: 1px solid #dee2e6 !important; }
	.border-xxl-top-0 { border-top: 0 !important; }
}

/* striped rows */
.row-striped > .row { border-top: 1px solid #dee2e6; }
.row-striped > .row:nth-of-type(2n+1) { background-color: rgba(0,0,0,.05); }

/* hover cards */
.card-hover:hover,
.card-hover.active { border-color: #A70430; box-shadow: 0 .5rem 1rem rgba(167, 4, 48,.15) !important; /* bootstrap .shadow */ }

.card-hover .card-footer a { transition: none; color: inherit; }
.card-hover:hover .card-footer,
.card-hover.active .card-footer { border-color: #A70430; background-color: #A70430; color: #FFF; }

/* hover cards image scaling */
/*.card-hover { overflow: hidden; }
.card-hover .card-img-top { transition: transform 0.3s ease 0s; backface-visibility: hidden; }
.card-hover:hover .card-img-top,
.card-hover.active .card-img-top { transform: scale(1.05); }*/

/* list group cols (set width !important on row-cols) */
.list-group.row-cols-1 > * { width: 100% !important; }
.list-group.row-cols-2 > * { width: 50% !important; }
.list-group.row-cols-3 > * { width: 33.3333333333% !important; }
.list-group.row-cols-4 > * { width: 25% !important; }
.list-group.row-cols-5 > * { width: 20% !important; }
.list-group.row-cols-6 > * { width: 16.6666666667% !important; }

@media (min-width: 576px) {
	.list-group.row-cols-sm-1 > * { width: 100% !important; }
	.list-group.row-cols-sm-2 > * { width: 50% !important; }
	.list-group.row-cols-sm-3 > * { width: 33.3333333333% !important; }
	.list-group.row-cols-sm-4 > * { width: 25% !important; }
	.list-group.row-cols-sm-5 > * { width: 20% !important; }
	.list-group.row-cols-sm-6 > * { width: 16.6666666667% !important; }
}

@media (min-width: 768px) {
	.list-group.row-cols-md-1 > * { width: 100% !important; }
	.list-group.row-cols-md-2 > * { width: 50% !important; }
	.list-group.row-cols-md-3 > * { width: 33.3333333333% !important; }
	.list-group.row-cols-md-4 > * { width: 25% !important; }
	.list-group.row-cols-md-5 > * { width: 20% !important; }
	.list-group.row-cols-md-6 > * { width: 16.6666666667% !important; }
}

/* pagination-secondary */
.pagination-secondary .page-link { color: #6c757d; background-color: #fff; border: 1px solid #dee2e6; }
.pagination-secondary .page-link:hover { color: #5c636a; background-color: #e9ecef; border-color: #dee2e6; }
.pagination-secondary .page-link:focus { color: #5c636a; background-color: #e9ecef; box-shadow: 0 0 0 .25rem rgba(130, 138, 145, .5); }
.pagination-secondary .page-item.active .page-link { color: #fff; background-color: #6c757d; border-color: #6c757d; }
.pagination-secondary .page-item.disabled .page-link { color: #6c757d; background-color: #fff; border-color: #dee2e6; }

/* accordion-success */
.accordion-success .accordion-button:not(.collapsed) { color: #0f5132; background-color: #d1e7dd; border-color: #badbcc; }
.accordion-success .accordion-button:focus { border-color: #146c43; box-shadow: 0 0 0 .25rem rgba(60, 153, 110, .5); }

/* font awesome line-trough */
.fa-stack .fa-ban { opacity: 0.7; }


/**
 * basic styles
 */

h1, .h1, 
h2, .h2, 
h3, .h3, 
h4, .h4, 
h5, .h5, 
h6, .h6 { font-family: inherit; font-weight: 300; color: inherit; margin-bottom: 1rem; margin-top: 1.5rem; }

h2:first-child, .h2:first-child,
h3:first-child, .h3:first-child,
h4:first-child, .h4:first-child,
h5:first-child, .h5:first-child,
h6:first-child, .h6:first-child { margin-top: 0; }

h1, .h1 { color: #A70430; font-family: 'Gloria Hallelujah', Trebuchet MS, Arial, sans-serif; text-transform: uppercase; margin-bottom: 1.5rem;  margin-top: 0; line-height: 1.4; }

h6, .h6 { font-weight: 700; }


@media (min-width: 1200px) {
	h1, .h1 { margin-bottom: 3rem; }

	h2, .h2 { margin-bottom: 1.5rem; margin-top: 3rem; }
	h2:first-child, .h2:first-child { margin-top: 0; }
}

a { color: #A70430; text-decoration: none; transition: color 0.3s ease 0s; }

label { cursor: pointer; }

hr { display: block; width: 100%; margin: 1.25rem 0; }
hr.divider { background: #dee2e6; opacity: 1; /* hr in bootstrap has opacity 0.25 */ }


/**
 * add word break for links
 * Google Chrome has problems with breaking long linktext.
 * we force word break only in main content area
 */
#page-content a { word-wrap: break-word; }
 

/**
 * horizontal divider styles 
 * can be used with <hr> or <h1>
 */

/* reset bootstrap settings */
hr.divider-solid,
hr.divider-double, 
hr.divider-slash,
hr.divider-vertical { background: none; border: 0; opacity: 1; }

.divider-solid, 
.divider-double,
.divider-slash, 
.divider-vertical { position: relative; }

.divider-solid > span,
.divider-double > span,
.divider-slash > span,
.divider-vertical > span { background: #FFF; padding: 0 1.5rem 0 0; }
.divider-solid.text-center > span,
.divider-double.text-center > span,
.divider-slash.text-center > span,
.divider-vertical.text-center > span { background: #FFF; padding: 0 1.5rem; }

.divider-solid::before { content: ""; display: block; width: 100%; height: 0; position: absolute; left: 0; top: 50%; margin-top: -2px; z-index: -1; border-top: 5px solid currentColor; }

.divider-double::before { content: ""; display: block; width: 100%; height: 0; position: absolute; left: 0; top: 50%; margin-top: -3px; z-index: -1; border-top: 6px double currentColor; }

.divider-slash::before { content: ""; display: block; width: 100%; height: 10px; position: absolute; left: 0; top: 50%; margin-top: -5px; z-index: -1; color: #A70430; background-image: linear-gradient(-45deg, transparent, transparent 25%, currentColor 25%, currentColor 50%, transparent 50%, transparent 75%, currentColor 75%); background-size: 10px 10px; border-radius: 2px; }

.divider-vertical::before { content: ""; display: block; width: 100%; height: 10px; position: absolute; left: 0; top: 50%; margin-top: -5px; z-index: -1; color: #A70430; background-image: linear-gradient(90deg, currentColor, currentColor 33.33%, transparent 33.33%, transparent 100%); background-size: 3px 100%; border-radius: 2px; }

/* hide divider for small screens and centered text */
.divider-solid.text-center::before,
.divider-double.text-center::before,
.divider-slash.text-center::before,
.divider-vertical.text-center::before { display: none; }

@media (min-width: 768px) { 

	/* set left padding for text */
	.divider-solid:not(.text-center) > span,
	.divider-double:not(.text-center) > span,
	.divider-slash:not(.text-center) > span,
	.divider-vertical:not(.text-center) > span { margin-left: 5%; padding: 0 1.5rem; }

	/* hide divider for small screens and centered text */
	.divider-solid.text-center::before,
	.divider-double.text-center::before,
	.divider-slash.text-center::before,
	.divider-vertical.text-center::before { display: block; }
}


/**
 * header
 */

/* padding for admin bar */
/*#body.is-admin { padding-top: 36px; }*/

/* top bar */
#header-linkbar .dropdown-menu { z-index: 1021; } /* higher than bootstrap .sticky-top */

/* header tools */
#header-tools { padding-top: 0.5rem; padding-bottom: 0.5rem; margin-top: 1rem; background: #f8f9fa; border-top: 2px solid #dee2e6; }

#header-tools .nav-link { color: inherit; }
#header-tools .nav-link:hover { color: #A70430; }

#header-tools .dropdown-menu { padding: 0.75rem; z-index: 1021; } /* higher than bootstrap .sticky-top */

@media (min-width: 576px) {
	#header-tools .dropdown-menu { width: 540px; }
}

@media (min-width: 768px) {
	#header-tools { padding-top: 0; padding-bottom: 0; margin-top: 0; background: none; border-top: none; }
}


/**
 * main navigation
 */

#main-nav { width: 100%; box-sizing: border-box; margin: 0; position: relative; z-index: 3; text-align: left; display: none; }

/* defaults */
#main-nav ul { margin: 0; padding: 0; width: 100%; white-space: nowrap; box-sizing: border-box; }
#main-nav li { margin: 0; padding: 0; width: 100%; display: block; list-style: none; list-style-type: none; position: relative; box-sizing: border-box; }
#main-nav li a { margin: 0; padding: 0; display: block; text-decoration: none; position: relative; outline: 0; box-sizing: border-box; transition: color 0.3s ease-in-out 0s, background 0.3s ease-in-out 0s; }

#main-nav li > a span { position: absolute; right: 0; top: 0; width: 6rem; height: 100%; line-height: 3rem; margin: 0; font-size: 1.25rem; border-left: 1px solid #dee2e6; text-align: center; z-index: 1; display: none; }
#main-nav li.has-children > a span.fa-angle-down, 
#main-nav li.has-children > a span.fa-angle-up { display: block; } /* show dropdown angle */

/* level 0 */
#main-nav > ul { }
#main-nav > ul > li { display: block; margin: 0; border-bottom: 1px solid #dee2e6; }
#main-nav > ul > li:first-child { border-top: 1px solid #dee2e6; }
#main-nav > ul > li > a { display: block; padding: 0.75rem; font-size: 1rem; font-weight: bold; text-decoration: none; color: #333; text-transform: uppercase; }
#main-nav > ul > li:hover > a, 
#main-nav > ul > li.open > a, 
#main-nav > ul > li.current > a, 
#main-nav > ul > li.current-parent > a,
#main-nav > ul > li > a:focus { background: #A70430; color: #FFF; }

/* level 1 */
#main-nav > ul > li > ul { background: #FFF; padding: 10px 10px 15px 10px; overflow: hidden; border-top: 1px solid #dee2e6; border-bottom: 3px solid #A70430; display: none; }
.no-js #main-nav > ul > li:hover > ul, 
#main-nav> ul > li.hover > ul { display: block; }
#main-nav > ul > li > ul > li > a { padding: 0.75rem; font-size: 1rem; color: #333; text-transform: none; border-bottom: 1px solid #dee2e6; line-height: 1.0; }
#main-nav > ul > li > ul > li:hover > a, 
#main-nav > ul > li > ul > li.open > a, 
#main-nav > ul > li > ul > li.current > a,
#main-nav > ul > li > ul > li.current-parent > a,
#main-nav > ul > li > ul > li > a:focus { background: none; color: #A70430; }

/* toggle nav button */ 
#toggle-main-nav { cursor: pointer; position: absolute; right: 15px; }
#toggle-main-nav:hover { color: #A70430; }
#toggle-main-nav .fas { font-size: 1.5rem; }


@media (max-width: 991px) { 
	#main-nav-wrap .container-lg { padding: 0; }
}

@media (min-width: 480px) { /* xxs = 360px | xs = 480px | sm = 576px */
	
	/* level 1 columns */
	#main-nav > ul > li > ul.dropdown-2col,
	#main-nav > ul > li > ul.dropdown-3col,
	#main-nav > ul > li > ul.dropdown-4col,
	#main-nav > ul > li > ul.dropdown-5col { -moz-column-gap: 0px; -webkit-column-gap: 0px; column-gap: 0px; 
										    -moz-column-count: 2; -webkit-column-count: 2; column-count: 2; }

	/* fix wrong column breaks on several browsers */
	#main-nav > ul > li > ul > li { -moz-column-break-inside: avoid; -webkit-column-break-inside: avoid; column-break-inside: avoid; break-inside: avoid; break-before: avoid; clear: none !important; }
	
  	/* ipad column height fix */
	#main-nav > ul > li.cat-2 > ul { height: 55.625rem; } /* 2 cols */
}

@media (min-width: 576px) {

	/* toggle nav button - when search box is inline */ 
	.box-search-inline #toggle-main-nav { position: initial; right: auto; }
}

@media (min-width: 768px) { 
	
	/* level 1 columns */
	#main-nav > ul > li > ul.dropdown-3col,
	#main-nav > ul > li > ul.dropdown-4col,
	#main-nav > ul > li > ul.dropdown-5col { -moz-column-count: 3; -webkit-column-count: 3; column-count: 3; }

  	/* ipad column height fix */
	#main-nav > ul > li.cat-2 > ul { height: 37.6875rem; } /* 3 cols */
	
	/* toggle nav button */ 
	#toggle-main-nav { position: initial; right: auto; }
}

@media (min-width: 992px) {

	#main-nav { display: block; }

	/* defaults */
	#main-nav ul { width: auto; }

	#main-nav li > a span { position: static; right: auto; top: auto; width: auto; margin: 0 0 0 0.25rem; height: auto; line-height: inherit !important; border: none; font-size: 0.85rem; }
	#main-nav li.has-children > a span.fa-angle-down { display: inline-block; }
	#main-nav li.has-children > a span.fa-angle-up { display: none !important; } /* hide angle up */
	
	/* level 0 */
	#main-nav > ul > li { float: left; width: auto; border: none !important; }

	/* level 1 - drop down */
	#main-nav > ul > li > ul { position: absolute; top: 100%; background: #FFF; border-top: 1px solid #dee2e6; z-index: 99; box-shadow: 1px 10px 10px rgba(0, 0, 0, 0.25); opacity: 0; transition: opacity 0.3s ease-in-out 1s; min-width: 16rem; overflow: visible; padding: 1rem; }
	.no-js #main-nav > ul > li:hover > ul, 
	#main-nav > ul > li.open > ul { display: block; opacity: 1; }
	#main-nav > ul > li > ul > li > a { border: none; transition: color 0.3s ease-in-out 0s, background 0.3s ease-in-out 0s, padding 0.3s ease-in-out 0s; }
	#main-nav > ul > li > ul > li:hover > a { padding-left: 1.25rem; }

	/* level 1 columns */
	#main-nav > ul > li > ul.dropdown-4col,
	#main-nav > ul > li > ul.dropdown-5col { -moz-column-count: 4; -webkit-column-count: 4; column-count: 4; }

	#main-nav > ul > li > ul.dropdown-2col { min-width: 32rem; }
	#main-nav > ul > li > ul.dropdown-3col { min-width: 46rem; }
	#main-nav > ul > li > ul.dropdown-4col,
	#main-nav > ul > li > ul.dropdown-5col { min-width: 60rem; }

  	/* ipad column height fix */
	#main-nav > ul > li.cat-2 > ul { height: 29.75rem; } /* 4 cols */
		
	/* toggle nav button */ 
	#toggle-main-nav { display: none; }
	
	/* hide specific cats */
	#main-nav > ul > li.cat-specials,
	#main-nav > ul > li.cat-new { display: none; }

	/* position dropdown for specific cats */
	#main-nav > ul > li.cat-28 > ul { right: 0; }
}

@media (min-width: 1200px) { 

	/* level 1 columns */
	#main-nav > ul > li > ul.dropdown-5col { -moz-column-count: 5; -webkit-column-count: 5; column-count: 5; }

	#main-nav > ul > li > ul.dropdown-5col { min-width: 71rem; }

	/* hide specific cats */
	#main-nav > ul > li.cat-specials,
	#main-nav > ul > li.cat-new { display: block; }

	/* position dropdown for specific cats */
	#main-nav > ul > li.cat-28 > ul { left: 0; right: auto; }
}

@media (min-width: 1400px) {

	/* level 0 */
	#main-nav > ul > li > a { font-size: 1.15rem; }

}


/**
 * breadcrumb
 */

#breadcrumb a, 
#breadcrumb-back { color: #212529; }
#breadcrumb a:hover, 
#breadcrumb-back:hover { color: #A70430; }

#breadcrumb-back { border-color: #212529; }


/**
 * banners
 */

.content-banner { margin: 3rem 0; }
.content-banner > img { max-width: 100%; width: 100%; height: auto; }
.content-banner > video { max-width: 100%; width: 100%; height: auto; }

@media (min-width: 992px) { 
	.content-banner { margin: 5rem 0; }
}


/**
 * page sections
 */

/* page header */
.page-header { margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: 1px solid #dee2e6; }
.page-header > h1, 
.page-header > .h1 { margin: 0; }
.page-header .page-header-desc { margin-top: 0.5rem; font-size: 1.5rem; color: #6c757d; /* color .text-muted */ }

/* page section */
.page-section:not(:first-child) { margin-top: 2rem; padding-top: 2rem; border-top: 2px solid #dee2e6; }

@media (min-width: 992px) { 
	.page-section:not(:first-child) { margin-top: 3rem; padding-top: 3rem; }
}

/* page divider */
.page-divider { display: block; height: 2px !important; border: 0; background: #dee2e6; width: auto; margin: 2rem 0; opacity: 1; /* hr in bootstrap has opacity 0.25 */ }

@media (min-width: 992px) { 
	.page-divider { margin: 3rem 0; }
}

/* page cols */
.page-cols > div:not(:first-child) { padding-left: 1.5rem; border-left: 2px solid #dee2e6 !important; }
.page-cols > div:not(:last-child) { padding-right: 1.5rem; }

.page-cols-sm > div:not(:first-child)::before,
.page-cols-md > div:not(:first-child)::before { content: ''; display: block; width: 100%; height: 2px; background: #dee2e6; margin: 1.5rem 0; }

@media (min-width: 576px) {
	.page-cols-sm > div::before { display: none !important; }
	.page-cols-sm > div:not(:first-child) { padding-left: 1.5rem; border-left: 2px solid #dee2e6; }
	.page-cols-sm > div:not(:last-child) { padding-right: 1.5rem; }
}

@media (min-width: 768px) { 
	.page-cols-md > div::before { display: none !important; }
	.page-cols-md > div:not(:first-child) { padding-left: 1.5rem; border-left: 2px solid #dee2e6; }
	.page-cols-md > div:not(:last-child) { padding-right: 1.5rem; }
}

@media (min-width: 992px) { 
	.page-cols > div:not(:first-child),
	.page-cols-sm > div:not(:first-child),
	.page-cols-md > div:not(:first-child) { padding-left: 3rem; }
	.page-cols > div:not(:last-child),
	.page-cols-sm > div:not(:last-child),
	.page-cols-md > div:not(:last-child) { padding-right: 3rem; }
}

/* page buttons */
.page-buttons { margin-top: 2rem; padding-top: 2rem; border-top: 2px solid #dee2e6; }
.page-buttons .btn { display: block; width: 100%; }
.page-buttons .page-buttons-left,
.page-buttons .page-buttons-right { margin-bottom: 0.5rem; }

@media (min-width: 480px) { 
	.page-buttons .btn { display: inline-block; width: auto; }
	.page-buttons .page-buttons-left { float: left; margin-right: 0.5rem; }
	.page-buttons .page-buttons-right { float: right; margin-left: 0.5rem; }
}


/**
 * footer
 */

#footer a { color: inherit; }
#footer a:hover { color: rgba(248, 249, 250, 0.75); }

/* footer boxes */
#footer .box li { border-bottom: 1px dotted #FFF; }
#footer .box li .fa, 
#footer .box li .fas { margin-right: 0.5rem; display: none; }

#footer .box li > a { transition: color 0.3s ease-in-out 0s, padding 0.3s ease-in-out 0s; }
#footer .box li:hover > a { padding-left: 0.5rem; }

/* sub footer */
#sub-footer a:hover { color: #a70430; }
/*#sub-footer-copyright a:hover { text-decoration: underline; }*/

/* modified copyright */
#body > .copyright { display: none; }

/* modified parsetime */
#body > .parseTime { text-align: center; padding: .25rem 0; font-size: .875em; color: #6c757d !important; background: #201e1f !important; }

/* back to top button */
#back-to-top { display: none; visibility: hidden; }

@media (min-width: 992px) {
	#back-to-top { visibility: visible; background: #201e1f; border: 1px solid rgba(0, 0, 0, .125); border-radius: 4px 4px 0 0; bottom: 0; color: #FFF; height: 2rem; opacity: 0.9; position: fixed; right: 2rem; text-align: center; transition: background-color 0.2s ease-in-out 0s; width: 3rem; z-index: 150; }
	#back-to-top:hover { background: #A70430; }
	#back-to-top a { display: block; width: 100%; height: 100%; line-height: 35px; font-size: 23px; color: inherit; text-decoration: none; }
}


/**
 * main modal
 */

#main-modal-prev, 
#main-modal-next { margin-top: 4rem; margin-bottom: 4rem; }


/**
 * boxes
 */

#box-account .dropdown-item .fa { display: none; }

@media (min-width: 992px) {
	.sticky-sidebar { position: -webkit-sticky; position: sticky; top: 5rem; right: 0; z-index: 2; height: calc(100vh - 7rem); overflow-y: auto; }
}


/**
 * create account
 */

/* form fieldset */
.fieldset { margin-bottom: 3rem; }
.fieldset legend { border: 1px solid #dee2e6; border-width: 1px 0; background: #f8f9fa; padding: 0.5rem 1rem; margin-bottom: 2rem; }
.fieldset > .row { padding-left: 1rem; padding-right: 1rem; }

/* required input */
.input-required { white-space: nowrap; }
.input-required .form-control, 
.input-required .form-select { display: inline-block; width: 95%; }
.inputRequirement { display: inline; margin-left: 0.5rem; color: #6c757d; /* color .text-muted */ }
.vatid .inputRequirement { display: block; width: auto; margin-top: 0.5rem; }


/**
 * account page
 */

.profile { border: 1px solid #DDD; border-bottom: none; background: #ebedef; border-radius: 3px; }

/* header bar */
.profile .profile_header { border-bottom: 1px solid #DDD; line-height: 50px; font-size: 22px; font-weight: bold; padding: 10px 20px;
text-shadow: 0 1px #FFF; }
.profile .profile_header div { display: inline-block; margin: 0 10px 0 0; }
.profile .profile_header span { margin: 5px 10px 0 0; display: inline-block; }
.profile .profile_header .profile_title { font-weight: normal; color: #777; }

/* account navigation */
.profile .profile_navi { padding: 20px 25px; }
.profile .profile_navi a, .profile .profile_navi .divider { text-decoration: none; color: #333; white-space: normal; }
.profile .profile_navi a span { margin-bottom: 5px; }
.profile .profile_navi a.btn-danger, .profile .profile_navi a.btn-danger:hover { color: #fff; }
.profile .profile_navi a:hover { text-decoration: none; color: #337ab7; }
.profile .profile_navi a.current { font-weight: bold; }

/* account pages */
.profile .profile_body { background: #fff; min-height: 400px; padding-top: 20px; }
.profile .profile_body > h3 { background: #F9F9F9; border: solid #DDD; border-width: 1px 0; padding: 10px 20px; font-size: 18px; line-height: 30px; margin-left: -15px; }
.profile .profile_body > h3 > .flr { width: 100%;  }
.profile .profile_body .profile_content { padding: 10px 20px; margin-left: -15px; }
.profile .profile_body .order_history > strong { margin: 0 10px; }

@media (min-width: 768px) {
	.profile { border-bottom: 1px solid #DDD; }
	
	.profile .profile_navi { padding: 20px 10px 20px 25px; }
	
	.profile .profile_body { padding-top: 0; }
	.profile .profile_body > h3:first-child { margin-top: 0; border-top: 0; }
	.profile .profile_body > h3 > .flr { width: auto; }
}


@media (min-width: 768px) and (max-width: 991px) {    
  .profile .profile_navi a span { display: none; }
}
  

/**
 * product price general
 */
 
.product-price .old_price { }
.product-price .new_price { }
.product-price .save_price { }
.product-price .small_price { }
.product-price .uvp_price { }
.product-price .item_price { }
.product-price .graduated_price { }
.product-price .no_price { }
.product-price .standard_price { }


/**
 * product info page 
 */

/* product name */
#product-info .page-header .not-shippable, 
#product-info .page-header .manu-image { max-width: 3rem; }

/* product image */
#product-info-image .main-image,
#product-info-image .more-image { cursor: zoom-in; }

/* product price */
#product-info-price.product-fsk18-padding { padding-left: 50px; }
#product-info-price .product-fsk18 { background: transparent url(img/fsk18.png) no-repeat top center; height: 44px; position: absolute; width: 44px; top: 0; left: 0; }
#product-info-price > div > span { display: block; } /* one price element per line */
#product-info-price .lead { font-size: 1.5rem; } /* main price */

/* add to basket */
#product-info .basket-buttons .basket-actions .btn { margin: 0 0 0.5rem 0; width: 100%; }
#product-info .basket-buttons .basket-input .form-control { text-align: center; }
#product-info #basket-buttons-bottom .basket-actions .btn { margin: 0; }

@media (min-width: 768px) {
	#product-info #basket-buttons-bottom .basket-input .form-control { display: inline-block; max-width: 6rem; }
}

/* product options */
#product-info-options .card-header, 
#product-info-comment .card-header { font-weight: bold; }

/* product options - size and filling */
#product-info-options .card .card { cursor: pointer; border-width: 2px; }
#product-info-options .card .card .card-title { }
#product-info-options .card .card .card-buttons { display: none; }
#product-info-options .card .card .card-buttons .btn { margin: 0; }

/* cake stocks */
.cake-stocks { position: relative; margin: 0 0 1rem 0; }
.cake-stocks-block { width: 100%; }
.cake-stock { height: 1.75rem; line-height: 1.75rem; background: #F7F7F7; /* creme #F8DD84 */ border: 2px solid #D8D8D8; /* creme #DFC46B */ text-align: center; color: #555; margin: 0 auto; width: 90% }
.cake-stock-2, .cake-stock-3, .cake-stock-4, .cake-stock-5 { border-bottom: 0; }
.cake-stock-2 { width: 80%; }
.cake-stock-3 { width: 70%; }
.cake-stock-4 { width: 60%; }
.cake-stock-5 { width: 50%; }

.cake-stocks-4 .cake-stock { height: 2.1875rem; line-height: 2.1875rem; } /* 8.75rem / 4 */
.cake-stocks-3 .cake-stock { height: 2.9166rem; line-height: 2.9166rem; } /* 8.75rem / 3 */
.cake-stocks-2 .cake-stock { height: 3.5rem; line-height: 3.5rem; }
.cake-stocks-1 .cake-stock { height: 3.5rem; line-height: 3.5rem; }

#product-info-options .card .card:hover .cake-stocks,
#product-info-options .card .card.active .cake-stocks { border-color: #A70430; }

@media (min-width: 480px) { 
	.cake-stocks { height: 9rem; }
	.cake-stocks-block { position: absolute; bottom: 0; }
}

/* filling taste */
#product-info-taste h3 { color: #A70430; }
#product-info-taste img { width: auto; height: auto; max-width: 100%; }

@media (min-width: 576px) {
	#product-info-taste img { float: right; max-width: 41.666667%; margin:0 0 2rem 2rem; }
}

/* modules */
#module-also-purchased > .h4,
#module-products-category > .h4,
#module-product-tags > .h4,
#module-product-media > .h4,
#module-product-reviews > .h4,
#module-cross-selling > .h4 { display: none; }


/**
 * category listing
 */


/**
 * product listing - grid
 */
.product-listing.listing-grid .product-flags { position: absolute; top: -1px; left: 0; width: 100%; z-index: 2; opacity: 0.75; }
.product-listing.listing-grid .buy-buttons > a { display: inline-block; margin: 0.5rem 0.5rem 0 0; }

.product-listing.listing-grid .buy-buttons,
.product-listing.listing-grid .card-footer,
.product-listing.listing-grid .product-tax { display: none; }

.product .product-price .lead { font-size: 1rem; }


/**
 * product listing - list
 */

.product-listing.listing-list .product-flags { position: absolute; top: -1px; left: 0; width: 100%; z-index: 2; opacity: 0.75; padding-left: 1.5rem; }

@media (min-width: 768px) {
	.product-listing.listing-list .card-footer { border-top: none; border-left: 1px solid rgba(0,0,0,.125); }
}


/**
 * reviews
 */

.review-stars .fa-star { color: #DDD; }
.review-stars .fa-star.full { color: #ffc107; }



/**
 * shopping cart
 */

#cart-products-table .product-buttons > a,
#cart-products-table .product-buttons > .btn, 
#cart-products-div .product-buttons > a,
#cart-products-div .product-buttons > .btn { margin-left: 0.5rem; }

@media (min-width: 480px) { 
	#cart-products-div .card-footer { border-top: none; border-left: 1px solid rgba(0,0,0,.125); }
}

@media (min-width: 576px) { 
	#cart-products-div .product-quantity .form-control { width: 35% !important; }
}

@media (min-width: 768px) {
	#cart-products-div .product-quantity .form-control { width: 40% !important; }
}



/**
 * checkout navigation (inline + navbar)
 */


/* defaults */
#checkout-nav ul { margin: 0; padding: 0; width: 100%; white-space: nowrap; box-sizing: border-box; }
#checkout-nav li { margin: 0; padding: 0; width: 100%; display: block; list-style: none; list-style-type: none; position: relative; box-sizing: border-box; }
#checkout-nav li .nav-link { margin: 0; padding: 0; display: block; text-decoration: none; }
#checkout-nav li .nav-link {  transition: none; } /* disable transition because it is not working with before/after */

#checkout-nav li > .nav-link .fa-check { position: absolute; right: 0.75rem; top: 0; height: 100%; line-height: 3rem; margin: 0; text-align: center; z-index: 1; }

/* level 0 */
#checkout-nav > ul > li { display: block; margin-bottom: 0.5rem; }
#checkout-nav > ul > li > .nav-link { display: block; padding: 0.75rem; font-size: 1rem; font-weight: bold; text-decoration: none; color: #333; text-transform: uppercase;  background: #f8f9fa; border: 1px solid #dee2e6; }
#checkout-nav > ul > li > a.nav-link:hover, 
#checkout-nav > ul > li.active > .nav-link, 
#checkout-nav > ul > li.solved > .nav-link { background: #A70430 !important; color: #FFF !important; }


@media (min-width: 576px) { 

	/* level 0 */
	#checkout-nav > ul { border: 1px solid #dee2e6; overflow: hidden; }
	#checkout-nav > ul > li { margin-bottom: 0; }
	#checkout-nav > ul > li,
	#checkout-nav > ul > li > .nav-link { width: auto; flex-basis: 0; flex-grow: 1; text-align: center; border: 0; }
}

@media (min-width: 768px) {

	/* arrows */
	#checkout-nav > ul > li > .nav-link::before { content: ''; position: absolute; z-index: 3; top: -0.5em; right: -2em; width: 0; height: 0; border-style: solid; border-width: 2em 0 2em 2em; border-color: transparent transparent transparent #dee2e6; }
	#checkout-nav > ul > li > .nav-link::after { content: ''; position: absolute; z-index: 4; top: -0.5em; right: -1.9em; width: 0; height: 0; border-style: solid; border-width: 2em 0 2em 2em; border-color: transparent transparent transparent #f8f9fa; }
	
	#checkout-nav > ul > li.active > .nav-link::before,
	#checkout-nav > ul > li.solved > .nav-link::before,
	#checkout-nav > ul > li > a.nav-link:hover::before { border-left-color: #FFF; }
	#checkout-nav > ul > li.active > .nav-link::after,
	#checkout-nav > ul > li.solved > .nav-link::after,
	#checkout-nav > ul > li > a.nav-link:hover::after { border-left-color: #a70430; }
	
	/*
	#checkout-nav > ul > li:last-child > .nav-link::before,
	#checkout-nav > ul > li:last-child > .nav-link::after { display: none; }
	*/
}

@media (min-width: 1400px) {

	#checkout-nav > ul > li > .nav-link .fa-check { line-height: 3.25rem; }

	/* level 0 */
	#checkout-nav > ul > li > .nav-link { font-size: 1.15rem; }
}



/**
 * checkout navigation (navbar)
 */

/* level 0 */
#checkout-nav-wrap #checkout-nav > ul { border: 0; }
#checkout-nav-wrap #checkout-nav > ul > li { margin-bottom: 0; }
#checkout-nav-wrap #checkout-nav > ul > li > .nav-link { background: none; border-width: 0 0 1px 0; }

@media (max-width: 767px) { 
	#checkout-nav-wrap .container-md { padding: 0; }
}

@media (min-width: 576px) { 

	/* level 0 */
	#checkout-nav-wrap #checkout-nav > ul > li { border: none !important; }
}

@media (min-width: 768px) {

	/* level 0 */
	#checkout-nav-wrap #checkout-nav > ul { border-right: 1px solid #dee2e6; }

	/* arrows */
	#checkout-nav-wrap #checkout-nav > ul > li > .nav-link::after { border-left-color: #FFF; }
}


/**
 * checkout method selector 
 */

/* hide radio fields */
.method-selector .method-name input[type="radio"] { display: none; }

/* right padding for price and checked icon */
.method-selector .accordion-button { padding-right: 8rem; font-weight: bold; border-left: 5px solid currentColor; }

/* hide accordion arrows */
.method-selector .accordion-button::after { display: none; }

/* use hover-color like .list-group-item-action */
.method-selector .accordion-button.collapsed { background-color: #f8f9fa; border-color: rgba(0, 0, 0, .125); }
.method-selector .accordion-button.collapsed:hover, 
.method-selector .accordion-button.collapsed:focus { color: #495057; background-color: #e9ecef /*#f8f9fa*/; border-color: rgba(0, 0, 0, .125); }
.method-selector .accordion-button.collapsed:active { color: #212529; background-color: #e9ecef; }

/* checked icon */
.method-selector .method .fa-check { position: absolute; right: 1.25rem; }

/* price */
.method-selector .method .method-cost { position: absolute; right: 3.25rem; }


/**
 * checkout address selector 
 */

/* hide radio fields */
.address-selector input[type="radio"] { display: none; }

/* padding = .accordion-button */
.address-selector li { padding: 1rem 1.25rem; cursor: pointer; }

/* use active-color like .accordion-button */
.address-selector li.active { color: #96042b; background-color: #f6e6ea; border-color: rgba(0, 0, 0, .125); }
.address-selector .list-group-success li.active { color: #0f5132; background-color: #d1e7dd; border-color: #badbcc; }

/* checked icon */
.address-selector li .fa-check { position: absolute; right: 1.25rem; }


/* agb frame */
.checkout-conditions-frame { width: 100%; max-height: 20rem; overflow-y: auto; background: #FFF; color: #212529; padding: 1rem; margin-bottom: 1rem; }


/**
 * checkout shipping calendar
 */
.shipping-calendar { display: none; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #dee2e6 !important; }
.shipping-calendar .shipping-calendar-head { margin-bottom: 1rem; }


/**
 * shop reviews
 */

#overshopreviewbox0 { position: fixed; bottom: 3rem; left: 1rem; width: auto; height: auto; z-index: 150; }
#overshopreviewbox0 .detailshopreviewbox { background: #FFF; border: 1px solid #dee2e6; text-align:center; box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075); padding: 0.5rem; border-radius: 4px; }

#overshopreviewbox0 .detailshopreviewbox h3 { font-size: 0.75rem; font-weight: bold; padding: 0 0 0.5rem 0; margin: 0 0 0.5rem 0; border-bottom: 1px solid #dee2e6; }

#overshopreviewbox0 .reviewValue,
#overshopreviewbox0 .ratingValue { font-size: .75rem; margin: 0.25rem 0; line-height: 1; }
#overshopreviewbox0 .reviewValue { font-weight: bold; }
#overshopreviewbox0 .reviewValue,
#overshopreviewbox0 .reviewValue a,
#overshopreviewbox0 .ratingValue,
#overshopreviewbox0 .ratingValue a { color: inherit; }

#overshopreviewbox0 .starBlock { margin: 0 auto; width: 85px; height:16px; background-image: url(img/ratingstars-xs.png); background-position: 0 -21px; overflow: hidden; }
#overshopreviewbox0 .starBlock a { display:block; height:16px; width:85px; margin: 0 auto 0 auto; text-decoration: none; }
#overshopreviewbox0 .starBlock a:hover {text-decoration: none;}

#overshopreviewbox0 .ratingBlock {background-image: url(img/ratingstars-xs.png);background-position: 0 -21px;  height: 16px;}
#overshopreviewbox0 .ratingBlockStars1 {background-position: 0 0; width: 85px;}
#overshopreviewbox0 .ratingBlockStars2 {background-position: 0 0; width: 81px;}
#overshopreviewbox0 .ratingBlockStars3 {background-position: 0 0; width: 77px;}
#overshopreviewbox0 .ratingBlockStars4 {background-position: 0 0; width: 73px;}

#overshopreviewbox0 .ratingBlockStars5 {background-position: 0 0; width: 67px;}
#overshopreviewbox0 .ratingBlockStars6 {background-position: 0 0; width: 63px;}
#overshopreviewbox0 .ratingBlockStars7 {background-position: 0 0; width: 59px;}
#overshopreviewbox0 .ratingBlockStars8 {background-position: 0 0; width: 55px;}

#overshopreviewbox0 .ratingBlockStars9 {background-position: 0 0; width: 50px;}
#overshopreviewbox0 .ratingBlockStars10 {background-position: 0 0; width: 46px;}
#overshopreviewbox0 .ratingBlockStars11 {background-position: 0 0; width: 42px;}
#overshopreviewbox0 .ratingBlockStars12 {background-position: 0 0; width: 38px;}

#overshopreviewbox0 .ratingBlockStars13 {background-position: 0 0; width: 33px;}
#overshopreviewbox0 .ratingBlockStars14 {background-position: 0 0; width: 29px;}
#overshopreviewbox0 .ratingBlockStars15 {background-position: 0 0; width: 25px;}
#overshopreviewbox0 .ratingBlockStars16 {background-position: 0 0; width: 21px;}

#overshopreviewbox0 .ratingBlockStars17 {background-position: 0 0; width: 16px;}


@media (min-width: 992px) {
	#overshopreviewbox0 { left: auto; right: 1rem; }
}


/**
 * main menu
 */

#main-nav .nav-item.cat-9,
#main-nav .nav-item.cat-100,
#main-nav .nav-item.cat-10,
#main-nav .nav-item.cat-12,
#main-nav .nav-item.cat-14 { font-weight: bold; }


/**
 * paypal rechnung
 */

.checkout_confirmation .apms_form { margin: 1rem 0; }
.checkout_confirmation .apms_form_inner { width: 100% !important; }
.checkout_confirmation .apms_container { padding: 1em; background: #FFF; border: 1px solid #ffecb5; }

@media (min-width: 480px) { 
	.checkout_confirmation .apms_form { margin-left: -0.5rem; }
}


/**
 * elfsight google reviews
 */
#box-elfsight .es-widget-title-container,
#box-elfsight .es-header-component-top { display: none !important; }

#footer-elfsight { display: inline-block; margin: 0 1rem 1.5rem 0; }

#content-page-elfsight { margin-top: 3rem; }
#content-page-elfsight .es-widget-title-container,
#content-page-elfsight .es-header-component-top { display: none !important; }

#header img { max-height: 70px; }

/* ===== STARTSEITE TITEL OPTIMIERUNG ===== */

/* Desktop */
#page-content h1 {
    font-family: 'Gloria Hallelujah', cursive;
    font-size: 42px;
    line-height: 1.25;
    color: #A70430;
    margin-bottom: 15px;
}

/* Mobile Optimierung */
@media (max-width: 768px) {

    #page-content h1 {
        font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
        font-size: 28px;
        line-height: 1.3;
        letter-spacing: 0.5px;
    }

}

/* ===== STARTSEITE TITEL OPTIMIERUNG ===== */

#page-content h1 {
    font-family: 'Gloria Hallelujah', cursive;
    font-size: 42px;
    line-height: 1.25;
    color: #A70430;
    margin-bottom: 15px;
    text-transform: none;
}

@media (max-width: 768px) {

    #page-content h1 {
        font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
        font-size: 28px;
        line-height: 1.3;
        letter-spacing: 0.3px;
        text-transform: none;
    }

}