/*
Theme Name: Carolinum
Theme URI: https://4eck-media.de/
Author: the 4eck Media Developers
Author URI: https://4eck-media.de/
Description: 4eck Media Carolinum Theme
Version: 1.0
License: 4eck Media
Text Domain: carolinum
*/

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* mixed with carolinum's default styles and a little of css reset where needed */

/* Document
   ========================================================================== */
html {
    line-height: 1.15; /* 1 */
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

body, html {
    font-size: 100%;
    height: 100%;
}

body {
    margin: 0;
    font-family: 'Fira Sans Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 300;
    font-size: 21px;
    line-height: 1;
    background-color: #f7f8f8;
    color: #3b3b3a;
    overflow-x: hidden;
}

article,
aside,
footer,
header,
nav,
section {
    display: block;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

figure {
    margin: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Grouping content
   ========================================================================== */

figcaption,
figure,
main { /* 1 */
    display: block;
}

hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
}

pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
}

ul, li {
    list-style: none;
    padding-left: 0;
}

/* Text-level semantics
   ========================================================================== */

a {
    background-color: transparent; /* 1 */
    -webkit-text-decoration-skip: objects; /* 2 */
}

abbr[title], dfn[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
}

b,
strong {
    font-weight: inherit;
}

b,
strong {
    font-weight: 600;
}

h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong {
    font-weight: 500;
}

code,
kbd,
samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
}

dfn {
    font-style: italic;
}

mark {
    background-color: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
   ========================================================================== */

audio,
video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

img {
    border-style: none;
}

svg:not(:root) {
    overflow: hidden;
}

/* Forms
   ========================================================================== */

button,
input,
optgroup,
select,
textarea {
    vertical-align: middle;
    font-family: 'Fira Sans Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
}

button,
input { /* 1 */
    overflow: visible;
}

button,
select { /* 1 */
    text-transform: none;
}

button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
    -webkit-appearance: button; /* 2 */
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

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

legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
}

progress {
    display: inline-block; /* 1 */
    vertical-align: baseline; /* 2 */
}

textarea {
    overflow: auto;
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

details, /* 1 */
menu {
    display: block;
}

summary {
    display: list-item;
}

/* Scripting
   ========================================================================== */

canvas {
    display: inline-block;
}

template {
    display: none;
}

/* Hidden
   ========================================================================== */

[hidden] {
    display: none;
}


/*! style.css for carolinum */
/*
    Colors used
    ===========
    Main background color: #f7f8f8
    Main element color: #092781
    Heading color: #092781
    Text color: #3b3b3a
    Link color:
 */

h1, h2, h3, h4, h5, h6 {
    font-weight: 500;
    color: #092781;
    text-transform: uppercase;
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1, h2 {
    font-size: 38px;
    line-height: 1.25;
}

h1:after, h2:after {
    background: linear-gradient(90deg, rgba(9, 39, 129, 1) 0%, rgba(9, 39, 129, 1) 35%, rgba(77, 144, 205, 1) 35%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#092781', endColorstr='#4d90cd', GradientType=1); /* ie6-9 */
    width: 100%;
    height: 2px;
    content: '';
    display: block;
}

h3 {
    font-size: 25px;
}

h4 {
    font-size: 21px;
}

h5 {
    font-size: 38px;
    line-height: 60px;
}

p, li {
    font-size: 21px;
    line-height: 1.42857em;
    margin: 36px 0;
}

@media (max-width: 991px) {
    h1, h2 {
        font-size: 29px;
        line-height: 47px;
    }

    p, li {
        font-size: 18px;
    }
}

a {
    cursor: pointer;
    color: #4d90cd;
    text-decoration: none;
    text-transform: inherit;
    transition: 0.3s all;
    display: inline-block;
}

a:focus, a:hover {
    color: #092781;
    transition: 0.3s all;
}

a:active {
    outline: 0;
}

a img {
    transition: 0.3s all;
    border: none;
}

a:focus img, a:hover img {
    transition: 0.3s all;
    transform: scale(1.025);
}

/* Styles for common usage */
.bg-white {
    background-color: #fff;
}

/* Generic navigation styles */
#content-top {
    height: 0;
    display: inline;
}

#page-home.post-content .container:after {
    content: '';
    background: transparent;
}

nav a {
    display: inline-block;
    text-decoration: none;
    border-bottom: none !important;
}

nav > ul > li {
    float: left;
}

nav ul li {
    position: relative;
    margin: 0px;
}

nav ul li:hover a {
    color: #4d90cd;
}

nav ul li:hover > ul {
    display: block;
}

nav > ul > li a {
    width: 100%;
    outline: 0;
    text-transform: uppercase;
    font-size: 17px;
    font-weight: 400;
    vertical-align: middle;
    position: relative;
}

.menu li ul li {
    padding: 0 15px;
}

.menu .sub-menu li .sub-menu {
    left: 85px;
    top: 10px;
}


/* Search form styling */
.btn-transparent { /* TODO: eliminate class */
    background: transparent;
    width: 30px;
    border: none;
    padding: 0;
    cursor: pointer;
}

.search-form .btn-transparent i {
    font-size: 18px;
    color: #092781;
}

.search-form {
    position: relative;
}

.search-form input {
    width: 110px;
    padding: 3px 28px 3px 4px;
    outline: none;
    font-weight: 300;
    height: 31px;
    border: 1px solid #ccc;
    font-size: 15px;
}

@media (min-width: 1200px) {
    .search-form input {
        width: 140px;
    }
}

.search-form input:active,
.search-form input:focus {
    border: 1px solid #092781;
}

.mm-search:before {
    position: absolute;
    content: '\e800';
    font-family: "carolinum";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: .2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-left: .2em;
    color: #092781;
    font-size: 15px;
    top: 12px;
    right: 13px;
}

.mm-menu .mm-search input {
    border-radius: 0;
    border: 1px solid #ccc !important;
    background: #fff;
}

.mm-menu .mm-search input:active,
.mm-menu .mm-search input:focus {
    border: 1px solid #092781 !important;
}

.search-form button {
    position: absolute;
    right: 0;
    top: 4px;
}

/* TODO: what they used for? */
[type="checkbox"], label {
    display: none;
}

/* Blockquote styles */
blockquote {
    quotes: "\201C" "\201D" "\2018" "\2019";
    position: relative;
    margin: 0;
}

blockquote:before {
    color: #fff;
    content: '\201C';
    font-size: 3.2em;
    line-height: 0.1em;
    font-family: serif;
    position: absolute;
    left: 0;
    top: 40px;
}

.quote-block {
    background: url('img/bg-blockquote.jpg') no-repeat center center;
    background-size: cover;
    text-align: center;
    color: #fff;
    padding: 30px 0 15px;
}

.quote-block blockquote {
    margin: 0 auto;
}

.quote {
    max-width: 56%;
    max-width: 720px;
    padding: 26px 55px;
    color: #fff;
    text-align: center;
    font-style: italic;
    font-size: 24px;
    line-height: 36px;
}

@media screen and (max-width: 991px) {
    .quote {
        max-width: 100%;
        margin-right: 15px;
    }
}

.quote::first-letter {
    font-size: 140%;
}

.quote span {
    display: block;
    border-top: 2px solid #4d90cd;
    margin-top: 15px;
    font-size: 18px;
}

.home .quote {
    max-width: 56%;
    position: absolute;
    left: 15px;
    bottom: 50px;
    border-left: 15px solid #092781;
    background: rgba(0, 0, 0, 0.45);
    font-size: 28px;
    line-height: 40px;
}

.main-content blockquote {
    padding: 1px 24px;
    margin: 36px 15px 36px -10px;
    border-left: 10px solid #092781;
    color: #092781;
    background: #f2f2f2;
    font-style: italic;
}

.main-content blockquote p::first-letter {
    font-size: 150%;
}

.main-content blockquote em {
    display: block;
    padding-top: 8px;
    color: #777;
    font-size: 84%;
    text-align: right;
}

.main-content h2.zwischen-ueberschrift-1,
.main-content h3.zwischen-ueberschrift-2,
.main-content h4.untertitel {
    line-height: 1.6;
}

@media (max-width: 479px) {
    .home .quote {
        bottom: 40px;
        font-size: 16px;
        line-height: 25px;
        padding: 15px 28px;
    }

    .home .quote span {
        font-size: 15px;
    }

    blockquote:before {
        top: 29px;
    }
}

.home-alert {
    display: block;
    text-align: center;
    background: rgba(245, 0, 0, 0.5);
    font-size: 2.8rem;
    color: white;
    font-weight: 500;
    padding: 32px;
    bottom: 50px;
    position: absolute;
    width: 56%;
    line-height: 1.2;
}

.more-event {
    margin-top: 55px;
    text-align: center;
    display: block !important;
}

@media (max-width: 768px) {
    .home-alert {
        width: auto;
        font-size: 2.1rem;
        right: 15px;
        left: 15px;
    }
}

/** Alignment Styles **/
.alignleft {
    display: inline;
    float: left;
}

.alignright {
    display: inline;
    float: right;
}

.aligncenter {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

blockquote.alignleft,
.wp-caption.alignleft,
img.alignleft {
    margin: 0.2em 1.6em 0.6em 0;
}

blockquote.alignright,
.wp-caption.alignright,
img.alignright {
    margin: 0.2em 0 0.6em 0.6em;
}

blockquote.aligncenter,
.wp-caption.aligncenter,
img.aligncenter {
    clear: both;
    margin-top: 0.6em;
    margin-bottom: 0.6em;
}

.wp-caption.alignleft,
.wp-caption.alignright,
.wp-caption.aligncenter {
    margin-bottom: 1.2em;
}

.vertretung-table-container {
    overflow-y: auto;
}

.vertretung-table-container table thead th:first-child {
    min-width: 45px;
}

.vertretung-table-container table thead th:nth-child(3) {
    min-width: 115px;
}

.vertretung-table-container table thead th:nth-child(5) {
    min-width: 82px;
}

.vertretung-table-container table thead th:nth-child(6) {
    min-width: 120px;
}

.vertretung-table-container table thead th:nth-child(8) {
    min-width: 125px;
}

/** Post schooldaily and project small screen image **/
@media (max-width: 991px) {
    .single-post_schooldaily .post-thumbnail,
    .single-post_projects .post-thumbnail {
        margin: 0 !important;
    }

    .single-post_schooldaily .side-content-information,
    .single-post_projects .side-content-information {
        padding: 0 8.333333%;
    }
}


@media (max-width: 576px) {
    .quicklinks-container .text-quicklinks {
        display: none;
    }

    .homepage-krankmeldung-plan-large {
        display: none;
    }

    .homepage-krankmeldung-plan-small {
        display: block;
    }
}

@media (min-width: 576px) {
    .homepage-krankmeldung-plan-large {
        display: block;
    }

    .homepage-krankmeldung-plan-small {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .quicklinks-container {
        width: 100%;
    }

    .quicklinks-container .icon-quicklinks:before {
        width: 51px;
    }
}

@media (max-width: 768px ) and (min-width: 576px) {
    .quicklinks-container .text-quicklinks {
        min-width: 125px;
    }
}

#calendar-quicklinks {
    background: #e3e3e3;
    text-align: center;
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 25px;
    text-transform: uppercase;
    line-height: 2.3;
}

#calendar-quicklinks [class^="icon-"]:before {
    font-size: 34px;
    margin-right: 10px;
    vertical-align: baseline;
}

#calendar-quicklinks [class="icon-calendar"]:before {
    font-size: 30px;
}

#calendar-quicklinks a {
    color: #092781;
}

#calendar-quicklinks a:hover, #calendar-quicklinks a span:before {
    transition: 0.3s all;
    color: #4d90cd;
}

#calendar-quicklinks a:hover span:before {
    transition: 0.3s all;
    transform: scale(1.3);
}


.texture {
    background: #fff;
}


.text-center {
    text-align: center;
}

.date {
    font-size: 18px;
    color: #9c9d9d;
    padding-bottom: 10px;
}

.slide, .owl-carousel {
    padding-top: 50px;
    position: relative;
}

.swiper-button-prev.btn-nav {
    position: absolute;
    right: 58px;
    top: 43px;
    left: auto;
}

.swiper-button-prev.btn-nav i, .swiper-button-next.btn-nav i {
    font-size: 28px;
    color: #fff;
}

.swiper-button-next.btn-nav {
    position: absolute;
    right: 2px;
    top: 43px;
    left: auto;
}

.box ul {
    padding-left: 0;
    list-style: none;
    margin-top: -30px;
}

.box {
    border: 2px solid #092781;
    padding: 0px 25px 35px 25px;
    margin-top: 36px;
}

.box ul li:nth-child(2n+1) {
    color: #092781;
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    padding-top: 20px;
}

.data-box {
    text-align: center;
    text-transform: uppercase;
    width: 83px;
    border: 1px solid #092781;
    margin: 5px 20px;
    position: relative;
    -webkit-box-shadow: 0 -2px 0 30px rgba(255, 255, 255, 1);
    -moz-box-shadow: 0 -2px 0 30px rgba(255, 255, 255, 1);
    box-shadow: 0 -2px 0 30px rgba(255, 255, 255, 1);
    top: -43px;
    left: 50%;
    margin-left: -44px;
    color: #092781;
}

/** Mobile plan styles **/
#mobile-plan {
    text-align: center;
    color: #fff;
}

#mobile-plan span {
    font-size: 73px;
    color: #4d90cd;
}

#mobile-plan .container {
    padding-top: 42px;
    padding-bottom: 42px;
}

#mobile-plan h3 {
    color: #fff;
    margin: 20px 0 36px 0;
}

/* Sick list / Krankmeldung */
.ginput_container_date input {
    max-width: 223px;
}

.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label {
    display: none !important;
}

.gform_confirmation_wrapper p {
    color: #4d90cd !important;
}

.ginput_container input, .datepicker {
    margin-bottom: 15px !important;
}

#gform_wrapper_1 .gform_footer,
#gform_wrapper_2 .gform_footer {
    text-align: center;
}

body .gform_wrapper ul li.gfield {
    display: inline-block;
    margin-bottom: 0px;
}

#field_1_7 {
    margin-bottom: 15px;
}

.gform_wrapper textarea.small {
    margin-bottom: 0 !important;
}

.gform_wrapper form {
    padding: 15px 30px;
}

.gform_button {
    display: inline-block;
    padding: 6px;
    text-align: center;
    font-size: 18px;
    line-height: 1.65;
    font-weight: 400;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 0;
    border: none;
    background: rgba(77, 144, 205, 0.85);
    color: #fff;
    transition: 0.4s;
    cursor: pointer;
    min-width: 41px;
    max-width: 200px;
    padding: 5px 15px;
}

.gform_button:hover {
    color: #fff;
    border: none;
    background: rgba(77, 144, 205, 1);
    transform: scale(1.05);
    transition: 0.4s;
}

.gform_wrapper label.gfield_label {
    font-size: 18px !important;
}

#sick-list-form .contact {
    padding: 90px 0;
}

.gform_wrapper ul li.gfield {
    margin-top: 10px !important;
}

.gform_wrapper ul li label {
    display: none !important;
}

.gform_wrapper form {
    padding-top: 25px !important;
}

.gform_wrapper #field_2_11,
.gform_wrapper #field_1_11 {
    width: 100%;
}

.gform_wrapper #field_1_11 .ginput_container_email {
    width: 100%;
}

.gform_wrapper .ginput_container_email input {
    width: 100%;
}

.gform_body #field_2_6 label:first-child,
.gform_body #field_2_2 label:first-child,
.gform_body #field_1_13 label:first-child,
.gform_body #field_1_14 label:first-child {
    display: block !important;
    color: #757575;
    font-weight: 400;
}

.gform_body #field_2_6 input:first-child,
.gform_body #field_2_2 input:first-child,
.gform_body #field_1_13 input:first-child,
.gform_body #field_1_14 input:first-child {
    padding-left: 10px !important;
    padding-right: 5px !important;
}

ul.gform_fields li.gfield {
    padding-right: 23px !important;
}

.gform_wrapper #field_2_7,
.gform_wrapper #field_1_7 {
    width: 100%;
}


/** School counters **/
#school-info-counter {
    padding: 20px 0 35px 0;
    background: url('img/Sektion-Zaehlwerk.jpg') no-repeat center center;
    background-size: cover;
}

.counters {
    color: #ffffff;
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;;
    font-size: 24px;
    font-weight: 500;
    line-height: 40px;
    text-transform: uppercase;
    text-align: center;
}

.counters span {
    color: #4d90cd;
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;;
    font-size: 76px;
    font-weight: 500;
    line-height: 124px;
    text-transform: uppercase;
    display: block;
}

.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled {
    display: block;
}

.data-box div {
    padding: 5px 0;
    line-height: 22px;
}

.data-box div:first-child {
    background: #092781;
    color: #fff;
}

.slider .link {
    float: right;
    margin-right: 130px;
    margin-top: 22px;
}

.swiper-container {
    margin-top: 20px;
}

.partner img {
    height: auto;
    width: inherit;
}

/*
  Styles for slideshow slider
 */
#slideshow {
    background: #f7f8f8;
}

/** Partner logos */
#partner-logo {
    background-color: #fff;
    padding: 50px 0 50px 0;
}

@media (max-width: 991px) {
    #partner-logo {
        display: none;
    }
}

#partner-logo ul {
    list-style: none;
    display: table;
    border-collapse: collapse;
    width: 100%;
}

#partner-logo li {
    display: table-cell;
    vertical-align: middle;
}

#partner-logo img {
    display: block;
}

#partner-logo li:nth-child(6) img {
    width: 150px !important;
    height: 175px !important;
}

/** Slider Styles **/
.slider-slideshow h2, .slider h1, #partner-logo h2 {
    display: inline-block;
    position: relative;
    line-height: 60px;
    margin-top: 0;
    margin-bottom: 24px;
    min-height: 30px;
}

.slider .btn-link {
    position: absolute;
    top: 21px;
    right: 130px;
}

.slider {
    padding: 30px 0 40px 0;
    position: relative;
}

.images-slideshow .swiper-slide {
    width: 260px;
    height: 260px;
    padding: 0 15px;
}

.partner-slideshow .swiper-slide {
    width: auto;
    padding: 0 15px;
    margin-bottom: 15px;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    max-width: 30%;
}

@media (max-width: 767px) {
    .partner-slideshow .swiper-slide a {
        font-size: 12px;
        line-height: 20px;
    }
}

.partner-slideshow .swiper-slide span {
    margin-bottom: 30px;
}

.partner-slideshow .swiper-slide a {
    color: #3b3b3b;
}

.partner-slideshow .swiper-slide a:focus,
.partner-slideshow .swiper-slide a:hover {
    color: #4d90cd;
}

.slider .post img {
    max-width: 100%;
    height: 260px;;
    object-fit: cover;
    object-position: center;
}

.slider p {
    margin-top: 0;
}

#slider-schooldaily,
.slider-inBorderBox {
    padding-top: 40px;
    padding-bottom: 50px;
}

#slider-termine .slider-inBorderBox,
.images-slideshow,
.partner-slideshow .slider-inBorderBox {
    background-color: #fff;
}

#images-home-slideshow {
    background-color: transparent;
}

#images-home-slideshow .swiper-slide {
    width: 350px;
    height: 350px;
}

.image-featured-slider {
    max-width: 100%;
    height: auto;
}

/* Termine Slider */
#slider-termine .swiper-slide {
    width: 31.2%;
    margin-right: 30px;
    margin-bottom: 27px;
    height: initial;
}

#slider-termine .swiper-slide:last-child {
    margin-right: 0;
}

#slider-termine .box ul {
    margin: 0;
}

#slider-termine .box ul li:nth-child(2n+1) {
    margin: 0;
    padding: 0;
}

#slider-termine .box .tribe-event-title a {
    padding: 0;
}

#slider-termine .box .tribe-event-categories a {
    padding: 0;
    margin: 0;
    font-weight: 300;
    font-size: 21px;
    line-height: 1;
    color: #3b3b3a;
}

#slider-termine p, #slider-termine li {
    margin: 0px;
}

#slider-termine br {
    display: none;
}

#slider-termine .box .tribe-event-title {
    margin-bottom: 4px;
}

#slider-termine .tribe-list-widget {
    margin-bottom: 0;
    min-height: 67%;
}

@media all and (max-width: 992px) {
    #slider-termine .swiper-slide {
        width: 42%;
    }
}

@media all and (max-width: 767px) {
    #slider-termine .swiper-slide {
        width: 63%;
    }
}

@media all and (max-width: 575px) {
    #slider-termine .swiper-slide {
        width: 78%;
    }
}


ul.contact-page-content li {
    margin-bottom: 20px;
    float: none;
}

ul.contact-page-content {
    list-style: none;
}

.cont ul li img {
    max-width: 22px;
}

.navbar-toggler-left {
    left: 14rem;
    margin-top: 25px;
}

.navbar-toggler-icon {
    background: url(./img/icom.png) no-repeat center center;
}

.mobile-form {
    display: none;
    float: right;
    padding-top: 5px;
    position: relative;
}

.mobile-form a i {
    font-size: 36px;
    position: absolute;
    left: -55px;
    top: -1px;
    color: #092781;;
}

.mobile-form .search-form {
    display: inline-block;
    position: relative;
}

.mobile-form .search-form input {
    max-width: 100%;
    width: 240px;
    padding: 0 10px;
}

.mobile-form .search-form button {
    position: absolute;
    top: 7px;
    right: 0;
}

.mobile-form a img {
    display: inline-block;
    vertical-align: middle;
    margin-right: 50px;
    max-width: 23px;
}

.menu-item a img {
    margin-bottom: 5px;
}

#cff .cff-item:first-child {
    border-bottom: 1px solid #c7c7c7 !important;
}

#cff .cff-item {
    padding-top: 5px;
}

.description {
    max-width: 610px;
    margin: 30px 0;
    display: inline-block;
}

.description span {
    font-style: italic;
    font-size: 16px;
    margin-top: 20px;
    display: block;
}

.lunches #tribe-events-bar {
    display: none;
}

.tribe-events-loop .tribe-events-content {
    float: none !important;
}

.price {
    background-color: #092781;
    color: #fff;
    padding: 12px;
}

.dine-category {
    background-color: #f9f9f9;
    z-index: 99999;
    position: relative;
}

.dine-category:before {
    content: '';
    position: absolute;
    height: 100%;
    right: 0px;
    top: 0px;
    left: inherit;
    width: 1600px;
    background-color: #f9f9f9;
}

.dine-category .btn-cat {
    margin-right: 20px;
    max-width: 160px;
}

.content {
    background-color: #fff;
    z-index: 99999;
    position: relative;
}

.content:before {
    content: '';
    position: absolute;
    height: 100%;
    right: 0px;
    top: 0px;
    left: inherit;
    width: 1600px;
    background-color: #fff;
}


#profile-additional-info {
    background: #fff;
    padding-top: 30px;
}

#profile-content {
    background: #f7f8f8;
}

#club-content {
    background: #f7f8f8;
}

#about-content {
    background: #f7f8f8;
    padding-bottom: 65px;
}

#about-additional-info {
    background: #fff;
    padding-top: 30px;
}

#cff.cff-default-styles .cff-post-links a {
    font-size: 14px;
    color: #4d90cd;
}

.download {
    border: 1px solid #092781;
    text-transform: uppercase;
    color: #092781;
    font-weight: 400;
    font-size: 18px;
    text-decoration: none;
    display: inline-block;
    height: 41px;
    margin-top: 20px;
}

.download i {
    background: #092781;
    padding: 5px;
    float: left;
    color: #fff;
    font-size: 25px;
}

.download span {
    padding: 8px;
    display: inline-block;
}

.events .download {
    position: absolute;
    border: none;
    left: -48px;
    background: #092781;
    color: #fff;
    font-size: 45px;
    height: 63px;
    top: 50%;
    margin-top: -30px;
}

.events .download:before {
    vertical-align: middle;
}

.schools a { /* TODO: all schools styles no longer needed? */
    text-decoration: none;
}

.schools a p {
    text-decoration: none;
    text-transform: uppercase;
    position: relative;
    transition: 600ms;
    font-size: 16px;
    font-weight: 400;
    max-width: 244px;
    margin: 5px auto;
}

.logo-partner {
    max-height: 85px;
    height: 85px;
    display: block;
}

.logo-partner img {
    vertical-align: middle;
    width: auto;
    max-height: 85px;
    max-width: 100%;
    height: auto;
}

.mobile-text {
    margin-top: 0;
    visibility: hidden;
    height: 0;
}

.visible-xs { /* TODO: */
    display: none;
}

.tribe-events-calendar thead th {
    background-color: #092781 !important;
    border-left: 1px solid #fff !important;
    border-right: 1px solid #fff !important;
}

#tribe-bar-form {
    background: #fff !important;
}

.mainImg {
    position: relative;
    height: 279px;
}

.mainImg img {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 1100px;
    height: 279px;
    object-fit: cover;
    object-position: center;
}

#tribe-events-content {
    margin-bottom: 0 !important;
}

#tribe-bar-form label {
    font-size: 16px !important;
    font-weight: 400 !important;
}

#tribe-bar-form input[type=text] {
    font-size: 16px !important;
    font-weight: 300 !important;
}

.btn-cat {
    margin: 25px 0;
    z-index: 99999;
    position: relative;
}

#tribe-events-content a {
    color: #4d90cd !important;
}

#tribe-events-content a.btn {
    color: #fff !important;
}

.tribe-events-thismonth div[id*=tribe-events-daynum-] a,
.tribe-events-othermonth div[id*=tribe-events-daynum-] a {
    height: 26px;
    display: block;
}

#page-termine #tribe-events-content .tribe-events-calendar .tribe-events-othermonth.tribe-events-past div[id*=tribe-events-daynum-] {
    background-color: rgb(240, 240, 240) !important;
}

#page-termine #tribe-events-content .tribe-events-calendar .tribe-events-othermonth.tribe-events-past div[id*=tribe-events-daynum-] a {
    background-color: rgb(240, 240, 240) !important;
}

#page-termine #tribe-events-content .tribe-events-calendar .tribe-events-othermonth.tribe-events-future div[id*=tribe-events-daynum-] {
    background-color: rgb(170, 208, 242) !important;
}

#page-termine #tribe-events-content .tribe-events-calendar .tribe-events-othermonth.tribe-events-future div[id*=tribe-events-daynum-] a {
    background-color: rgb(170, 208, 242) !important;
}


.tribe-events-othermonth .tribe-events-month-event-title,
.tribe-events-othermonth div[id*=tribe-events-daynum-] {
    opacity: 1 !important;
}

.tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-] {
    background-color: #e0e0e0 !important;
}

.tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-] > a {
    background-color: transparent !important;
}

.tribe-list-widget {
    position: relative;
    padding: 38px 24px 26px;
}

.tribe-list-widget .data-box {
    box-shadow: none;
    position: absolute;
    top: -38px;
}

.box .tribe-event-title a {
    color: #092781;
    font-size: 21px;
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    padding-top: 20px;
    text-decoration: none;
    font-weight: normal;
}

.box .tribe-event-duration ~ div {
    display: none;
}

.box .tribe-event-categories li a {
    text-decoration: none;
    font-weight: 300;
}

.box .tribe-event-categories li {
    padding-top: 5px;
}

.box .tribe-event-title {
    margin-top: 24px;
}

.password h2 {
    margin-top: 42px;
    margin-bottom: 58px;
}

.password .form {
    top: -32px;
}

.essenplan .tribe-event-title {
    display: none;
}

.essenplan .tribe-event-categories {
    display: none;
}

.essenplan .price {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: -1px
}

.essenplan .box {
    padding: 60px 33px 70px 33px;
    line-height: 32px;
}

.essenplan strong {
    display: block;
    color: #092781;
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: normal;
    margin-top: 10px;
}

.lunches .tribe-events-shortcode {
    padding: 0;
}

.lunches .price {
    margin-top: 30px;
}

.lunches strong {
    color: #092781;
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 500;
    margin-top: 10px;
}

.lunches {
    font-size: 21px;
}

.lunches .tribe-events-list .type-tribe_events:first-of-type {
    margin-top: 0;
}

div#tribe-events-header, div#tribe-events-footer, .tribe-events-ical {
    display: none !important;
}

.member {
    padding: 35px 0 45px 0;
}

.post p {
    height: 88px;
}

.min-text {
    height: auto;
}

.fee ul li p {
    margin: 0;
    padding: 0;
    display: inline-block;
}

.fee ul li {
    font-weight: 300 !important;
    font-style: italic;
}

.fee ul {
    margin: 0;
}

.fee .title {
    font-weight: 400;
    padding: 20px 0 0 0;
}

.fee ul li:nth-child(2n) {
    margin-bottom: 0;
}

.fee {
    bottom: 50px;
}

.fee a {
    text-transform: uppercase;
    color: #4d90cd;
    font-size: 18px;
}

.link-4eck { /* TODO: why special link definition? */
    color: #4d90cd;
    text-decoration: none;
    padding: 20px 0;
}


.list-category {
    padding-left: 0;
    list-style: none;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    z-index: 9999;
    margin-top: 0;
    overflow: auto;
}

.list-category li {
    margin: 15px 20px 30px 0;
    float: left;
}

@media (max-width: 1199px) {
    nav > ul > li > a {
        font-size: 16px;
    }

    .list-category {
        justify-content: flex-start;
    }

    .list-category li {
        margin-right: 15px;
    }

    .mobile-col {
        flex-basis: inherit;
    }

    .mobile-btn {
        text-align: center;
    }

    .slider .post img {
        height: 210px;
    }

    .events .download img {
        width: 45px;
        height: 45px;
    }

    .events .download {
        top: 18px;
    }

    .date {
        padding: 10px 0;
    }

    #sick-list-form .form {
        max-width: 575px;
        margin: 0 auto;
    }

    .ginput_container_date input {
        max-width: 100%;
    }

    #sick-list-form .contact {
        padding: 50px 0;
    }

    .home .quote {
        max-width: 60%;
        font-size: 22px;
        padding: 20px 45px;
    }

    .home .quote span {
        font-size: 14px;
    }
}


@media (max-width: 767px) {
    .mobile-form .search-form input {
        width: 200px;
    }

    .mobile-form a img {
        margin-right: 20px;
    }

    [type="checkbox"]:checked ~ ul {
        right: 0px;
        left: 0px;
    }

    .dine-category:before, .content:before {
        left: -300px;
    }

    .main-content-block .download { /* TODO: .post-content */
        text-align: center;
        width: 100%;
    }

    .mobile-text, .mobile-text p {
        visibility: visible;
        height: auto;
        font-size: 16px;
    }

    .search-item #searchform {
        display: none;
    }

    .home .quote {
        max-width: inherit;
        left: 15px;
        right: 15px;
        margin: auto;
    }
}

@media (max-width: 479px) {
    .btn-link {
        max-width: 125px;
        font-size: 16px;
    }

}


/** Buttons **/
.btn {
    display: inline-block;
    padding: 6px;
    text-align: center;
    font-size: 18px;
    line-height: 1.65;
    font-weight: 400;
    text-decoration: none;
    text-transform: uppercase;
    border-radius: 0;
    border: none;
    background: rgba(77, 144, 205, 0.85);
    color: #fff;
    transition: 0.4s;
    cursor: pointer;
    min-width: 41px;
    z-index: 9998;
    position: relative;
}

.btn:focus, .btn:active {
    color: #fff;
}

.form-control {
    z-index: 9998;
    position: relative;
}

.btn-link {
    max-width: 200px;
    width: 100%;
}

.btn-button {
    display: block;
    max-width: 200px;
    width: 100%;
}

.text-center > .btn-button {
    margin: 0px auto;
}

.btn-more {
    max-width: 200px;
    width: 160px;
}

@media (max-width: 575px) {
    .btn-more-mobile {
        width: auto;
        padding: 6px 36px;
    }
}

.btn-nav {
    width: 41px;
    margin-right: 14px;
    font-size: 32px;
    line-height: 1;
    padding: 4px;
    height: 41px;
}

/* fixing icon positioning issues */
.btn-nav [class^="icon-"]:before, .btn-nav[class*=" icon-"]:before {
    margin-left: 0;
    margin-right: 0;
}

.btn-disabled {
    background: darkgrey;
    transform: none;
    cursor: not-allowed;
    pointer-events: none;
}

.btn:hover {
    color: #fff;
    border: none;
    background: rgba(77, 144, 205, 1);
    box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.15);
    transform: scale(1.05);
    transition: 0.4s;
    z-index: 15000;
}


/** Footer styles **/

#footer {
    background: url('./img/Textur_weiss.png') repeat;
    padding: 30px 0;
    font-size: 18px;
}

#footer h6 {
    color: #092781;
    font-size: 24px;
    margin: 10px 0 20px 0;
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    font-weight: 300;
}

#footer ul {
    padding-left: 0;
    list-style: none;
    margin: 0;
}

.location, .email, .phone {
    float: left;
    background: no-repeat left 6px !important;
    padding-left: 34px !important;
}

.location {
    background-image: url('img/location.svg') !important;
}

.email {
    background-image: url('img/email.svg') !important;
}

.phone {
    background-image: url('img/phone.svg') !important;
}

footer .footer-login-part {
    text-align: center;
    margin-top: 20px;
}

footer .footer-login-part a {
    color: #2C3E50;
}

footer .footer-login-part a:hover {
    color: #4d90cd;
}

footer .footer-login-part {
    text-align: center;
    margin-top: 20px;
}


@media screen and (min-width: 768px) and (max-width: 991px) {
    /* TODO: check */
    #footer {
        font-size: 14px;
    }

    #footer h6 { /* TODO */
        font-size: 21px;
    }
}

#footer ul li {
    font-size: 18px;
    line-height: 30px;
}

ul#menu-footer-menu li {
    width: 33%;
    float: left;
}

/** Header & Main navigation styles **/
.site-header-main, .mm-menu {
    border-top: 5px solid #092781;
    border-bottom: 3px solid #c6c7c7;
    background: #fff no-repeat center center;
    background-size: cover;
}

.site-header-main {
    position: relative;
    z-index: 9999;
}

.mm-listview > li:not(.mm-divider):after {
    border: none !important;
}

.home .site-header-main {
    background-color: transparent;
    border-bottom: none;
    height: 91%;
    min-height: 490px;
    max-height: 880px;
}

.home .site-header-main::after {
    opacity: 0;
    background-color: #fff;
    background-size: cover;
    background-position: center center;
    animation: fadein 3s ease 1s, stay_visible 10000s 3.9s;
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    position: absolute;
    z-index: -1;
}

.home .site-header-main .container {
    height: 100%;
}

@keyframes fadein {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes stay_visible {
    from {
        opacity: 1;
    }
    to {
        opacity: 1;
    }
}

.site-header-menu {
    padding: 0;
}

.home .site-header-menu {
    background: #fff;
    border-bottom: 3px solid #c6c7c7;
    padding: 0 63px;
}

@media (min-width: 1200px) {
    .home .site-header-menu {
        padding: 14px 63px;
    }
}

@media (min-width: 992px) {
    .home .site-header-menu {
        padding: 14px 50px;
    }

    .site-header-menu {
        padding: 14px 0;
    }
}

.mm-tabstart {
    display: none;
}

.wpmm-header-image {
    top: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    left: 10px !important;
    height: 70px;
}

.mm-hasnavbar-top-1 .mm-panels, .mm-navbar-top-2 {
    top: 88px;
}

.mm-hasnavbar-top-2 .mm-panels, .mm-navbar-top-3 {
    top: 124px;
}

.mm-hasnavbar-top-3 .mm-panels, .mm-navbar-top-4 {
    bottom: 40px;
    top: auto;
}

.mm-hasnavbar-top-4 .mm-panels {
    border-top: 2px solid #092781;
    top: 164px;
}

.mm-navbar-top-3 .mm-title {
    color: #444 !important;
}

.mm-hasnavbar-bottom-1 .mm-panels, .mm-navbar-bottom-2 {
    bottom: 80px;
}

.dashicons-admin-users:before {
    font-family: "carolinum" !important;
    content: "\e817" !important;
}

.dashicons-admin-site:before {
    font-family: "carolinum" !important;
    content: "\e805" !important;
}

#button-menu {
    display: none;
    width: 28px;
    height: 30px;
    margin: 30px auto 10px;
}

#button-menu span:after,
#button-menu span:before {
    content: "";
    position: absolute;
    left: 0;
    top: -9px;
}

#button-menu span:after {
    top: 9px;
}

#button-menu span {
    position: relative;
    display: block;
}

#button-menu span,
#button-menu span:after,
#button-menu span:before {
    width: 100%;
    height: 4px;
    background-color: #092781;
    transition: all 0.3s;
    backface-visibility: hidden;
    border-radius: 2px;
}

.site-logo img {
    width: 130px;
    height: 66px;
}

.site-logo:hover {
    transform: scale(1.1);
}

ul#menu-main-menu {
    float: right;
}

ul#menu-main-menu > li {
    line-height: 1.5;
    margin: 0 0 0 30px;
}

.menu-item.menu-login {
    margin-left: 15px !important;
}

.menu-image-title { /* effect only */
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    width: 100%;
    padding: 1px;
    position: relative;
    z-index: 2;
    color: #2C3E50;
    transition: all 1s ease;
    box-sizing: border-box;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}

.menu-image-title:after { /* effect only */
    content: '';
    height: 3px;
    left: 0;
    bottom: -3px;
    width: 1px;
    position: absolute;
    transition: all 1s ease;
    right: 0;
    margin: 0 auto;
}

.menu li {
    float: left;
    transform-style: preserve-3d;
    perspective: 80px;
}

.menu ul li {
    float: none;
    position: relative;
    border: none;
    margin: 20px 0;
}

li.phone > a:hover .menu-image-title,
li.phone:hover > a .menu-image-title,
.menu li > a:hover .menu-image-title,
.menu li:hover > a .menu-image-title { /* effect only */
    color: #4d90cd;
    transition: all 1s ease;
    cursor: pointer;
}

.menu li > a:hover .menu-image-title:after,
.menu li:hover > a .menu-image-title:after,
.menu li > a:focus .menu-image-title:after { /* effect only */
    width: 100%;
    background-color: #4d90cd;
}

.menu li ul {
    opacity: 0;
    text-align: left;
    background: #fff;
    min-width: 160px;
    z-index: 99999999;
    position: absolute;
    transition: all 360ms ease-in-out 120ms;
    transform: rotateX(-90deg);
    transform-origin: 0% 0%;
    backface-visibility: hidden;
    box-shadow: 0 -75px 200px rgba(0, 0, 0, 0);
    top: 100%;
    padding: 0;
}

.menu li:hover > ul {
    opacity: 1;
    top: 31px;
    width: 100%;
    padding: 0;
    transition: all 350ms ease-in-out 0ms;
    transform: rotateX(0deg);
    box-shadow: 0 0 12px -2px rgba(0, 0, 0, 0.15);
}

.icon-webmail-menu a {
    color: #2C3E50;
}

#menu-footer-menu .icon-webmail-menu,
.mm-listview .icon-webmail-1 {
    display: none;
}

.mm-navbar-bottom {
    border: none;
}

.mm-navbar-bottom a {
    font-size: 16px;
    color: #777 !important;
}

@media (max-width: 991px) {
    #menu-item-447, #menu-item-2016 {
        display: none;
    }

    /*    .mm-listview li:nth-child(6),
        .mm-listview li:nth-child(7) {
            display: none;
        }
        */
}

/** Main Content Styles **/
.post-content, .posts-archive {
    margin: 47px 0;
    position: relative;
    overflow: hidden;
    z-index: 800;
}

.main-content {
    border-top: 2px solid transparent;
    margin-top: -2px;
}

.col-12 > .main-content {
    padding-left: 5.481%;
    padding-right: 5.481%;
}

.col-lg-8 > .main-content {
    padding-left: 8.333333333%;
}

@media (max-width: 991px) {
    .col-lg-8 > .main-content {
        padding-right: 8.333333333%;
    }
}

.post-content article:before, .posts-archive main:before { /* design only */
    content: '';
    background: #092781;
    position: absolute;
    z-index: 1000;
    width: 2px;
    height: 100%;
    top: 47px;
    left: 15px;
}

.post-content article.long-header:before { /* design only */
    top: 95px;
}

.post-content article:after, .posts-archive main:after { /* design only */
    content: '';
    background: #092781;
    position: absolute;
    z-index: 1000;
    width: 2px;
    height: 100%;
    top: 47px;
    right: 15px;
}

.post-content article.long-header:after { /* design only */
    top: 94px;
}

.post-content + .post-content {
    margin-top: 60px;
}

.main-content ul li {
    display: list-item;
    margin: 0 0 16px 1em;
    background: url(./img/bullet.png) no-repeat 7px 12px transparent;
    list-style-type: none;
    padding: 0 0 0 20px;
    vertical-align: middle;
}

.main-content:before { /* design only */
    content: '';
    background: #092781;
    position: absolute;
    height: 2px;
    width: 200%;
    margin-top: -2px;
    left: 15px;
}

.post-content .container:after,
.posts-archive .container:after { /* design only */
    content: '';
    background: #092781;
    position: absolute;
    height: 2px;
    width: 100%;
    margin-top: -2px;
    left: 15px;
}

@media (max-width: 767px) {
    .main-content:before,
    .post-content .container:after,
    .posts-archive .container:after { /* design only */
        width: auto;
        right: 15px;
    }

}

@media (min-width: 768px) {
    .main-content:before,
    .post-content .container:after,
    .posts-archive .container:after { /* design only */
        max-width: 690px;
    }
}

@media (min-width: 992px) {
    .main-content:before,
    .post-content .container:after,
    .posts-archive .container:after { /* design only */
        max-width: 930px;
    }

}

@media (max-width: 991px) {
    .post-content .post-thumbnail {
        overflow: hidden;
        margin: 0 8.33333% 36px 8.33333%;
    }
}

@media (min-width: 1199px) {
    .main-content:before,
    .post-content .container:after,
    .posts-archive .container:after { /* design only */
        max-width: 1110px;
    }
}

article h1, main h1 {
    position: relative;
    z-index: 999;
    display: inline-block;
    box-shadow: -1px -4px 0 12px rgb(247, 248, 248);
    margin: 0;
}

article .col-12 h1, main .col-12 h1 {
    margin-left: 5.481%;
}

article .col-lg-8 h1 {
    margin-left: 8.33333333%;
}

@media (min-width: 768px) {
    article h1, main h1 {
        box-shadow: -1px -4px 0 20px rgb(247, 248, 248);
    }
}

article p, article ul {
    position: relative;
    z-index: 1000;
}

.intrοduction_text {
    color: #092781;
    font-weight: 600;
}

.main-content h2.zwischen-ueberschrift-1 {
    font-size: 21px;
    font-weight: 500;
    color: #092781;
}

.main-content h3.zwischen-ueberschrift-2 {
    font-size: 21px;
    font-weight: 500;
    color: #092781;
    text-transform: none;
}

.main-content h4.untertitel {
    font-size: 21px;
    font-style: italic;
    font-weight: 500;
    color: #3b3b3a;
    margin-bottom: 10px;
    text-transform: none;
}

.main-content h4.emphasis-kein-titel {
    font-size: 21px;
    font-style: normal;
    font-family: 'Fira Sans Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 400;
    color: #3b3b3a;
    margin-bottom: 10px;
    text-transform: none;
}

.main-content h5 {
    font-size: 38px;
    line-height: 60px;
}

.main-content h4 + p {
    margin-top: 10px;
}

/** Archive styles **/
.archive-post {
    margin: 42px 5.481% 42px 5.481%;
}

.archive-post h3 {
    margin-top: 0;
    margin-bottom: 0;
}

.archive-post p {
    margin-top: 10px;
    margin-bottom: 34px;
}

.archive-post p .link-more .btn {
    padding: 8px;
}

.archive-post .post-thumbnail {
    margin-right: 32px;
    margin-bottom: 32px;
}

@media (min-width: 768px) {
    .archive-post .post-thumbnail {
        float: left;
    }
}

.post-date {
    color: #464646;
    font-size: 15px;
    font-weight: 600;
    display: block;
}

.post-date + p {
    margin-top: 0;
}

.post_schooldaily-template-default .post-date {
    margin-bottom: 15px;
}

.posts-pagination {
    display: flex;
    justify-content: center;
    text-align: center;
    width: 100%;
    margin: 42px 0;
}

.page-numbers {
    margin: 0 7px;
}

.img-projects-schooldaily {
    width: 100%;
    height: auto;
}

/** Main Content Styles: Sidebox **/
.side-content {
    position: relative;
}

.side-content-information {
    margin-top: 135px;
    position: relative;
}

.post-thumbnail {
    position: relative;
    z-index: 1001;
}

.post-thumbnail + .side-content-information {
    margin-top: 50px;
}

@media (max-width: 991px) {
    .post-thumbnail + .side-content-information {
        padding: 0 8.333333%;
    }
}

.side-content-information h3 {
    margin: 40px 0 0 0;
}

.side-content-information h3:before {
    display: none;
    content: '';
    background: #092781;
    position: absolute;
    z-index: 999;
    top: -41px;
    right: 0;
    width: 100%;
    height: 2px;
}

.post-thumbnail + .side-content-information h3:before {
    display: none;
}

.side-content-information [class^="icon-"] {
    display: inline-block;
    background: #092781;
    margin-right: 16px;
    padding: 6px 4px 5px 3px;
    font-size: 27px;
    color: #fff;
}

.side-content-information .info-title {
    font-weight: 600;
    display: inline-block;
    padding-right: 20px;
}

.side-content-information .info-description {
    font-style: italic;
    display: inline-block;
    padding-right: 20px;
}


/** Responsive embedded videos **/
.elastic-video {
    height: 0;
    position: relative;
    padding-bottom: 55%;
    padding-top: 0;
    margin-bottom: 0;
    overflow: hidden;
}

.elastic-video iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

/** Accessibility: Text meant only for screen readers. **/

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 600;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000; /* Above WP toolbar. */
}

/* TODO: clearfix is usually part of bootstrap, why is it not there? */
.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/** Forms responsive border design **/

#about-additional-info .with-borders-box, /* TODO: with-borders-box */
#profile-additional-info .with-borders-box { /* TODO: with-borders-box */
    border: 2px solid #092781;
}

.with-borders {
    border-right: 2px solid #fff;
    position: relative;
    border-left: 0;
}

.with-borders:before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    right: -2px;
    border: solid 2px #fff;
    border-bottom: none;
    z-index: 10;
}

.with-borders:after {
    content: '';
    position: absolute;
    left: 0;
    right: -2px;
    border: solid 2px #fff;
    border-top: none;
    z-index: 10;
}

@media (min-width: 1200px) {
    .with-borders:before {
        height: 32px;
        left: 110px;
    }

    .with-borders:after {
        left: 110px;
        height: 40px;
        bottom: 0;
    }
}

@media (max-width: 1199px) {
    .with-borders {
        border: none;
    }

    .with-borders:before {
        top: 76px;
        bottom: 65px;
        height: auto;
    }

    .with-borders:after {
        bottom: 65px;
        top: 77px;
        height: auto;
    }

    .with-borders:before,
    .with-borders:after {
        left: 15px;
        right: 15px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .with-borders:before,
    .with-borders:after {
        left: 90px;
        right: 90px;
    }
}

@media (min-width: 576px)and (max-width: 991px) {
    .with-borders:before {
        height: 57%;
    }
}

@media (max-width: 575px) {
}


/** Full section forms **/
.form-content {
    z-index: 9999;
}

.form-section {
    background: url('./img/bg-blue.png') repeat;
    position: relative;
    padding: 65px 0;
}

.form-section .embedded-form {
    position: relative;
    display: block;
    z-index: 9999;
    overflow: visible;
    background: #fff;
}

.embedded-form #wpmem_login,
.embedded-form .gform_wrapper,
.embedded-form div[role='form'] {
    overflow: visible;
    position: relative;
    background: #fff;
    margin: 0;
}

.embedded-form legend,
.embedded-form label {
    display: none;
}

.form-section h1 {
    position: relative;
    display: inline-block;
    color: #fff;
    line-height: 1.6;
    margin-top: 50px;
    margin-bottom: 10px;
    box-shadow: none;
}

.form-section h1:after {
    background: rgb(77, 144, 205);
    background: linear-gradient(90deg, rgba(255, 255, 255, 255) 0%, rgba(255, 255, 255, 255) 35%, rgba(77, 144, 205, 1) 35%);
}

.form-section p {
    color: #fff;
    margin: 24px 0;
}

.form-section form {
    padding: 55px 30px;
}

.form-section form input[type='text'], .form-section form input[type='email'], .form-section form input[type='password'], .form-section form textarea {
    border-radius: 0;
    border: none;
    background: #eee;
    margin-bottom: 35px;
    font-weight: 300;
    font-size: 18px !important;
    height: 40px;
    padding: 0 15px !important;
    width: 100%;
}

.form-section form textarea {
    height: 100px;
    padding-top: 10px !important;
    resize: none;
}

.form-section .embedded-form p:first-child {
    color: #4d90cd;
    padding: 5px;
}

@media (min-width: 1200px) {
    .form-content {
        margin-bottom: 32px;
    }

    .form-section .embedded-form {
        bottom: -30px;
        min-height: 100%;
    }

    .embedded-form #wpmem_login,
    .embedded-form .gform_wrapper,
    .embedded-form div[role='form'] {
        top: -60px;
    }

    .form-section h1 {
        display: inline-block;
    }

    .form-section form {
        padding-bottom: 0 !important;
    }
}

@media (max-width: 1199px) {
    .form-section {
        padding-bottom: 60px;
        padding-top: 35px;
    }

    .form-section h1 {
        box-shadow: -48px 23px 0 -23px #09277f, 48px 23px 0 -23px #09277f;
        margin-top: 16px;
        margin-left: 5.4444%;
    }

    .form-section p {
        position: relative;
        margin-left: 5.4444%;
        margin-right: 5.444%;
    }

    .form-section .embedded-form {
        position: relative;
        top: inherit;
        right: inherit;
        z-index: 999999;
    }

    .form-section form {
        margin: 0 auto;
        padding: 45px 30px;
    }
}

@media screen and (max-width: 991px) {
    .form-section h1 {
        margin-top: 30px;
    }

    .form-section p {
        padding-top: 0;
    }
}

@media (max-width: 575px) {
    .form-section form input {
        max-width: 100%;
        position: relative;
        z-index: 999999;
    }

    .form-section .embedded-form {
        margin-left: 15px;
        margin-right: 15px;
    }

    .form-section h1,
    .form-section p {
        margin-left: 0;
        margin-right: 0;
    }

    .form-section form {
        padding: 32px 15px;
    }

    .gform_wrapper ul li.gfield {
        width: 100%;
    }
}


/*---*/


@media screen and (max-width: 991px) {
    #menu-main-menu {
        display: none;
    }

    [type="checkbox"]:checked ~ ul {
        display: block;
        z-index: 9999;
        position: absolute;
        right: 45px;
        left: 45px;
        padding-left: 0;
    }

    .list-category {
        justify-content: center;
    }

    nav > ul > li {
        margin-left: 0;
    }

    nav > ul li ul li {
        display: block;
        float: none;
    }

    nav > ul li ul {
        display: block;
        position: relative;
        width: 100%;
        z-index: 9999;
        float: none;
    }

    .menu > li:hover:before {
        display: none;
    }

    .current-menu-item > a:before {
        display: none;
    }

    .menu li:hover > ul {
        position: relative;
        top: 0;
    }

    .mobile-form {
        display: block;
    }

    .menu .sub-menu li .sub-menu {
        left: 7px;
        top: 0px;
    }

    .search-item #searchform {
        display: none;
    }

    .partner img {
        width: 160px;
    }

    .date {
        font-size: 14px;
        padding: 10px 0 5px 0;
    }

    .slider p {
        font-size: 16px;
        line-height: 21px;
    }

    .box ul li:nth-child(2n+1) {
        font-size: 16px;
    }

    .swiper-container.partner {
        display: block;
    }

    .events .download {
        top: -60px;
        left: 50%;
        margin-left: -37px;
    }

    .events .download img {
        width: 45px;
        height: 45px;
    }

    .slider .link {
        margin-right: 0px;
        margin-top: 19px;
    }

    .partner-box {
        display: none;
    }

    .main-content-block p { /* TODO: .post-content */
        padding-right: 0;
    }

    #button-menu {
        display: block;
        float: right;
    }

    .search-form {
        display: none;
    }
}

@media (max-width: 575px) {
    .mobile-form {
        padding: 0;
    }

    .btn-mobile-hidden {
        display: none;
    }

    .mobile-btn a {
        max-width: 100%;
    }

    .partner .swiper-slide {
        text-align: center;
    }

    .slider .link {
        display: block;
        width: 100%;
        float: none;
        max-width: 100%;
        margin-bottom: 35px;
    }
}

/** Miscellaneous **/
div.wpcf7 .ajax-loader {
    display: none !important;
}

.mm-menu.mm-offcanvas.mm-right, html.mm-pagedim-black #mm-blocker {
    z-index: 10000000;
}


/** Page: Vertretung **/
#page-vertretung table {
    margin-bottom: 60px;

    width: 100%;
}

#page-vertretung table, #page-vertretung th, #page-vertretung td {
    font-size: 16px;
}

#page-vertretung td, #page-vertretung th {
    text-align: left;
    padding: 10px;
    border: 1px solid #ccc;
}

/** Gravity form styles */
/** For required area put it the placeholder */
#gform_fields_1 .gfield_required {
    display: none;
}

/** Page: Kontakt **/
ul.contact-page-content li {
    background: none;
    padding: inherit;
    margin-left: 0;
}

/** Page Termine **/
.page-template-page-termine #tribe-events {
    padding: 0;
}

.list-view-day .tribe-event-title,
#tribe-events-day .tribe-events-day-time-slot .tribe-events-list-event-title {
    text-transform: none;
    color: #4d90cd;
    font-weight: 600;
    float: left;
}

.list-view-day p,
.list-view-day ul,
.list-view-day li,
#tribe-events-day .tribe-events-day-time-slot p,
#tribe-events-day .tribe-events-day-time-slot ul,
#tribe-events-day .tribe-events-day-time-slot li {
    line-height: inherit;
    margin: 0 0 10px 0;
}

.list-view-day .list-event-info {
    width: 100%;
    margin-bottom: 21px;
    border-bottom: 1px dashed #ddd;
}

.list-view-day .list-event-info span {
    margin-right: 10px;
}

/** Hide date filter on list view because list view show this week */
.view-list .tribe-bar-filters {
    display: none;
}

.view-list .tribe-bar-disabled #tribe-bar-form #tribe-bar-views {
    left: 0;
    width: 100%;
}

@media (max-width: 320px) {
    .tribe-bar-disabled #tribe-bar-form #tribe-bar-views + .tribe-bar-filters {
        left: auto;
        right: 58% !important;
        width: 40% !important;
    }
}

.tribe-bar-disabled .tribe-bar-date-filter {
    width: 210px !important;
}

.view-list .tribe-bar-disabled .tribe-bar-views-inner {
    padding-bottom: 10px;
}

.view-list .list-view-day p {
    z-index: inherit;
}


/** Catering page */
.main-catering {
    background: linear-gradient(to left, #f7f8f8 50%, #ffffff 50%);
}

.main-catering .lunches {
    background-color: #ffffff;
    padding-bottom: 54px;
}

.visible-fix {
    position: relative;
    z-index: 99999;
}

#page-catering .sidebar h1:first-child {
    margin-top: 0;
}

div + h1.tribe-events-list-event-title {
    margin-top: 36px;
}

/** Interna Links, Folders & Files **/
.interna-link {
    display: flex;
    margin-bottom: 36px;
}

.interna-link + .interna-link {
    margin-bottom: 0;
}

.interna-link span[class^="icon-"] {
    display: flex;
    font-size: 32px;
    padding: 8px;
}

.interna-link span:last-child {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: 0.42s;
}

.interna-file-link {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    font-size: 21px;
    transition: 0.42s;
}

.interna-file-link img {
    width: 20px;
    margin-right: 10px;
}

.interna-folder-link {
    font-size: 25px;
    display: block;
    margin-bottom: 10px;
    font-weight: 400;
}

.interna-buttons p {
    margin: 0;
}

.interna-buttons {
    padding-top: 36px;
}

.folder-container {
    display: block;
    overflow: hidden;
    transition: 1s;
}

.folder-container.folder-close {
    height: 0;
}

.folder-container .interna-file-link {
    margin-left: 36px;
}

.empty-folder-text {
    font-size: 21px;
    margin: 0px 0px 15px 15px;
    display: block;
}


/** Wordpress Admin styles **/

#wpadminbar, #wpadminbar .ab-sub-wrapper, #wpadminbar ul, #wpadminbar ul li {
    z-index: 20000000;
}

#wpmem_restricted_msg { /** WP Members restricted message on top **/
    display: none;
}


/** Event pages **/
.page-events .event-filter-buttons .btn {
    border: 1px solid #fff;
}

.tribe-events-view-wrapper {
    margin-top: 36px;
}

.tribe-events-event-schedule-details {
    font-size: 16px;
    margin-top: -10px;
    position: relative;
    display: block !important;
}

#tribe-geo-results h2.tribe-events-page-title,
h2.tribe-events-page-title,
.tribe-events-list .tribe-events-list-event-title,
h2.tribe-mobile-day-heading {
    font-weight: 500 !important;
    margin-top: 12px !important;
}

h2.tribe-events-page-title,
.tribe-events-list .tribe-events-list-event-title,
h2.tribe-mobile-day-heading {
    font-size: 30px !important;
    line-height: 1.25 !important;
    text-align: left !important;
    margin: inherit !important;
    margin-bottom: 24px !important;
    margin-top: 0 !important;
    text-transform: uppercase !important;
    padding-top: 14px !important;
}

h2.tribe-mobile-day-heading span {
    display: block;
}

#tribe-bar-views .tribe-bar-views-list {
    padding: 0 !important;
}

.tribe-bar-disabled .tribe-bar-filters .tribe-bar-date-filter {
    padding: 4px 10px !important;
}

.tribe-is-responsive .post-content .container:after, /* design only */
.post-content article.page-catering:before,
.post-content article.page-catering:after,
.page-id-650 .post-content .container:after,
.post-content article.page-events:before,
.post-content article.page-events:after {
    display: none;
}

article.page-events .col-12 h1 {
    margin-left: 0;
}

.page-events .main-content {
    padding-left: 0;
    padding-right: 0;
}

.page-events .main-content ul li {
    padding: 0;
    background: none;
}

/** Event Styles for day view **/
.list-view-day {
    padding-bottom: 32px;
    margin-bottom: 24px;
    border-bottom: 1px dotted #ccc;
}

#tribe-events-day .tribe-events-day-time-slot .type-tribe_events {
    padding-bottom: 16px !important;
    margin-bottom: 32px !important;
    border-bottom: 1px dotted #ccc !important;
}

.tribe-bar-disabled #tribe-bar-form #tribe-bar-views {
    min-width: 185px;
!important;
}

@media (max-width: 992px) {
    .tribe-bar-disabled #tribe-bar-form #tribe-bar-views {
        min-width: 160px;
    !important;
    }
}

.tribe-events-day-time-slot h3,
.list-view-day .list-event-info h3,
#tribe-mobile-container h3 {
    margin-top: 12px;
    margin-bottom: 16px;
    font-size: 21px;
    text-transform: none;
    color: #4d90cd;
    font-weight: 400;
    font-family: 'Fira Sans Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

#slider-termine .swiper-container h4.tribe-event-title a {
    font-size: 21px;
    text-transform: none;
    color: #4d90cd;
    font-weight: 400;
    font-family: 'Fira Sans Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.home #slider-termine .swiper-container h4.tribe-event-title a {
    font-size: 17px;
}

#tribe-mobile-container .type-tribe_events {
    padding-top: 0 !important;
}

#tribe-mobile-container .type-tribe_events ~ .type-tribe_events {
    padding-top: 32px !important;
}

.tribe-events-day-time-slot .tribe-event-duration,
.tribe-event-duration {
    font-size: 14px;
    font-weight: 400;
    padding: 3px 6px 6px 0;
    display: inline-block;
    color: #777;
    text-transform: none !important;
}

.tribe-events-day-time-slot .tribe-events-list-event-description {
    display: block;
}

.tribe-events-day .tribe-events-day-time-slot .type-tribe_events {
    margin-left: 0 !important;
}

.list-view-day .tribe-event-title,
#tribe-events-day .tribe-events-day-time-slot .tribe-events-list-event-title,
.tribe-mobile-day-heading {
    font-weight: 400 !important;
}

.essenplan-tv .tribe-events-list-event-title,
.termine-tv .tribe-bar-disabled,
.termine-tv .tribe-events-page-title {
    display: none;
}

.termine-tv h3,
.essenplan-tv .kitchen-menu-item div span:first-child {
    font-size: 24px;
}

.tribe-events-loop .tribe-events-day-time-slot:first-child {
    display: none;
}

.tribe-events-day-time-slot .type-tribe_events {
    margin: 0 !important;
}

.tribe-events-month-event-title {
    color: #4d90cd;
}

.tribe-events-tooltip h4.entry-title {
    font-size: 21px !important;
    font-weight: 400 !important;
    font-family: 'Fira Sans Condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    text-transform: none !important;
}

.tribe-events-tooltip .tribe-events-event-body {
    font-size: 14px !important;
    font-weight: 300 !important;
}

.tribe-event-description p {
    margin: 16px 0;
}

.tribe-events-calendar td.tribe-events-past div[id*=tribe-events-daynum-], .tribe-events-calendar td.tribe-events-past div[id*=tribe-events-daynum-] > a {
    background-color: #e0e0e0 !important;
    color: #fff;
}

#tribe-events-content .tribe-events-calendar .tribe-events-past a {
    background-color: #e0e0e0 !important;
    color: #67a0d3 !important;
}

.tribe-events-calendar .tribe-events-future div[id*=tribe-events-daynum-], #tribe-events-content .tribe-events-calendar .tribe-events-future div[id*=tribe-events-daynum-] a {
    background-color: #67a0d3 !important;
    color: #fff !important;
}

#tribe-events-content .tribe-events-calendar div[id*=tribe-events-daynum-] {
    padding: 0 !important;
}

#tribe-events-content .tribe-events-calendar div[id*=tribe-events-daynum-] a {
    letter-spacing: 2px;
    padding: 6px 9px !important;
    z-index: 399;
    font-weight: 15px;
    position: relative;
}

.tribe-events-calendar .tribe-events-present div[id*=tribe-events-daynum-],
#tribe-events-content .tribe-events-calendar .tribe-events-present div[id*=tribe-events-daynum-] a,
.tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-],
.tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-] > a {
    background-color: #092781 !important;
    color: #fff !important;
}

#tribe-events-content .tribe-events-calendar div[id*=tribe-events-daynum-] a:hover {
    transform: scale(1.15);
    box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.15);
    z-index: 4001;
    position: relative;
}

.list-view-day p, .list-view-day ul, .list-view-day li, #tribe-events-day .tribe-events-day-time-slot p, #tribe-events-day .tribe-events-day-time-slot ul, #tribe-events-day .tribe-events-day-time-slot li {
    line-height: 1.42857em;
}

.menu-image-title {
    pointer-events: none;
}

.tribe-events-calendar .tribe-events-tooltip {
    pointer-events: none;
}

@media only screen and (max-width: 768px) {
    #tribe-events-content .tribe-events-calendar .mobile-active:hover, #tribe-events-content .tribe-events-calendar td.tribe-events-othermonth.mobile-active, #tribe-events-content .tribe-events-calendar td.tribe-events-othermonth.mobile-active div[id*=tribe-events-daynum-], #tribe-events-content .tribe-events-calendar td.tribe-events-othermonth.mobile-active div[id*=tribe-events-daynum-] a, .tribe-events-calendar .mobile-active div[id*=tribe-events-daynum-], .tribe-events-calendar .mobile-active div[id*=tribe-events-daynum-] a, .tribe-events-calendar td.mobile-active {
        background-color: #67a0d3 !important;
    }
}

.termine-tv .tribe-events-notices {
    line-height: 26px;
}

.ical-exporter {
    font-size: 16px;
}

.ical-exporter #preparing-ical {
    display: none;
    color: blue;
}

/** Homepage slider fullscreen */
.home-slider-fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 100%;
    right: 100%;
    z-index: 1000000;
    background-color: white !important;
    width: 100%;
    height: 100%;
}

.swiper-slide-fullscreen {
    width: auto !important;
    height: 100vh !important;
}

#swiper-slide-fullscreen-cancel {
    display: none;
    position: absolute;
    right: 115px;
    top: 22px;
    left: auto;
}

.home .image-popup-wrapper,
.post_projects-template-default .image-popup-wrapper,
.post_schooldaily-template-default .image-popup-wrapper {
    display: none !important;
}

.post-thumbnail img {
    width: 255px;
    height: 255px;
    object-fit: cover;
}

body.home #slider-termine .ai1ec-date-block-wrap {
    padding: 0 10px;
}

body.home #slider-termine .ai1ec-posterboard-view {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

body.home #slider-termine .ai1ec-load-view .ai1ec-date {
    display: flex;
    min-width: 100px;
    justify-content: space-between;
    background: transparent;
    padding: 2px 0;
}
body.home #slider-termine .ai1ec-posterboard-view .ai1ec-month {
    background: transparent;
}
body.home #slider-termine .ai1ec-posterboard-view.ai1ec-posterboard-aligned .ai1ec-end-date-divider {
    display: none !important;
}
body.home #slider-termine .ai1ec-posterboard-view .ai1ec-day  {
    font-size: 1rem;
    position: relative;
    padding: 0;
    font-weight: bold;
}
body.home #slider-termine .ai1ec-event-title-wrap, body.home #slider-termine .ai1ec-posterboard-image-container, body.home #slider-termine footer.ai1ec-auto-height {
    padding-left: 20px;
}
