/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */
/* poppins-200 - latin */
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 200;
    src: url('../fonts/poppins-v20-latin-200.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/poppins-v20-latin-200.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/poppins-v20-latin-200.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/poppins-v20-latin-200.woff') format('woff'), /* Modern Browsers */
         url('../fonts/poppins-v20-latin-200.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/poppins-v20-latin-200.svg#Poppins') format('svg'); /* Legacy iOS */
  }
  /* poppins-300 - latin */
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/poppins-v20-latin-300.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/poppins-v20-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/poppins-v20-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/poppins-v20-latin-300.woff') format('woff'), /* Modern Browsers */
         url('../fonts/poppins-v20-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/poppins-v20-latin-300.svg#Poppins') format('svg'); /* Legacy iOS */
  }
  /* poppins-regular - latin */
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/poppins-v20-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/poppins-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/poppins-v20-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/poppins-v20-latin-regular.woff') format('woff'), /* Modern Browsers */
         url('../fonts/poppins-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/poppins-v20-latin-regular.svg#Poppins') format('svg'); /* Legacy iOS */
  }
  /* poppins-500 - latin */
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/poppins-v20-latin-500.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/poppins-v20-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/poppins-v20-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/poppins-v20-latin-500.woff') format('woff'), /* Modern Browsers */
         url('../fonts/poppins-v20-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/poppins-v20-latin-500.svg#Poppins') format('svg'); /* Legacy iOS */
  }
  /* poppins-600 - latin */
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/poppins-v20-latin-600.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/poppins-v20-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/poppins-v20-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/poppins-v20-latin-600.woff') format('woff'), /* Modern Browsers */
         url('../fonts/poppins-v20-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/poppins-v20-latin-600.svg#Poppins') format('svg'); /* Legacy iOS */
  }

/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */


/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */


/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: regular;
}


/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}


/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}


/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}


/*
 * Remove default fieldset styles.
 */

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


/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

[readonly] {
    opacity: 0.3!important;
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */
* {
    box-sizing: border-box;
}

:root {
    --primary-color: #fcb117;
    --secondary-color: #333;
    --third-color: #444;
    --background: #f0f0f0;
    --box: #fff;
    --paddingbox: 2em;
    --radius: 10px;
    --border:#eee;
}

body {
    padding: 0;
    margin: 0;
    font-family: 'Poppins', sans-serif;
    height: 100%;
    -ms-overflow-style: none;
    scrollbar-width: none;
    background: var(--background);
    font-weight: 300;
    font-size: 14px;
}

body::-webkit-scrollbar {
    display: none;
}

a {color:#333;
    text-decoration: none;}

a:hover {color:var(--primary-color);}


/* BUTTONS =============================================*/
.btn-primary {background:var(--primary-color);
    border:none;
    font-size:0.85rem;}

.btn-secondary {background:var(--secondary-color);
        border:none;
        font-size:1rem;}

.btn-primary:hover,
.btn-secondary:hover {
    background:var(--third-color);
}

/* Formulare =============================================*/
label {font-size:0.8rem;}

.formfield {margin-bottom:1em;}

/* Header ==========================================*/
header {width:60px;
    position:fixed;
    top:1rem;
    left:1rem;
    z-index:100;
    background:var(--box);
    border:1px solid var(--border);
    height:calc(100% - 2rem);
    text-align: center;
    display:flex;
    flex-direction: column;
    justify-content: flex-start;
    border-radius:var(--radius);
} 
  
#logo {padding:1em;  
    width:auto;
    height:60px;}

nav {padding:0;
    font-size:0.9em;
    height:calc(100% - 60px);}

nav > div {height:100%;
    display:flex;
    justify-content: space-between;
    flex-direction: column;
    padding-bottom:1.5em;}

nav ul {padding:0;
    list-style: none;}
        
nav li {margin-top:1em;
    border:none!important;
position:relative;}

nav a {color:#bbb;}

nav a.active {color:var(--primary-color);}

nav a i {margin:0;}

nav ul a:hover:before {
    content: "";
    width: 0px;
    height: 0px;
    -webkit-transform: rotate(360deg);
    border-style: solid;
    border-width: 11px 10px 11px 0;
    border-color: transparent #333 transparent transparent;
    position: absolute;
    top: 0;
    left: 45px;
}

nav ul a:hover:after {
    text-align: left;
    font-size: 0.8em;
    content: attr(data-menu);
    white-space: pre;
    position: absolute;
    left: 55px;
    top: 0;
    background: #333;
    color: #fff;
    padding: 0.15em 1em 0.25em 0.5em;
    height: 22px;    
    display: flex;
    align-items: center;
}

/* Subheader ==========================================*/
#subnav {width:100%;
    background:var(--box);
    border:1px solid var(--border);
    display:flex;
    justify-content: space-between;
    align-items:center;
    border-radius:var(--radius);
    padding:1em 1.5rem;
} 

#subnav ul {margin:0;
    padding:0;
    width:100%;
    list-style:none;
    text-align: right;
} 

#subnav li {display:inline-block;
    margin:0 0.7em;
} 

#subnav a {color:#bbb;}

#subnav a.active,
#subnav a:hover {color:var(--primary-color);}

#subnav p {
    font-size:1em;
    margin:0;
    padding:0;
    color:#bbb;
    text-align: right;
    width:100%;
}

/* MAIN ==========================================*/
main {width:calc(100% - 75px);
    margin-left:75px;
    padding:1rem 1.5rem;
} 

h1 {font-size:1.5em;
    text-transform: uppercase;
    color:#fcb117;
    margin:0;
    padding:0;
}

h2 {font-size:1.25em;
    color:#fcb117;
    margin:0;
    padding:0;
}

h3 {font-size:1.15em;
    color:#333;
    margin:0;
    padding:0;
}

.btn i {margin-right:0.35em;}

.hsub {margin:0;
    padding:0;}

section {margin-top:1em;}

.box {border:var(--border);
    background:var(--box);
    padding:var(--paddingbox);
    border-radius:var(--radius)}

.box + .box {margin-top:1em;}

.flex {display:flex;
    width:100%;
    flex-wrap:wrap;
    gap:1em;}

.zweispalter {width:calc(100% / 2 - 0.5em);}
.dreispalter {width:calc(100% / 3 - 0.7em);}
.vierspalter {width:calc(100% / 4 - 1em);}

.headerbox {display:flex;
    gap:1em;
    align-items:center;}

.headerbox p {margin:0.3em 0 0;}

.kacheln {display:flex;
    flex-wrap:wrap;
    justify-content: center;
    align-content:center;
    position: relative;
    min-height:200px;
    overflow: hidden;}

.kacheln > div {width:100%;
text-align: center;}

.kacheln > div i {color:#fcb117;
    font-size:2.5rem;
margin-bottom:1rem;}

.kacheln p {margin:0;
font-size:1.2rem;
text-transform: uppercase;}

#kachelATV {background:url("../img/sofa_ATV.jpg");
    background-size: cover;}

.kacheln:after {content:"";
    backdrop-filter: blur(3px);
width:100%;
height:100%;
position:absolute;
top:0;
left:0;
background:rgba(0,0,0,0.5);
transition: all 1s ease-in-out;}

.kacheln:hover:after {
    backdrop-filter: blur(0);}

#kachelATV > * {position:relative;
    display:block;
    z-index:1;
    color:#fff;}

.headerBox {display:flex;
    width:100%;
    justify-content: space-between;}

.headerBox > div:first-child {width:100%;}

.headerBox > div:last-child {width:220px;}

.headerBox .btn {width:100%;}


div#email, div#passwort {margin-top:3em;}

/* Formulare =========================================== */
label {width:100%;
    margin-bottom:0.35em;}

.formfield {margin-bottom:1.5rem;}

input {width:100%;
    border-radius:5px;
    border:1px solid #ddd;
display:block;
padding:0.5em;}

input:focus {border-color:#fcb117;
    outline:none;}
  
/* Pagination Tabelle  ================================== */

table {
    width: 100%;
    font-size:13px;
}

table img {max-height:17px;
display:block;
width:auto;}

table.dataTable.no-footer {
    border: none;
    margin:1.5rem 0;
}

.dataTables_wrapper .dataTables_filter {
    float: none;
    width: calc(100% - 60px);
    display: inline-block;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    background: var(--background);
    border-left: 2px solid #fcb117!important;
}

.dataTables_wrapper .dataTables_length {
    width: 50px;
    margin-right: 10px;
    float: none;
    display: inline-block;
}

.dataTables_wrapper .dataTables_filter label {
    width: 100%;
}

.dataTables_wrapper .dataTables_filter input {
    width: 100%;
    padding: 0.5em 1em;
    border: 1px solid #ddd;
    height: 40px;
}

.dataTables_wrapper .dataTables_filter input:focus {
    outline: none;
    border-bottom-color: #fcb117;
}

.dataTables_wrapper .dataTables_length select {
    height: 40px;
    border-color: #ddd;
}

tbody {
    background: var(--background);
}

th {
    font-size: 0.8em;
    border:none!important;
}

td {border-bottom:1px solid #efefef;}

tbody th,
tbody td,
thead th,
thead td,
.dataTables_info {
    padding: 12px!important;
}

.dataTables_wrapper .dataTables_paginate {
    margin-bottom: 1.5em;
}

.btn-verknuepfen {
    margin: 0 0 0 auto!important;
    display: block;
    opacity: 0;
    pointer-events: none;
    width: 200px;
}

thead {
    background: #efefef;
    border: none;    
}

.actions a {color:#fcb117;
padding:0.5em;}

.actions a:hover {color:#333;}

.actions a + a {border-left:1px solid rgba(0,0,0,0.1)}


/* EDIT Formular */
.formviertel {display:flex;
    flex-wrap:wrap;
    width:100%;
    gap:0em 1.5em;
}

.formviertel>article {
    width: 75%;
}

.formviertel>aside {
    width: calc(25% - 1.5em);
    padding: 0 0 1em 1.5em;
    border-left: 1px solid #eee;
}

aside video{width:100%;}

.formviertel > .formfield {width:calc(33% - 0.75em);}

.fullwidth {width:100%;}

#fbscreen {display:block;
width:100%;}

.plattformenFlex {display:flex;
    gap:0.5em;}

.plattformenFlex > div {width:100%;
    margin:0;}

article.formviertel > .formviertel {margin-top:3em;
width:100%;}

.plattformen {background:#f7f7f7;
    padding:1em;
    border-radius:10px;}


/* ==========================================================================
   MEDIA QUERIES
   ========================================================================== */
@media all and (max-width:1200px) {
    .dreispalter,
    .vierspalter {width:calc(100% / 2 - 0.5em);}
}

@media all and (max-width:900px) {
    .zweispalter,
    .dreispalter,
    .vierspalter {width:100%;}
}

/* ==========================================================================
   Rückmeldung Skripte
   ========================================================================== */

.alerts {
    background: #333;
    position: fixed;
    bottom: 1em;
    right: 1em;
    width: 400px;
    z-index: 9999;
    -webkit-animation: moveAlert 4s;
    -webkit-animation-fill-mode: forwards;
    pointer-events: none;
    transform: translateX(500px);
    color: #fff;
}

@-webkit-keyframes moveAlert {
    from {
        -webkit-transform: translateX(500px);
    }
    10% {
        -webkit-transform: translateX(0px);
    }
    12% {
        -webkit-transform: translateX(0px);
    }
    16% {
        -webkit-transform: translateX(0px);
    }
    80% {
        -webkit-transform: translateX(0px);
    }
    85% {
        -webkit-transform: translateX(0px);
    }
    to {
        -webkit-transform: translateX(500px);
    }
}

@keyframes moveAlert {
    from {
        transform: translateX(500px);
    }
    10% {
        transform: translateX(0px);
    }
    12% {
        transform: translateX(0px);
    }
    16% {
        transform: translateX(0px);
    }
    80% {
        transform: translateX(0px);
    }
    85% {
        transform: translateX(0px);
    }
    to {
        transform: translateX(500px);
    }
}

.alerts .alert {
    position: relative;
    border: none !important;
    margin-bottom: 8px;
}

.alerts .alert .icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-left: -15px;
    width: 80px;
    text-align: center;
}

.alerts .alert .copy {
    margin-left: 45px;
    padding-left: 20px;
    line-height: 1.2;
}

.alerts .alert .copy h4 {
    font-size: 18px;
    font-weight: 200;
    margin-bottom: 5px;
    color: #fcb117;
}

.alerts .alert .copy p {
    font-size: 12px;
    margin-bottom: 0;
    line-height: 1.5;
}

.alerts .alert.alert-success {
    background-color: #333;
    color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.alerts svg {
    width: 50px;
    display: block;
    margin: 0 auto;
}

.alerts svg polyline {
    stroke: #fcb117;
}

.path {
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
}

.path.circle {
    opacity: 0;
    -webkit-animation: dash 0.9s 0.95s ease-in-out;
    animation: dash 0.9s 0.95s ease-in-out;
}

.path.line {
    opacity: 0;
    stroke-dashoffset: 1000;
    -webkit-animation: dash 0.9s 0.15s ease-in-out forwards;
    animation: dash 0.9s 0.15s ease-in-out forwards;
}

.path.check {
    stroke-dashoffset: -100;
    -webkit-animation: dash-check 1.4s 0.5s ease-in-out forwards;
    animation: dash-check 1.4s 0.5s ease-in-out forwards;
}

@-webkit-keyframes dash {
    0% {
        opacity: 0;
        stroke-dashoffset: 1000;
    }
    100% {
        opacity: 0;
        stroke-dashoffset: 0;
    }
}

@keyframes dash {
    0% {
        opacity: 0;
        stroke-dashoffset: 1000;
    }
    100% {
        opacity: 0;
        stroke-dashoffset: 0;
    }
}

@-webkit-keyframes dash-check {
    0% {
        stroke-dashoffset: -100;
    }
    100% {
        stroke-dashoffset: 900;
    }
}

@keyframes dash-check {
    0% {
        stroke-dashoffset: -100;
    }
    100% {
        stroke-dashoffset: 900;
    }
}


/* ==========================================================================
   Helper classes
   ========================================================================== */


/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
    display: none !important;
}


/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
    /* 1 */
}


/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.sr-only.focusable:active,
.sr-only.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    white-space: inherit;
    width: auto;
}


/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}


/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

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

.clearfix::after {
    clear: both;
}


/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media all and (max-width: 1024px) {
    #calendarBox {flex-wrap:wrap;}

    #personalCalender {width:100%;}

    #calendar .fc-day.feiertag:after {display:none!important;}

}



/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *::before,
    *::after {
        background: #fff !important;
        color: #000 !important;
        /* Black prints faster */
        box-shadow: none !important;
        text-shadow: none !important;
    }
    a,
    a:visited {
        text-decoration: underline;
    }
    a[href]::after {
        content: " (" attr(href) ")";
    }
    abbr[title]::after {
        content: " (" attr(title) ")";
    }
    /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
    a[href^="#"]::after,
    a[href^="javascript:"]::after {
        content: "";
    }
    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    /*
   * Printing Tables:
   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
   */
    thead {
        display: table-header-group;
    }
    tr,
    img {
        page-break-inside: avoid;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
}