/* ------------------------------------------------------------------------------------ */
/* Styles die sich fuer diesen Kunden von den default-Styles unterscheiden	        	*/
/* ------------------------------------------------------------------------------------ */

/* "Chelsea Market" chelsea-market-regular - latin */
@font-face {
  font-display: swap;
  font-family: "Copy";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/chelsea-market-v13-latin-regular.eot"); /* IE9 Compat Modes */
  src: url("../fonts/chelsea-market-v13-latin-regular.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */ url("../fonts/chelsea-market-v13-latin-regular.woff2")
      format("woff2"),
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
      url("../fonts/chelsea-market-v13-latin-regular.woff") format("woff"),
    /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
      url("../fonts/chelsea-market-v13-latin-regular.ttf") format("truetype"),
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
      url("../fonts/chelsea-market-v13-latin-regular.svg#ChelseaMarket")
      format("svg"); /* Legacy iOS */
}

:root {
  --color_copy: rgb(18, 31, 35);
  --color_copy_link: rgb(255, 230, 0);
  --color_copy_link_hover: rgb(246, 166, 8);

  --color_header_bg_g1: rgb(65, 67, 70);
  --color_header_bg_g2: rgb(51, 52, 55);

  --color_blue_g1: rgb(70, 133, 157);
  --color_blue_g2: rgb(61, 124, 148);

  --color_lightblue_g1: rgb(222, 237, 243);
  --color_lightblue_g2: rgb(193, 214, 223);

  --color_green_g1: rgb(41, 164, 149);
  --color_green_g2: rgb(43, 162, 161);

  --color_nav0_default: rgb(25, 43, 49);
  --color_nav0_hover: rgb(246, 166, 8);
  --color_nav0_current: rgb(246, 166, 8);

  --padding_page: 2%;
  --gap_elements_horizontal: 1rem;
  --gap_elements_vertical: 1.5rem;
  --padding_elements: 0.5rem;

  --button_progress_width: 80px;
}

*,
::before,
::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

img {
  display: block;
}

select,
input {
  padding-left: 0.2em;
}

a,
a:link,
a:visited,
a:active,
a:hover {
  color: var(--color_copy);
  text-decoration: none;
  text-shadow: 1px 1px 0 var(--color_copy_link);
}
a:hover {
  color: var(--color_copy_link_hover);
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 1);
}

* {
  font-family: "Copy", sans-serif;
  font-size: 1em;
  line-height: 1.2em;
  color: var(--color_copy);
}

body {
  font-weight: 400;
  background-image: url("../images/main_back.jpg?v=2");
  background-repeat: repeat-x;
  background-size: cover;
  background-color: #83a5d5;
  background-attachment: fixed;
  background-position: 0px 0px;
}

#main_anchor {
  position: relative;
  width: 990px;
  margin: auto;
}

div.hr {
  clear: both;
  height: 9px;
  margin: 0px;
  padding: 0px;
  margin-right: 0px;
  margin-bottom: 16px;
  border: 1px #ebdac4;
  border-style: none none solid none;
}

hr {
  color: var(--color_lightblue_g2);
  margin-bottom: var(--gap_elements_vertical);
}

h1,
h2,
h3,
h4 {
  font-family: "Copy", sans-serif;
}

h1 {
  display: block;
  margin-bottom: 12px;
  padding-bottom: 1px;
  font-size: 2em;
  font-weight: 600;
  color: var(--color_green_g1);
  line-height: 1em;
  text-shadow: 0.07em 0.07em 0 hsla(0, 0%, 0%, 0.7), -0.05em -0.05em 0 #fff;
}

h2 {
  display: block;
  margin-bottom: 5px;
  font-size: 1.3em;
  font-weight: 600;
  line-height: 1em;
  color: #976700;
  text-shadow: 0.07em 0.07em 0 hsla(0, 0%, 0%, 0.7);
}

h3 {
  display: block;
  margin-bottom: 10px;
  padding-top: 2em;
  padding-bottom: 0.2em;
  padding-left: 0.2em;
  padding-right: 0.2em;
  font-size: 1.5em;
  font-weight: 600;
  color: #fff;
  background-color: var(--color_header_bg_g1);
  background: linear-gradient(
    135deg,
    var(--color_header_bg_g1) 20%,
    var(--color_header_bg_g2) 40%,
    var(--color_header_bg_g1) 60%,
    var(--color_header_bg_g2) 80%
  );
  border-bottom: 0.8em solid var(--color_blue_g1);
  text-shadow: 0.07em 0.07em 0 hsla(0, 0%, 0%, 0.7);
}

div.header {
  position: relative;
  text-align: center;
  padding-top: var(--padding_page);
}

.header_logo {
  position: absolute;
  top: -160px;
  width: 100%;
  z-index: 1;
}

.header_logo img {
  width: 97%;
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  filter: drop-shadow(2px 2px 0.5px rgba(0, 0, 0, 0.2));
}

.header_skull {
  width: auto;
  position: absolute;
  top: -30px;
  right: -30px;
  z-index: 99;
  width: 240px;
  height: 240px;
}

.header_skull img {
  width: 240px;
  height: 240px;
}

.header_image {
  min-height: 100px;
  margin-left: var(--padding_page);
  margin-right: var(--padding_page);
}

.header h1 {
  width: 100%;
  font-family: "Logo", serif;
  font-weight: 400;
  font-size: 7em;
  text-align: center;
  line-height: 1.2em;
  padding-top: 0.1em;
  padding-bottom: 0.1em;
  margin-bottom: 0px;

  color: white;
}

.header h2 {
  font-weight: 600;
  font-size: 25px;
  text-align: center;
  padding-top: 8px;
  padding-bottom: 8px;
  margin-bottom: 10px;
  border-top: 1px solid #393a3c;
  border-bottom: 1px solid #393a3c;
  width: 100%;
}

div.nav_row {
  width: 100%;
  text-align: center;
}

div.nav {
  display: inline-block;
  margin: auto;
  margin-top: 10px;
}

div.nav div {
  display: inline-block;
}

div.container_0 {
  margin-top: 55px;
  margin-left: 20px;
  margin-right: 20px;
}

div.container_1 {
  margin-top: 55px;
  margin-right: 20px;
}

td.footer {
  background-color: #393a3c;
}

/* ------------------------------------------------------------ */
/* Pseudo Formats                                               */
/* ------------------------------------------------------------ */

.infobox_link a,
.content a {
  font-weight: normal;
  color: #f78204;
  text-decoration: underline;
}

.content a:link,
.content a:visited,
.content a:active {
  color: #000;
  text-decoration: underline;
}

.infobox_link a:link,
.infobox_link a:visited,
.infobox_link a:active {
  color: #f78204;
  text-decoration: underline;
}

.content a:hover,
.content_copy a:hover,
.infobox_link a:hover,
.arrow a:hover {
  color: #ffab42;
}

/* ------------------------------------------------------------ */
/* Nav								*/
/* ------------------------------------------------------------ */

div.nav {
  clear: both;
  width: 100%;
  display: inline-block;
  text-align: center;
}

.nav div {
  display: inline-block;
}

div.header {
}

td.header {
  font-size: 20px;
  padding-bottom: 10px;
}

.subhead {
  font-size: 17px;
  font-weight: normal;
}

td.header .bold {
}

td.nav2,
td.nav3 {
  padding-top: 20px;
  padding-bottom: 20px;
}

.nav_level_00 {
  float: none;
  clear: none;
  font-size: 1.8em;
  font-weight: 600;
  padding: 0px;
  vertical-align: bottom;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0.25em;
  margin-right: 0.25em;
}

.nav div.nav_level_00_spacer_before,
.nav div.nav_level_00_spacer_after_last,
.nav div.nav_level_01_spacer_before,
.nav div.nav_level_01_spacer_after_last {
  display: none;
}

.nav_level_01 {
  float: none;
  clear: none;
  font-size: 1.8em;
  font-weight: 600;
  padding: 0px;
  margin: 0px;
  margin-left: 1em;
  margin-right: 1em;
  margin-bottom: 1em;
  vertical-align: bottom;
}

.nav_level_02 {
  float: none;
  font-size: 17px;
  font-weight: normal;
  font-size: 12px;
  margin-right: 5px;
  padding: 0px;
  height: 23px;
}

.nav_level_00 a:link.current,
.nav_level_00 a:visited.current,
.nav_level_00 a:link.open,
.nav_level_00 a:visited.open,
.nav_level_01 a:link.current,
.nav_level_01 a:visited.current,
.nav_level_01 a:link.open,
.nav_level_01 a:visited.open {
}

/* NAV LEVEL 00 -------------------------*/
.nav_level_00 a,
.nav_level_00 a:link,
.nav_level_00 a:visited,
.nav_level_00 a:active {
  font-size: 1.2em;
  color: var(--color_nav0_default);
  text-shadow: 1px 1px 0 #fff, -2px -1px 0 #fff, 2px 2px 0 rgba(0, 0, 0, 0.5),
    -2px -2px 0 rgba(0, 0, 0, 0.235);
}

.nav_level_00.open a:link,
.nav_level_00.open a:visited,
.nav_level_00.open a:active,
.nav_level_00.open a:hover,
.nav_level_00.current a:link,
.nav_level_00.current a:visited,
.nav_level_00.current a:active,
.nav_level_00.current a:hover {
  text-shadow: 2px 1px 0 var(--color_nav0_current), -2px -1px 0 #fff,
    3px 2px 0 rgba(0, 0, 0, 0.5), -2px -2px 0 rgba(0, 0, 0, 0.235);
}

/* NAV LEVEL 01 -------------------------*/
.nav_level_01 a:link,
.nav_level_01 a:visited,
.nav_level_01 a:active {
  color: #000;
}

.nav_level_01.open a:link,
.nav_level_01.current a:link {
  text-decoration: underline !important;
}

/* NAV LEVEL 02 -------------------------*/
.nav_level_02 a:link,
.nav_level_02 a:visited,
.nav_level_02 a:active {
  color: #000;
}

.nav_level_02.open a:link,
.nav_level_02.current a:link {
  text-decoration: underline !important;
}

/* NAV hover ----------------------------*/
.nav_level_00 a:hover,
.nav_level_01 a:hover,
.nav_level_02 a:hover,
.nav_level_03 a:hover {
  color: var(--color_nav0_hover);
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5), -1px -1px 0 rgba(0, 0, 0, 0.5),
    2px 2px 0 rgba(0, 0, 0, 0.5), -2px -2px 0 rgba(0, 0, 0, 0.235);
}

.nav_level_00.open a:hover,
.nav_level_00.current a:hover {
  color: var(--color_nav0_hover);
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5), -1px -1px 0 rgba(0, 0, 0, 0.5),
    2px 2px 0 rgba(0, 0, 0, 0.5), -2px -2px 0 rgba(0, 0, 0, 0.235);
}

/* ------------------------------------------------------------ */
/* Content	                                                    */
/* ------------------------------------------------------------ */

.wrap_content {
  display: inline-block;
  width: 100%;
  padding-left: var(--padding_page);
  padding-right: var(--padding_page);
  margin-bottom: var(--padding_page);
  text-align: left;
}

main {
  width: 100%;
}

main.content {
  display: inline-block;
  text-align: left;
}

.halfs main.content {
  padding: var(--padding_elements);
  padding-top: var(--gap_elements_vertical);
  padding-top: var(--gap_elements_vertical);
  background-color: var(--color_blue_g1);
  background: linear-gradient(
    135deg,
    var(--color_lightblue_g1),
    var(--color_lightblue_g2)
  );
}

div.nomargin {
  margin-right: 0px;
}

.error {
  background-color: #ffcc00;
  color: #f00;
  font-weight: bold;
  padding: 0.5em;
}

.content_copy {
  margin-bottom: var(--gap_elements_vertical);
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

a.arrow,
.paragraph_linked a.link,
.link_explained a.link {
  text-decoration: none !important;
}

a.arrow:before,
a.link::before {
  content: "\25B6";
  font-size: 1.2em;
  color: var(--color_copy_link_hover);
  margin-right: 0.2em;
  text-decoration: none !important;
}

div.arrow,
div.link_explained {
  margin-bottom: 5px;
}

.link_explained a {
  text-decoration: underline;
}

.spacer_adjustable {
  clear: both;
}

.img_titled,
table.img_titled,
.img,
.img img {
  max-width: 100%;
  width: 100%;
}

.img_titled.half {
  width: 50%;
  height: auto;
}

#content .img_titled.half {
  width: 49%;
  height: auto;
}

.img_header {
  position: relative;
  width: 100%;
  margin: 0 !important;
}

.img_header .img img {
  width: 100%;
  max-height: 350px;
  min-height: 230px;
  object-fit: cover;
}

.img_header .img_headline {
  position: absolute;
  width: 100%;
  top: 20%;
  left: 0;
  text-align: left;
  font-size: 2em;
  padding-left: var(--gap_elements_horizontal);
  padding-right: var(--gap_elements_horizontal);
  display: none;
}

.img_header table.img_titled {
  width: auto;
}

.img_header .img_titled_text {
  font-size: 15px;
  height: 30px;
  padding: 5px 20px;
  background-color: rgba(255, 255, 255, 0.7);
  border: 2px solid rgb(255, 255, 255);
}

.navblock_0 {
  position: absolute;
  bottom: 20px;
  left: 0;
  background-color: rgba(255, 255, 255, 0.7);
}

.navblock_1 {
  background-color: rgba(255, 255, 255, 0.7);
  text-align: center !important;
  font-size: 1em;
}

.img_header table.img_titled td {
  text-align: center;
}

.img img {
  height: auto;
}

div.img_titled.left {
  margin-right: 15px;
}

div.img_titled.right {
  margin-left: 15px;
}

div.container div.img_titled {
  margin-bottom: 14px;
}

.container_1 .img_titled img {
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  border: 1px solid #fff;
}

td.img_titled {
  padding-bottom: 1px;
}

.img_titled_text {
  height: 32px;
  background-color: transparent;
  padding: 2px;
  font-size: 11px;
}

td.img_titled_text {
  margin: 0px;
  padding: 2px 0px 0px 1px;
}

.img_titled_text .content_copy {
  font-size: 11px;
  margin: 0px;
}

div.imgrow {
  margin-top: 10px;
  margin-bottom: 10px;
}

td.imgrow {
  text-align: center;
}

td.imgrow div.img img {
  border: 1px solid #004077;
}

td.imgrow.left {
  text-align: left;
}

td.imgrow.right {
  text-align: right;
}

/* images -------------------------------*/
figure {
  margin-bottom: 2em;
}

figcaption {
  background-color: var(--color_lightblue_g2);
  padding: var(--padding_elements);
}

figure .copyright {
  right: var(--padding_elements);
  bottom: var(--padding_elements);
}

.img_wrap img {
  width: 100%;
}

/* Bulletlist ---------------------------*/

table.bulletlist {
  margin-bottom: 23px;
}

td.bullet {
  background-position: 0px 3px;
  background-image: url("../images/bullet.gif");
  width: 13px;
  height: 18px;
}

td.bullet img {
  margin-left: 0px;
}

table.bulletlist_black td.bullet {
  background-position: 0px 3px;
  background-image: url("../images/bullet_black.gif");
  width: 11px;
  height: 18px;
}

.form_user {
  background-image: url("../images/admin_form_back.gif");
}

.content img {
  margin-top: 0px;
  margin-left: 0px;
}

/* INFOBOX ------------------------------*/

.infobox {
  margin-bottom: var(--gap_elements_vertical);
  border: 1px solid #393a3c;
  background-color: #e7e7e7;
}

.half_right .infobox {
  rotate: 0.5deg;
}

.half_left .infobox {
  rotate: -0.5deg;
}

h2.title {
  width: 100%;
  margin-bottom: 0;
  padding: var(--padding_elements);
  color: #fff;
  font-size: 1.5em;
  background-color: var(--color_blue_g1);
  background: linear-gradient(
    135deg,
    var(--color_blue_g1) 20%,
    var(--color_blue_g2) 40%,
    var(--color_blue_g1) 60%,
    var(--color_blue_g2) 80%
  );
}

.infobox figure {
  margin-bottom: 0;
}

.infobox .content {
  padding: 0.8em var(--padding_elements);
}

.infobox .content .content_copy {
  margin-bottom: 0;
}

/* ------------------------------------------------------------ */
/* Container                                                    */
/* ------------------------------------------------------------ */

/* ------------------------------------------------------------ */
/* Preislisten                                                  */
/* ------------------------------------------------------------ */

div.prices_list {
  clear: both;
  padding-top: 2px;
  border-top: 1px solid #ebdac4;
  border-bottom: 1px solid #ebdac4;
  margin-bottom: 8px;
}

table.prices_list {
  border-collapse: collapse;
  width: 100%;
}

table.prices_list td.prices_list_row {
  padding: 2px;
  padding-top: 6px;
  padding-bottom: 0px;
  border-bottom: 2px solid #fff;
}

td.prices_list_row_1,
td.prices_list_row_2 {
  border-right: 2px solid #fff;
}

td.prices_list_row {
  background-color: #f7f7f7;
}

table.prices_list td.prices_list_row_1 {
  font-weight: bold;
  padding-left: 4px;
}

table.prices_list td.prices_list_row_2,
table.prices_list td.prices_list_row_3 {
  text-align: right !important;
  padding-right: 30px;
}

/* ------------------------------------------------------------ */
/* Buchungsformular                                             */
/* ------------------------------------------------------------ */
div.form_book {
  clear: both;
  padding-top: 2px;
  border-top: 1px solid #ebdac4;
  border-bottom: 1px solid #ebdac4;
  margin-bottom: 8px;
}

table.form_book {
  border-collapse: collapse;
  width: 100% !important;
}

table.form_book tr {
  width: 100%;
}

table.form_book td.admin_form_col {
  background-color: #f7f7f7;
  padding: 4px;
  border-bottom: 2px solid #fff;
}

table.form_book td.admin_form_col_alert {
  background-color: #ffe69a;
}

table.form_book span.admin_form_col_alert {
  color: #f00;
  font-weight: bold;
}

table.form_book td.admin_form_col_left {
  width: 15%;
}

table.form_book td.admin_form_col_right {
  width: 85%;
}

table.form_book input,
table.form_book select,
table.form_book textarea {
}

table.form_book input.full,
table.form_book textarea.full {
  width: 100%;
}

table.form_book input.submit_form,
td.infobox_link input.submit_form {
  width: 150px;
  border: 1px solid #000;
  text-align: center;
}

.reply {
  background-color: #c3edb7;
  font-weight: bold;
  padding: 2px;
}

td.facts_left {
  font-weight: bold;
  padding-right: 8px;
  white-space: nowrap;
}

div.facts_equ {
  margin-left: 10px;
}

/* ------------------------------------------------------------ */
/* Footer                                                       */
/* ------------------------------------------------------------ */

small {
  font-size: 10px;
}

.footer {
  clear: both;
  margin-top: 0px;
  text-align: right;
  font-size: 10px;
}

div.footer {
  margin-right: 21px;
  margin-bottom: 9px;
}

.footer a:link,
.footer a:visited,
.footer a:active {
  text-shadow: none;
}

.footer a:hover {
  text-shadow: none;
}

/* ------------------------------------------------------------ */
/* 2halfs                                                       */
/* ------------------------------------------------------------ */

.halfs #content {
  padding-top: 0;
}

.half_left {
  width: 50%;
  float: left;
  padding-left: var(--padding_page);
  padding-right: 1%;
}

.half_right {
  width: 50%;
  float: left;
  padding-left: 1%;
  padding-right: var(--padding_page);
}

/* ------------------------------------------------------------ */
/* Progress                                                     */
/* ------------------------------------------------------------ */
#progress {
  display: grid;
  position: fixed;
  bottom: 10px;
  right: 10px;
  height: var(--button_progress_width);
  width: var(--button_progress_width);
  place-items: center;
  border-radius: 50%;
  cursor: pointer;
  z-index: 99;
  opacity: 0;
  transition: opacity 0.3s;
  -webkit-transition: opacity 0.3s;
  pointer-events: none;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
}

#progress-value {
  display: grid;
  height: calc(100% - 15px);
  width: calc(100% - 15px);
  border-radius: 50%;
  place-items: center;
  background-color: #9cb8c6;
}

#progress-value img {
  width: 60%;
  height: auto;
  transform: rotate(-90deg);
}

#progress.show {
  opacity: 1;
  pointer-events: auto;
}

#progress:hover #progress-tooltip,
#progress:active #progress-tooltip {
  opacity: 1;
  pointer-events: auto;
}

#progress:hover #progress-value,
#progress:active #progress-value {
  background-color: var(--color_copy_link);
  text-shadow: 0 0 5px #ffffff;
}

/* ------------------------------------------------------------ */
/* for responsive                                               */
/* ------------------------------------------------------------ */

#content *,
.half_left *,
.half_right * {
  text-align: left;
}

input[type="button"],
input[type="submit"],
input[type="reset"] {
  text-align: center;
}

#img_main_header {
  border-bottom: 3px solid #001247;
}

.wrap_main {
  width: 100%;
  max-width: 990px;
  margin-top: 160px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
  background-color: #fff;
  box-shadow: 0 12px 8px 8px rgba(51, 51, 51, 0.2);
  /* rotate: 0.8deg; */
}

.margin_left {
  width: 140px;
  padding-top: 56px;
  padding-left: 20px;
  padding-right: 0px;
  float: left;
}

.margin_left .nav {
  margin: 0;
  float: left;
}

.margin_left .container {
  float: left;
  width: 100%;
}

#content {
  width: 100%;
  text-align: left;
}

div.content {
  padding-left: var(--padding_page);
  padding-right: var(--padding_page);
  padding-top: 20px;
  padding-bottom: var(--gap_elements_vertical);
}

.margin_right {
  width: 278px;
  height: 100%;
  float: right;
  margin-right: 20px;
  margin-top: 56px;
}

div.container_0 {
  margin: 0;
}

div.container_1 {
  margin: 0;
}

.footer {
  background-color: #bdd7e4;
}

div.footer {
  display: inline-block;
  width: 100%;
  margin: 0;
  margin-top: 30px;
  padding: 9px 21px;
}

div.footer,
div.footer a:link,
div.footer a:visited {
  color: #333 !important;
}

/* ------------------------------------------------------------ */
/* MEDIA                                                        */
/* ------------------------------------------------------------ */

/* Tablet quer (und kleiner) ------------------------------------------------ */

@media only screen and (max-width: 1008px) {
}

/* Viewport kleiner als Layout ---------------------------------------------- */
@media screen and (max-width: 990px) {
  body.main_content {
    margin-top: 0;
    margin-bottom: 100px;
  }

  .header_logo {
    top: 0;
  }

  .header_logo img {
    top: -1vw;
  }

  .header_image {
    margin-top: 16vw;
  }

  .wrap_main {
    margin-bottom: 0;
    margin-top: 0;
    rotate: 0deg;
  }
}

/* Sondergroesse ------------------------------------------------------------ */
@media only screen and (max-width: 850px) {
  .img_titled.half {
    width: 100%;
    height: auto;
  }

  #content .img_titled.half {
    width: 49%;
    height: auto;
  }
}

/* Sondergroesse ------------------------------------------------------------ */
@media only screen and (max-width: 550px) {
  .half_left,
  .half_right {
    width: 100%;
    padding-left: var(--padding_page);
    padding-right: var(--padding_page);
  }

  #content .img_titled.half,
  .img_titled.half {
    width: 100%;
    height: auto;
  }

  .header h1 {
    font-size: 40px;
  }

  .navblock_0 {
    position: relative;
    top: 0;
  }
}
