/*general Style */

body {
    background: #DCDCDC;
    font-size: 100%;
    margin: 0em;
    padding: 0em;
}

h1 {
    font-family: Helvetica;
    font-size: 1.7em;
}

p {
    line-height: 1.25em;
    font-family: Helvetica;
    font-weight: 400;
    color: #2F2D2C;
    margin: 0em;
    padding: 1.25em;
    text-align: justify;
}

.titlebig {
    font-size: 2.5em;
    line-height: 1em;
    font-family: Helvetica;
    font-weight: 400;
    color: white;
    margin: 0em 0em 0em 0em;
    padding: 0em 0em 0.25em 0em;
    text-align: center;
}

.titlesmall {
    font-size: 1.5em;
    line-height: 0.8em;
    font-family: Helvetica;
    font-weight: 400;
    color: white;
    margin: 0em;
    padding: 0.75em 0em 0.5em 0em;
    text-align: center;
}

.subtitle {
    font-size: 1.5em;
    line-height: 1em;
    font-family: Helvetica;
    font-weight: 400;
    color: #2F2D2C;
    margin: 0em;
    padding: 0.5em;
    text-align: left;
}

.subsubtitle,
.legendtitle {
    font-size: 1.2em;
    line-height: 0.85em;
    font-family: Helvetica;
    color: #2F2D2C;
    margin: 0em 0em -0.25em 0.9em;
    padding: 0.5em;
    text-align: justify;
}

.legendtitle {
    padding: 0 0.5em 0.5em 0.5em;
}

.text {
    margin-left: 1em;
    font-family: Helvetica;
}

.smallwritten {
    font-size: 80%;
    line-height: 1.25em;
    font-family: Helvetica;
    font-weight: 400;
    color: #2F2D2C;
    margin: 0em;
    padding: 1.25em;
    text-align: center;
}

table {
    font-family: Helvetica;
    margin: 0em auto 0em auto;
    border: 1px solid #2F2D2C;
    max-width: 90%;
}

table td {
    font-family: Helvetica;
    text-align: left;
    font-weight: 400;
}

.line {
    border-top: 1px solid #2F2D2C;
    width: 95%;
    margin: 0em auto 0em auto;
    height: 1px;
}

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

li {
    list-style: none;
    font-family: Helvetica;
    font-weight: 400;
    color: #2F2D2C;
    line-height: 1.25em;
    margin: 0em;
    padding: 0em;
    margin: 0.313em 0em 0.313em 0em;
}

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

a {
    text-decoration: none;
    color: #2F2D2C;
}

/* On Top Bar */

#menubar {
    display: block;
    background: #FFFFFF
}

#menubar ul {
    display: block;
    width: 2em;
    padding: 0.9em;
}

#menubar ul li {
    display: inline;
}

#menubar ul li a.menubutton {
    display: none;
}

/* Header */

.logo-img {
    width: 7em;
    margin-top: 0.7em;
}

header {
    display: block;
    background-image: url(Media/Images/Main/Header.png);
    text-align: center;
}

nav {
    display: block;
    height: 2.5em;
    background: #FFFFFF;
    text-align: center;
}

nav ul {
    display: block;
}

nav ul li {
    display: inline;
    margin: 0em 0.188em 0em 0.188em;
}

nav ul li a {
    color: #454040;
    font-size: 1.125em;
    line-height: 2.5em;
    padding: 0.563em 0.938em 0.375em 0.983em;
    transition: background 0.2s;
    -webkit-transition: background 0.2s;
}

nav ul li a.active {
    border-bottom: 0.188em solid #E7590B;
}

nav ul li a:hover {
    background: #DBD9D8;
    border-bottom: 0.188em solid #E7590B;
}

/* Listings */

.booking-box {
    background-color: #DCDCDC;
    width: 80%;
    height: 30em;
    overflow-y: auto;
    margin: 0em auto 0em auto;
}

.bookingelement {
    font-family: Helvetica;
    margin: 0.5em 1em 0.5em 1em;
    padding: 0em 0em 0em 1em;
    text-align: left;
    background-color: white;
    border-radius: 1em;
    border: 1px solid white;
}

.bookingelementStorno {
    font-family: Helvetica;
    margin: 0.5em 1em 0.5em 1em;
    padding: 0em 0em 0em 1em;
    text-align: left;
    background-color: white;
    border-radius: 1em;
    border: 1px solid white;
    color: #A8A8A8;
}

.bookingelementStorno .stornoMessage {
    color: #000000;
}

/* Besucher Zähler */

.counter {
    text-align: center;
    border: 0.2em solid black;
    height: 4.5em;
    margin: 0em auto 0em auto;
    font-weight: 700;
    background-color: #FFC600;
    font-family: Helvetica;
}

.countertext {
    text-align: center;
    margin-top: -0.8em;
    height: 1em;
}

.counternumber {
    margin: -5em auto 0em auto;
    height: 2em;
}

.numbers {
    font-size: 0.9em;
    margin: 0.21em;
    padding: 0.2em;
    border: 0.1em solid black;
    width: 0.21em;
    text-align: center;
    background-color: #EDBD11;
    display: inline;
}

/* Content Area */

#main {
    display: block;
    width: 96%;
    max-width: 980px;
    margin: 1.25em auto;
    padding: 0em;
}

#main article {
    display: inline-block;
    width: 65.5%;
    background: #FFFFFF;
    vertical-align: top;
    margin: 0em;
    padding: 0em;
    text-align: center;
}

#main article button {
    font-family: Helvetica;
    height: 1.8em;
    margin: 0em 1em 1em 0em;
}

#main article img {
    max-width: 560px;
    box-shadow: 0px 0px 10px -5px #4C4948;
    border-radius: 5px;
}

#main article #map {
    width: 95%;
    height: 25em;
    margin: 0em auto 0em auto;
}

#main aside {
    display: inline-block;
    width: 30.6%;
    margin-left: 3%;
    padding: 0em;
    vertical-align: top;
}

#main aside section {
    width: 100%;
    margin-bottom: 1.563em;
    background: #FFFFFF;
    border-bottom: 0.188em solid #E7590B;
    overflow-x: hidden;
    padding: 0 auto 0 auto;
}

#main aside section .counter {
    overflow: hidden;
}

#main aside section img {
    margin: 0em 1em 0.5em 1em;
}

#main article .subtitle {
    padding: 1em 1.8em 1em 1.8em;
}

#main aside section ul {
    padding: 0em 1.875em 1.25em 2.5em;
}

#main .buttoncomment {
    margin: 0em auto 0.9em auto;
}

#main figcaption {
    text-align: center;
    font-family: Helvetica;
}

/* Footer */
footer {
    display: block;
    background: #2f2C2C;
    text-align: center;
}

footer ul {
    display: block;
    max-width: 980px;
    text-align: left;
    margin: 0px auto;
}

footer ul li {
    display: inline;
    font-size: 0.8em;
    line-height: 2.8em;
    color: #E2DBDB;
    padding: 0em 0.625em 0em 0.625em;
}

footer ul li a {
    color: #E2DBDB;
}

/* Table */

.pricetable {
    width: 80%;
    border: none;
    margin: 0em auto 0em auto;
}

.pricetableKurbeitrag,
.contacttable {
    border: none;
    margin: 0em 0em 0em 2em;
}

.pricetable td {
    border-top: 1px black solid;
    text-align: center;
}

.pricetable .tabletitle {
    border: none;
}

/* Price */

.eingeruecktPrice {
    font-size: 0.9em;
    margin-left: 15%;
}

/* Admin-Bereich */

.adminRightBubbleUp {
    list-style-type: none;
    background-color: #c8c8c8;
    box-shadow: 0px 0px 10px -5px #4C4948;
    border-radius: 0.7em 0.7em 0 0;
    padding: 1em 1em 1em 12.5%;
    font-weight: bold;
}

.adminRightBubbleDown {
    list-style-type: none;
    background-color: #dcdcdc;
    box-shadow: 0px 0px 7px -5px #4C4948;
    border-radius: 0 0 0.7em 0.7em;
    padding: 1em;
    font-size: 0.9em;
    text-align: center;
}

/* Calender */

#main article fieldset {
    width: 70%;
    border: none;
    margin: 0em auto 1.75em auto;
    font-family: Helvetica;
}

#main article textarea {
    font-family: Helvetica;
    width: 83%;
    height: 5em;
    font-size: 85%;
    text-align: left;
    margin: 0em 0em 2em 0em;
}

#main .progressbar {
    width: 85%;
    margin-top: 2em;
    border-radius: 25px;
    font-size: 0.7em;
    color: white;
}

#main .progressbar td {
    width: 25%;
    padding: 0.25em;
    text-align: center;
}

#main .progressbar td a {
    color: white;
}

#main .progressbar td:first-child {
    border-radius: 25px 0 0 25px;
}

#main .progressbar td:last-child {
    border-radius: 0 25px 25px 0;
}

#main .progressbar .past {
    background-color: #22B14C;
}

#main .progressbar .next {
    background-color: #0076A4;
}

#main .progressbar .error {
    background-color: #ED1C24;
}

#main .progressbar .grey {
    background-color: #7F7F7F;
}

#main .progressbar .active {
    background-color: #59BAE1;
    font-weight: bold;
}

#main article .bookingform {
    border: 1px solid #2F2D2C;
}

#main article .bookinglegende {
    display: inline-block;
    width: 33%;
    margin: 0em 0em 0em 2em;
}

#main article .bookinglegende .day {
    height: 40px;
    width: 40px;
}

#main article .legendtext {
    margin: -3em 0em 0em 2em;
    padding: 3.5em 0em 0.3em 1em;
}

#main article .legendtitle {
    margin-bottom: 0.3em;
    text-decoration: underline;
}

.calender {
    vertical-align: top;
    display: inline-block;
    width: 17.5em;
    height: auto;
    border: 0.063em solid black;
    font-family: Helvetica;
    font-size: 1em;
    margin: 0em auto 0em auto;
    padding: 0em 0em -1em 0em;
}

.right {
    float: right;
    margin-right: 5%;
}

.left {
    float: left;
    margin-left: 5%;
}

* html .calender,
*+html .calender {
    width: 17.625em;
    height: auto;
}

.calender div.after,
.calender div.before {
    color: silver;
    display: inline-block;
}

.day {
    float: left;
    width: 14.2857142857%;
    height: 14.2857142857%;
    line-height: 2.5em;
    text-align: center;
}

.day.headline {
    background: silver;
}

.day.booked {
    background-image: url(Media/Images/Calendar/Normal/notfree.png);
}

.day.booked.difMon {
    background-image: url(Media/Images/Calendar/Light/notfree.png);
}

.day.arrive {
    background-image: url(Media/Images/Calendar/Normal/arrival.png);
}

.day.arrive.difMon {
    background-image: url(Media/Images/Calendar/Light/arrival.png);
}

.day.leave {
    background-image: url(Media/Images/Calendar/Normal/leaving.png);
}

.day.leave.difMon {
    background-image: url(Media/Images/Calendar/Light/leaving.png);
}

.day.floating {
    background-image: url(Media/Images/Calendar/Normal/floating.png);
}

.day.floating.difMon {
    background-image: url(Media/Images/Calendar/Light/floating.png);
}

.day.unbookable {
    background-image: url(Media/Images/Calendar/Normal/unbookable.png);
}

.day.unbookable.last {
    background-image: url(Media/Images/Calendar/Light/unbookable.png);
}

.day.current {
    font-weight: 700;
    background-image: url(Media/Images/Calendar/Normal/today.png);
}

.day.free {
    background-image: url(Media/Images/Calendar/Normal/free.png);
}

.day.free.difMon {
    background-image: url(Media/Images/Calendar/Light/free.png);
}

/* Gästebuch */

#main article .textareacomment textarea {
    margin: 0em auto 0em auto;
}

#main article .commentInput {
    margin: 0em auto 0em auto;
}

#main article .textareaname {
    width: 100%;
    margin: 0em auto 0em auto;
}

#main article .commentform {
    border: none;
}

#main article .allcomments {
    width: 85%;
    margin: 0em auto 0em auto;
    font-family: Helvetica;
    background: #DCDCDC;
    height: 30em;
    overflow-y: auto;
}

#main article .comment {
    font-family: Helvetica;
    margin: 1em 1em 0em 1em;
    padding: 1em 1em 0em 1em;
    text-align: left;
    background-color: white;
    border: 1px solid white;
}

#main article .commentname {
    margin: 0em 0em 0.5em 0em;
}

#main article .commentdate {
    font-size: 0.9em;
}

#main article .commentInput textarea {
    width: 90%;
}

#main article .comment form,
#main article .bookingelement form,
#main article .buttonscommentedit form {
    display: inline-block;
}

#main article .edit-booking textarea {
    height: 1.2em;
    width: 10em;
}

#main article .edit-booking p {
    margin: 0em 0em 0em 10em;
}

#main article .editbooking {
    margin: 0em 0em 0em 5em;
}

/* Ausstattung */

#main article .Ausstattungsliste {
    text-align: left;
    font-family: Helvetica;
    margin: 0em 0em 0em 2.5em;
}

#main article .Ausstattungsliste dt {
    font-size: 1.1em;
    text-decoration: underline;
    font-weight: 700;
    margin-bottom: 0.5em;
}

#main article .list {
    display: inline-table;
    margin-right: 2em;
    font-weight: 400;
}

#main article .Ausstattungsliste .list ul {
    margin-left: 3.5em;
    text-align: left;
}

#main article .Ausstattungsliste .list ul li {
    list-style-type: square;
}

/* Mobile Style */

@media screen and (max-width: 800px) {
    body {
        font-size: 90%;
    }

    #main article .bookinglegende .day {
        height: 36px;
        width: 36px;
    }

    .day.booked {
        background-image: url(Media/Images/Calendar/Normal/notfreeMedium.png);
    }

    .day.booked.difMon {
        background-image: url(Media/Images/Calendar/Light/notfreeMedium.png);
    }

    .day.arrive {
        background-image: url(Media/Images/Calendar/Normal/arrivalMedium.png);
    }

    .day.arrive.difMon {
        background-image: url(Media/Images/Calendar/Light/arrivalMedium.png);
    }

    .day.leave {
        background-image: url(Media/Images/Calendar/Normal/leavingMedium.png);
    }

    .day.leave.difMon {
        background-image: url(Media/Images/Calendar/Light/leavingMedium.png);
    }

    .day.floating {
        background-image: url(Media/Images/Calendar/Normal/floatingMedium.png);
    }

    .day.floating.difMon {
        background-image: url(Media/Images/Calendar/Light/floatingMedium.png);
    }

    .day.unbookable {
        background-image: url(Media/Images/Calendar/Normal/unbookableMedium.png);
    }

    .day.unbookable.last {
        background-image: url(Media/Images/Calendar/Light/unbookableMedium.png);
    }

    .day.current {
        font-weight: 700;
        background-image: url(Media/Images/Calendar/Normal/todayMedium.png);
    }

    .day.free {
        background-image: url(Media/Images/Calendar/Normal/freeMedium.png);
    }

    .day.free.difMon {
        background-image: url(Media/Images/Calendar/Light/freeMedium.png);
    }
}

@media screen and (max-width: 650px) {
    #main article .bookinglegende {
        display: inline-block;
        width: 35%;
        margin: 1.75em auto 0em auto;
    }

    #main article .legendtext {
        width: 50%;
        margin: 0em auto 0em 3em;
        padding: 0.5em 0em 0.5em 0em;
    }
}

@media screen and (max-width: 700px) {
    .calender {
        margin-bottom: -0.5em;
        height: auto;
    }

    #main article .bookinglegende {
        display: block;
        width: 35%;
        margin: 1.75em auto 0em auto;
    }

    #main article .legendtext {
        width: 100%;
        margin: 0em auto 0em 3em;
        padding: 0.5em 0em 0.5em 0em;
    }
}

@media screen and (max-width: 750px) {
    body {
        font-size: 86%;
    }

    #main article .bookinglegende .day {
        height: 35px;
        width: 35px;
    }

    .day.booked {
        background-image: url(Media/Images/Calendar/Normal/notfreeSmall.png);
    }

    .day.booked.difMon {
        background-image: url(Media/Images/Calendar/Light/notfreeSmall.png);
    }

    .day.arrive {
        background-image: url(Media/Images/Calendar/Normal/arrivalSmall.png);
    }

    .day.arrive.difMon {
        background-image: url(Media/Images/Calendar/Light/arrivalSmall.png);
    }

    .day.leave {
        background-image: url(Media/Images/Calendar/Normal/leavingSmall.png);
    }

    .day.leave.difMon {
        background-image: url(Media/Images/Calendar/Light/leavingSmall.png);
    }

    .day.floating {
        background-image: url(Media/Images/Calendar/Normal/floatingSmall.png);
    }

    .day.floating.difMon {
        background-image: url(Media/Images/Calendar/Light/floatingSmall.png);
    }

    .day.unbookable {
        background-image: url(Media/Images/Calendar/Normal/unbookableSmall.png);
    }

    .day.unbookable.last {
        background-image: url(Media/Images/Calendar/Light/unbookableSmall.png);
    }

    .day.current {
        font-weight: 700;
        background-image: url(Media/Images/Calendar/Normal/todaySmall.png);
    }

    .day.free {
        background-image: url(Media/Images/Calendar/Normal/freeSmall.png);
    }

    .day.free.difMon {
        background-image: url(Media/Images/Calendar/Light/freeSmall.png);
    }
}

@media screen and (max-width: 940px) {
    #main {
        margin: 0.25em auto;
    }

    #main aside,
    #main article {
        width: 100%;
        margin: 0.625em 0em 0.625em 0em;
    }

    .flyer {
        position: relative;
        width: 30%;
        display: inline-block;
        float: left;
    }

    .flyerbox .subsubtitle {
        margin-top: auto;
        margin-bottom: auto;
    }
}

@media screen and (min-width: 1025px) {
    nav.nav {
        display: block !important;
    }
}

@media screen and (max-width: 1025px) {
    #menubar ul li a.menubutton {
        display: block;
    }

    nav {
        display: none;
        height: auto;
        width: 100%;
    }

    nav ul li {
        display: block;
        margin: 0.3em 0em 0.3em 0em;
    }

    nav ul li a {
        display: block;
    }

    nav ul li a.active,
    nav ul li a:hover {
        border: none;
        background-color: #E7590B;
        color: white;
    }
}


@media screen and (max-width: 370px) {
    footer ul li {
        display: block;
        text-align: center;
    }

    footer ul li a {
        display: block;
    }

    footer ul li a:hover {
        border: none;
        background-color: #404040;
        color: white;
    }
}