/* Silbentrennung für alle Überschriften */
h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

h1, h2 {
    text-transform: uppercase;
    font-weight: 300;
    color: #6a686b;
    line-height: 40px;
    margin-bottom: 20px;
    margin-top: 0;
}

h3 {
    font-weight: 300;
    color: #6a686b;
    color: #6a686b;
    font-size: 28px;
    line-height: 36px;
    margin-bottom: 40px;
    margin-top: 0;
}

h4 {
    font-size: inherit;
    color: inherit;
    font-weight: 300;
    margin-bottom: 10px;
    margin-top: 0;
}

.responsiveImage {
    height: auto;
    width: 100%;
    max-width: 100%;
}

.modal-backdrop{
    z-index: auto !important;
}

section ul, section ol {
    margin-bottom: 11.5px;
    margin-left: 35px;
}

section ul li {
    list-style-type: disc;
}

ul.form-list li {
    list-style-type: none;
}

section ol li {
    list-style-type: decimal;
}

.typo3-neos-alignment-right img {
    float: right;
    margin-left: 2em;
    margin-bottom: 1em; 
}

.typo3-neos-alignment-left img {
    float: left;
    margin-right: 2em;
    margin-bottom: 1em;
}

.typo3-neos-alignment-center {
    text-align: center;
}

.typo3-neos-alignment-center img {
    margin: 0 auto;
}

.typo3-neos-nodetypes-image figure figcaption {
    display: block;
}

.typo3-neos-nodetypes-text {
    clear: both;
}

section hr.normal {
    border: 0;
    height: 1px;
    background: #515555;
    background-image: none;
}

hr.half {
    background: rgba(0, 0, 0, 0) url("../../images/bottom-shadow.png") no-repeat scroll center 0;
    height: 20px;
    margin: 50px 0;
}

hr.full {
    background: rgba(0, 0, 0, 0) url("../../images/bottom-shadow-rapport.png") repeat-x scroll 0 0;
    border: 0 none;
    height: 15px;
    position: relative;
    width: 100%;
}

.mpblog-container .mpblog-post .mp-content img {
    padding-left: 0px;
    width: auto;
}

.mp-content.std .video-box img {
    padding-left: 0px;
    padding-right: 0px;
    width:100%;
}

/* Wrap long lines */
.entry-content,
div.mp-content.std {
    word-wrap: break-word;
}

a.video-box,
div.mpblog-post a.video-box,
.mp-content.std a.video-box {
    box-shadow: none;
}

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

a.video-box {
    display: inline-block;
}

a.video-box img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.mpblog-post {
    min-height: 100px;
}

.mpblog-post span.posted-by,
.mpblog-post span.date {
    margin-right: 20px;
}

.mpblog-post span.posted-by i,
.mpblog-post span.date i
{
    margin-right: 5px;
}

.mpblog-post .mp-header {
    padding: 0px 0px 0px 0px;
    margin-bottom: 17px;
}

h5.mp-post-header {
    margin-bottom: 5px !important;
}

#social {
    margin-top: 15px;
}

#social.mp-caption {
    padding-bottom: 10px;
}

.shariff ul {
    line-height: 1px;
}

.mpblog-post figure img {

}

ul.form-list {
    list-style-type: none;
    margin-left: 0px;
}

.validation-failed-label {
    color: #a94442;
}

input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
    border-color: #a94442;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
    -moz-box-shadow: none;
}

/* Bootstrap carousel styles */

.carousel-indicators {
    bottom: 20px;
}

.bellicon-carouselitem {
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 25px;
}

.carousel-control {
    color: #e0e3e4 !important;
    text-shadow: none;
    opacity: 100;
}

.carousel-control:focus,
.carousel-control:hover,
.carousel-control:active,
.carousel-control:visited
{
    color: #e0e3e4 !important;
    opacity: 100;
}


.carousel-indicators li {
    border: 1px solid gray;
    background-color: white;
}

.carousel-control .glyphicon-chevron-right, .carousel-control .icon-next {
    right: 60px;
}

.carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev {
    left: 14px;
}

.carousel-control .icon-prev:before,
.carousel-control .icon-next:before{
    font-family: icomoon;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #e0e3e4;
    font-size: 75px;
    line-height: 1em;
    width: auto;
}

.carousel-control .icon-prev:before {
    content: '\e612';
}

.carousel-control .icon-next:before {
    content: '\e613';
}

.carousel-control.left,
.carousel-control.right {
    background-color: transparent;
    background-image: none;
}

.carousel-control .icon-prev,
.carousel-control .icon-next {
    font-size: 120px;
    margin-top: -80px;
}

/* End styles */

/* Fix for healcode iframe */

healcode-widget input[type="checkbox"],
healcode-widget input[type="radio"] {
    display: inline;
    float: none;
    margin: 7px 0px 3px 0px;
}

.blc-col div.healcode,
.class_list,
.class_description {
    font-size: 15px !important;
    line-height: 1.4em !important;
}

th,
td span.hc_starttime,
td span.hc_endtime,
.hc_class tr td span,

div.healcode table.schedule tr td,
div.healcode table.enrollments tr td,
div.healcode table.healcode-appointments tr td,
div.healcode ol.enrollment_list li.cancelled div tr td
{
    font-size: 14px !important;
}

span.action_text,
span.my_account_text {
    font-size: 14px !important;
}

h1.class_name,
div.hc_header{
    font-size: 0.8em;
    text-align: left;
}

.class_offered_link {
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0px !important;
}

.class_offered_link a {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2) !important;
    font-size: 28px;
    background-color: #ff8310;
    vertical-align: middle;
    padding: 5px 20px 5px 15px !important;
    margin-right: 15px;

    border: 1px solid #fff;
    border-radius: 0;
    box-shadow: none;
    color: #fff;
    display: inline-block;
    font-size: 17px;
    line-height: 25px;
    margin-bottom: 20px;
    margin-top: 10px;
    padding: 5px 20px;
    text-align: center;
}

.class_offered_link a::before {
    content: "";
    display: inline-block;
    font-family: icomoon;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    font-size: 28px;
    line-height: inherit;
    position: relative;
    text-transform: none;
    vertical-align: middle;
}

/* End Fix */

.form-search {
    visibility: visible;
}

.form-search-page .btn.btn-search {
    background: url(../../images/search_icon.png) no-repeat;
    color: #515555;
}

.form-search-page .btn.btn-search {
    border: 0;
    position: relative;
    right: 27px;
    bottom: 0;
    top: 0;
    z-index: 2;
    width: 24px;
    height: 27px;
}

.form-search-page input[type=text] {
    height: 29px;
}

.form-search-page input.form-control {
    -moz-box-shadow: 5px 5px 10px #eaeaea;
    box-shadow: 5px 5px 10px #eaeaea;
    -moz-border-radius: 0;
    border-radius: 0;
    padding: 4px 27px 4px 7px;
}

.flowpack-searchplugin-search hr {
    display: block !important;
    height: 0px;
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 1px solid #eee;

    z-index: -1; /* TOOD: Why it works only with -1, otherwise the suggestion popup will be behind  */
    background-image: none;
}

/* Searchbox height */

.form-search input[type=text] {
    height: 29px;
}

.flowpack-searchplugin-search dt a {
    color: #ff7d00;
}

.flowpack-searchplugin-search dt,
.flowpack-searchplugin-search dd {

}

.flowpack-searchplugin-search em {
    color: gray;
    font-style: normal;
    font-weight: bold;
}

.flowpack-searchplugin-search div.form-search.search-in-content {
    float: none;
}

/* pagination (was missed) */

.pagination {
    display: inline-block;
    padding-left: 0;
    margin: 23px 0;
    border-radius: 0
}

.pagination>li {
    display: inline
}

.pagination>li>a,.pagination>li>span {
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.4;
    color: #ff7d00;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ddd
}

.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover {
    z-index: 2;
    color: #b35800;
    background-color: #eee;
    border-color: #ddd
}

.pagination>li:first-child>a,.pagination>li:first-child>span {
    margin-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.pagination>li:last-child>a,.pagination>li:last-child>span {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover {
    z-index: 3;
    color: #fff;
    cursor: default;
    background-color: #ff7d00;
    border-color: #ff7d00
}

.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover {
    color: #777;
    cursor: not-allowed;
    background-color: #fff;
    border-color: #ddd
}

.pagination-lg>li>a,.pagination-lg>li>span {
    padding: 10px 16px;
    font-size: 22px;
    line-height: 1.3333333
}

.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px
}

.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px
}

.pagination-sm>li>a,.pagination-sm>li>span {
    padding: 5px 10px;
    font-size: 14px;
    line-height: 1.5
}

.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px
}

.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px
}

.pager:after,.pager:before,.sorter:after,.sorter:before {
    display: table;
    content: " "
}

.pager:after,.sorter:after {
    clear: both
}

.pager {
    padding: 4px 8px;
    border-top: 1px solid #e5e5e5;
    text-align: center;
    line-height: 33px
}

.pager .amount {
    float: left;
    margin-bottom: 0
}

.pager .limiter {
    float: right
}

.pager .limiter label {
    margin-bottom: 0
}

.pager .limiter select {
    display: inline;
    width: 60px
}

.pager .pages {
    float: left;
    width: 100%;
    margin-top: 4px;
    text-align: center
}

.pager .pages ol {
    padding-left: 0;
    border-radius: 0;
    margin: 0;
    display: inline-block
}

.pager .pages ol>li {
    display: inline
}

.pager .pages ol>li>a,.pager .pages ol>li>span {
    position: relative;
    float: left;
    margin-left: -1px;
    color: #ff7d00;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ddd
}

.pager .pages ol>li>a:focus,.pager .pages ol>li>a:hover,.pager .pages ol>li>span:focus,.pager .pages ol>li>span:hover {
    z-index: 2;
    color: #b35800;
    background-color: #eee;
    border-color: #ddd
}

.pager .pages ol>li:first-child>a,.pager .pages ol>li:first-child>span {
    margin-left: 0
}

.pager .pages ol>.active>a,.pager .pages ol>.active>a:focus,.pager .pages ol>.active>a:hover,.pager .pages ol>.active>span,.pager .pages ol>.active>span:focus,.pager .pages ol>.active>span:hover {
    z-index: 3;
    color: #fff;
    cursor: default;
    background-color: #ff7d00;
    border-color: #ff7d00
}

.pager .pages ol>.disabled>a,.pager .pages ol>.disabled>a:focus,.pager .pages ol>.disabled>a:hover,.pager .pages ol>.disabled>span,.pager .pages ol>.disabled>span:focus,.pager .pages ol>.disabled>span:hover {
    color: #777;
    cursor: not-allowed;
    background-color: #fff;
    border-color: #ddd
}

.pager .pages ol>li>a,.pager .pages ol>li>span {
    padding: 5px 10px;
    font-size: 14px;
    line-height: 1.5
}

.pager .pages ol>li:first-child>a,.pager .pages ol>li:first-child>span {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px
}

.pager .pages ol>li:last-child>a,.pager .pages ol>li:last-child>span {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px
}

.pager .pages li {
    display: inline-block;
    margin: 0 2px
}

/* end pagination (was missed */

.pagination {
    z-index: -1;
}

/* Searchplugin custom style */
.pagination>.active>a,
.pagination>li {
    z-index: auto;
}


/* typeahead for suggestions custom style */

.tt-hint {
    display: block;
    width: 100%;
    padding: 8px 12px;
    font-size: 14px;
    line-height: 1.428571429;
    color: #999;
    vertical-align: middle;
    background-color: #ffffff;
    border: 1px solid #cccccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.twitter-typeahead {
    height: 27px;
}

.tt-menu {
    min-width: 160px;
    margin-top: 2px;
    padding: 5px 0;
    background-color: #ffffff;
    border: 1px solid #cccccc;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    background-clip: padding-box;
}

.tt-cursor {
    cursor: pointer;
    color: white;
    background-color: rgb(255, 131, 16);
}

.tt-suggestion {
    display: block;
    padding: 3px 20px;
}
.tt-suggestion.highlight {
    color: #fff;
    background-color: #dfdfdf;
}
.tt-suggestion.highlight a {
    color: #fff;
}
.tt-suggestion p {
    margin: 0;
}

/* Responsive Table Style which applies to Table created with the inline editor within a text element */

div.neos-nodetypes-text table {
    margin: 0 auto;
    width: 100%;
    border-collapse: collapse;
    font-weight: 100;
    background: #FE7D06; color: #fff;
    text-rendering: optimizeLegibility;
}

.neos-nodetypes-text table tr:first-child td { font-weight: 600; }
.neos-nodetypes-text table tr:first-child td, div.neos-nodetypes-text table tbody td {
    padding: .8rem;
}

div.neos-nodetypes-text table tr:not(:first-child) td {
    padding: .8rem;
    color: black; background: #E0E0E0;
}

div.neos-nodetypes-text table tbody tr:not(:last-child) {
    border-bottom: 1px solid #E0E0E0;
}

@media screen and (max-width: 600px) {
    div.neos-nodetypes-text table caption { background-image: none; }
    .neos-nodetypes-text table tr:first-child { display: none; }
    div.neos-nodetypes-text table tbody td {
        display: block; padding: .6rem;
    }
    div.neos-nodetypes-text table tbody tr td:first-child {
        background: #FE7D06; color: white;
    }
    div.neos-nodetypes-text table tbody td:before {
        content: attr(data-th);
        font-weight: bold;
        display: inline-block;
        width: 7em;
    }
}

/* End Responsive Tablet Style */

/* Contactform / SignupForm */

p.required_fields em {
    color: #ff7d00;
    font-size: 14px;
    font-weight: 600;
}

/* End Contactform / SignupForm */

/* Begin Quote Element */

.quoteText {
    font-weight: 300;
    font-size: 28px;
    margin-bottom: 10px;
    margin-top: 0;

    font-style: italic;
}

.quoteAuthor {
    font-size: 24px;
    padding-bottom: 4px;
}

/* End Quote Element */

/* Begin OverviewMenu Element */

#overlay-container {
    position: relative;
    pointer-events: none;
}

#overviewMenu ul {
    margin: 0px;
    list-style-type: none;
    margin-left: 0px;
}

#overviewMenu div ul li a img {
    display: inline-block;
    vertical-align: top;
    width: 51px;
    height: 51px;
}

#overviewMenu li {
    display: block;
    width: 100%;

    border-bottom: 2px solid white;
}

#overviewMenu a {
    display: block;

    color: white;
    width: 100%;
    height: 51px;


    font-size: 17px;
    font-weight: normal;
}

#overviewMenu span {
    /*height: 41px;*/

    display: inline-block;
    height: 51px;
    line-height: 51px;

    vertical-align: middle;

    word-wrap: break-word;

    text-decoration: underline;
}

@media screen and (min-width: 993px) {
    /* 80% Breite wenn Desktop */
    #overviewMenu {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }

    /* Und breiterer Rand */
    #overviewMenu li {
        border-bottom: 8px solid white;
    }
}

#overviewMenu div.left {
    width: 50%;
}

#overviewMenu div.right {
    width: 50%;
}

#overviewMenu div.right li {
    text-align: right;
}

/* End OverviewMenu Element */

/* Begin TwoColumn Option*/
/* Add the class "bottom-align-image" to the column with content which should be anytime glued to the bottom */

@media (max-width: 992px) and (min-width: 767px) {
    .bottom-align-row {
        position: relative;
    }

    .bottom-align-image {
        position: absolute;
        bottom: 0;
        right: 0;
    }
}

/* End TwoColumn Option */

/* Begin VideoBackground*/
.videoWrap {
    position: relative;
    overflow: hidden;
}

.videoContainer {
    margin-bottom: -5px;

    height: 100%;
    width: 100%;
}

.videoContainer video {
    height: 100%;
    width: 100%;
    object-fit: cover;
    right: 0;
    bottom: 0;
    overflow: hidden;
    min-height: 400px;
}

.contentContainer {
    position: absolute;
    height: 100%;
    top: 15px;
    left: 10px;
    right: 10px;
}

.contentContainer h1,
.contentContainer h2,
.contentContainer h3,
.contentContainer h4,
.contentContainer h5 {
    margin-bottom: 10px;
}

/* End VideoBackground */

/* Button Overrides */

.widget.widget--button span,
.widget.widget--button.button--icon-link:before {
    text-shadow: none;
}

/* End Button Overrides */

/* Button Bootstrap Overrides */

.close {
    filter: alpha(opacity=100) !important;
    opacity: 1 !important;
}

/* End Button Bootstrap Overrides */

.boxBackground  {
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
}

/* Clock (CountdownTimer) */

.clockdiv{
    font-weight: 100;
    text-align: center;
    font-size: 40px;
}

.clockdiv > div{
    display: inline-block;
    margin-right: 10px;
}

.clockdiv div > span{
    display: inline-block;
}

.smalltext{
    font-size: 14px;
}

/* End Clock (CountdownTimer */

/* News Item Stars */

.rating {
    float: left;
    unicode-bidi: bidi-override;
    direction: rtl;
    margin-right: 20px;
}

.rating > span {
    display: inline-block;
    position: relative;
    width: 1.1em;
}

.rating > span.active:before,
.rating > span.active ~ span:before {
    content: "\2605";
    position: absolute;
    color: gold;
}

/* End News Item Stars */

/* Start CustomerVoice */

.input-box label a {
    text-decoration: underline;
}

/* End CustomerVoice */


/* Start Responsive Font Size */

@media only screen and (max-width: 768px) {
    .responsiveFontSize17 h3 {
        font-size: 17px !important;
        line-height: 23px !important;
    }

    .responsiveFontSize18 h3 {
        font-size: 18px !important;
        line-height: 23px !important;
    }

    .responsiveFontSize19 h3 {
        font-size: 19px !important;
        line-height: 24px !important;
    }

    .responsiveFontSize20 h3 {
        font-size: 20px !important;
        line-height: 24px !important;
    }
}

/* End CustomerVoice */