/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */
/* open-sans-regular - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/open-sans-v34-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/open-sans-v34-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/open-sans-v34-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/open-sans-v34-latin-regular.woff') format('woff'), /* Modern Browsers */
         url('../fonts/open-sans-v34-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/open-sans-v34-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
  }
  /* open-sans-600 - latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/open-sans-v34-latin-600.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/open-sans-v34-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/open-sans-v34-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/open-sans-v34-latin-600.woff') format('woff'), /* Modern Browsers */
         url('../fonts/open-sans-v34-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/open-sans-v34-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
  }
  /* open-sans-300 - latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/open-sans-v34-latin-300.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/open-sans-v34-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/open-sans-v34-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/open-sans-v34-latin-300.woff') format('woff'), /* Modern Browsers */
         url('../fonts/open-sans-v34-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/open-sans-v34-latin-300.svg#OpenSans') 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;
}


/*
 * 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: #000;
    text-shadow: none;
    color: #fff;
}

::selection {
    background: #000;
    text-shadow: none;
    color: #fff;
}


/*
 * 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;
}

video {
    width: 100%;
    cursor: wait;
}


/*
 * Remove default fieldset styles.
 */

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


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

textarea {
    resize: vertical;
}

[type="checkbox"], [type="radio"] {margin:0.5em;}


/* ==========================================================================
   Extension Hinweis 
   ========================================================================== */

#extensionHinweis {
    width: 100%;
    background: #fcb117;
    color: #fff;
    padding: 1em 2em;
    display: none;
    font-size: 0.8em;
    margin: 0;
    animation-name: example;
    animation-duration: 1s;
    overflow: hidden;
    box-shadow: inset 0px 11px 15px -10px rgba(0, 0, 0, 0.1), inset 0px -11px 15px -10px rgba(0, 0, 0, 0.1);
    position: fixed;
    bottom: 1em;
    z-index: 100;
    max-width: 400px;
    right: 1em;
}

@keyframes example {
    from {
        opacity: 0;
        height: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
    to {
        opacity: 1;
        /*height:64.4px;*/
        height: 118.56px;
        padding-top: 1em;
        padding-bottom: 1em;
    }
}

#extensionHinweis>div {
    display: flex;
    align-items: center;
    max-width: 1350px;
    width: 100%;
    margin: auto;
}

.hinweistitle {
    font-size: 1.25em;
    font-weight: bold;
}

#extensionHinweis>div>div {
    width: 100%;
}

#extensionHinweis>div>div:first-child {
    background: url(/img/LanguageTool_Logo.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    height: 40px;
    width: 40px;
    margin-right: 1.25em;
}

#extensionHinweis p {
    margin: 0;
    padding: 0;
}

#extensionHinweis a {
    color: #fff;
}

#extensionHinweis a:hover {
    color: #000;
}

#extensionHinweis .hinweistitle a i {
    margin: 0 0.5em;
}

#extensionHinweis .hinweistitle a {
    color: #000;
    display: block;
    margin: 0.5em 0;
    text-decoration: none;
    font-size: 0.8em;
}

#extensionHinweis .hinweistitle a:hover {
    color: #fff;
}

#textfocus {
    opacity: 0;
    width: 20px;
    height: 20px;
    position: fixed;
    top: -30px;
    left: -30px;
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

* {
    box-sizing: border-box;
}

.row {
    --bs-gutter-x: 0.9rem;
    --bs-gutter-y: 0;
}

body {
    font-family: 'Open Sans', sans-serif;
    background: #f7f8fa;
    background: -moz-linear-gradient(180deg, rgba(247, 248, 250, 1) 0%, rgba(238, 238, 238, 1) 100%);
    background: -webkit-linear-gradient(180deg, rgba(247, 248, 250, 1) 0%, rgba(238, 238, 238, 1) 100%);
    background: linear-gradient(180deg, rgba(247, 248, 250, 1) 0%, rgba(238, 238, 238, 1) 100%);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#f7f8fa", endColorstr="#dadada", GradientType=1);
    background-attachment: fixed;
    font-size: 14px;
    /*-ms-overflow-style: none;
    scrollbar-width: none;*/
    overflow-y: scroll;
    min-height: 100vh;
    position: relative;
    padding: 4.1em 0 1em;
}

body#loginpage {
    padding: 0;
}
/*
body::-webkit-scrollbar {
    display: none;
}*/

::placeholder,
.form-control::placeholder {
    color: #ccc;
}

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

a:hover {
    color: #333;
}

.wrapper {
    padding-left: 2em;
    padding-right: 2em;
}

.relative {
    position: relative;
}

.flex {
    display: flex;
}

.flex>* {
    width: 100%;
}

.unwrap {
    flex-wrap: wrap;
}

.strong {
    font-weight: bold;
}

.nice-select .list {
    height: 0;
}

.nice-select.open .list {
    position: absolute;
    height: auto;
}

.text-end {
    max-width: 220px;
}

.text-end .btn {
    text-align: right;
    padding: 0;
    margin: 0;
    font-size: 0.8rem;
}

.pointer {
    pointer-events: none;
}


/* Login-Bereich ================================================*/

#login {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

#login>div {
    background: url(/img/PBA9PP0.jpg);
    display: block;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
}

#loginintro {
    height: 100vh;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

#loginintro>div {
    -webkit-box-shadow: 0 7px 14px 0 rgba(65, 69, 88, .08), 0 3px 6px 0 rgba(0, 0, 0, .04);
    box-shadow: 0 7px 14px 0 rgba(65, 69, 88, .08), 0 3px 6px 0 rgba(0, 0, 0, .04);
    position: relative;
    width: 400px;
    background: #fff;
    padding: 3.5em;
    margin: 0;
}

#loginintro svg {
    width: 100%;
    max-width: 200px;
    display: block;
    margin: 0 auto;
}

#loginintro .btn {
    font-size: 13px;
    display: block;
    width: 100%;
}

#loginintro .formfield {
    position: relative;
    margin-top: 1em;
}

#loginintro .input-icon {
    position: absolute;
    left: 0.4em;
    top: 0.5em;
    color: #ddd;
    font-size: 1.2em;
}

#loginintro .formfield label {
    padding-bottom: 0.5em;
}

#loginintro .btn-ohne {
    margin-top: 0.5em;
}

#loginintro .btn-ohne:hover {
    color: #fcb117;
}

#loginintro #passwort,
#loginintro #passwort2 {
    padding-left: 0.5em!important;
}

#loginintro .checkbox input {
    margin-right: 0.5em;
    display: inline-block;
    width: 20px;
}

.sublogo {
    text-align: center;
    color: #fcb117;
    font-size: 1.75em;
    text-transform: uppercase;
    margin-top: 0.65rem;
    margin-bottom: 1.5rem;
}


/* ===============================================
Header  ======================================= */

header {
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    -webkit-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.05);
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.05);
}

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

header li {
    display: inline-block;
    margin: 0 0.5em;
}

header .navbar {
    padding: 0;
}

header .navbar .container-fluid {
    padding: 0;
}

header .navbar-brand {
    padding: 0.5em 0 0.5em 1.5em;
    position: relative;
    display: flex;
    align-items: center;
}

header .navbar-nav>ul {
    padding: 0.7em;
}

header .navbar-nav>ul>li {
    text-transform: uppercase;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
    color: #fcb117;
}

.navbar-light .navbar-nav .nav-link.active {
    color: #fcb117;
}

.nav-link i {
    margin-right: 0.35em;
}

.navbar-light .navbar-nav .nav-link {
    color: rgba(0, 0, 0, 0.4);
}

.navbar-collapse {
    flex-grow: 0;
    height: 100%;
}

header .navbar-nav>ul#headericon {
    margin-left: 1.5em;
    background: #fcb117;
    position: relative;
    padding-right: 1.5em
}

header .navbar-nav>ul#headericon:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -25px;
    width: 0px;
    height: 0px;
    transform: rotate(360deg);
    border-style: solid;
    border-width: 0 25px 57px 0;
    border-color: transparent #fcb117 transparent transparent;
}

header .navbar-nav>ul#headericon>li {
    margin: 0;
}

ul#headericon a {
    color: #fff;
    position: relative;
}

ul#headericon a:hover {
    color: #000;
}

ul#headericon a:before {
    content: "";
    background: #fff;
    position: absolute;
    top: 0.65em;
    left: -0.5em;
    width: 1px;
    height: 20px;
}

ul#headericon li:first-child a:before {
    display: none;
}

ul#headericon a span {
    display: none;
}

.sublogotitle {
    color: #bbb;
    line-height: 1.35;
    font-size: 0.7em;
    margin: 0 0 0 1em;
    padding: 0 0 0 1em;
    border-left: 1px solid #ddd;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

#ohneIcon i {
    display: none;
}


/* ===============================================
Mainbereich  ================================== */

main {
    padding: 2em;
    max-width: 1400px;
    margin: auto;
}

section {
    margin-bottom: 2em;
}

h1 {
    font-size: 1.3em;
    line-height: 1.5em;
    margin-bottom: 1em;
    padding-bottom: 0.35em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

h2 {
    font-size: 1.2em;
    color: #fcb117;
    text-transform: uppercase;
    padding: 0.5em 0;
    margin: 0;
}

h3 {
    color: #fcb117;
    font-size: 1.1em;
}

#pills-tabContent h3,
#korrekturFix h3 {
    text-transform: uppercase;
    font-size: 1.2em;
    margin-bottom: 0.5em;
    color: #333;
}

img {
    width: 100%;
    display: block;
}

td p,
th p {
    margin: 0;
    padding: 0;
}

.card {
    background: none;
    border: none;
    margin-bottom: 1em;
}

.btn-icon {
    background: none;
    border: none;
    padding: 0;
    display: inline-block;
}

.card-body {
    background: #fff;
    border-radius: 0.5rem;
    position: relative;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.05);
}

.card-title {
    font-size: 1.15em;
    margin-bottom: 0.15em;
    color: #fcb117;
}

.card-icon {
    position: absolute;
    font-size: 2em;
    right: 0.5em;
    bottom: 0.25em;
    margin: 0;
    opacity: 0.1;
}

.list-p p {
    margin: 0 0 0.25em 0;
}

label {
    margin-top: 0.85em;
    margin-bottom: 0.35em;
    font-size: 0.85em;
}

.form-control {
    border-color: #efefef;
}

.form-control:focus {
    outline: none;
    box-shadow: none;
    border-color: #efefef;
    border-bottom-color: #fcb117;
}

button.navbar-toggler {
    border: none;
    padding: 0;
}

.navbar-toggler-icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.navbar-light .navbar-toggler-icon {
    background: none;
}

.tag {
    background: rgba(0, 0, 0, 0.05);
    padding: 0.5em 1em;
    display: inline-block;
    font-size: 0.75em;
    margin-top: 0.25em;
}


/*===   Kacheln im Auftrag   =========================*/

.priohinweis {
    color: #fcb117;
    margin-left: 0.5em;
}

#kachelBox {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 1em);
    margin: 0 -0.5em 1.5em;
    padding-bottom: 1em;
}

#kachelBox li {
    width: calc(100% / 5 - 1em);
    margin: 0.5em;
}

#kachelBox li button {
    text-align: left;
    width: 100%;
    background: #fff;
    -webkit-box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 5%);
    box-shadow: 0px 0px 5px 0px rgb(0 0 0 / 5%);
    border-radius: 0.25rem;
}

#kachelBox li button .counter {
    text-align: right;
    font-size: 0.85em;
    margin: 3em 0 0 0;
    padding: 0;
}

#kachelBox li button h2 span {font-size:0.6em;
    display:block;
color:#ccc;}

#filterBox {
    margin: 1em 0;
    text-align: right;
}

.form-check .form-check-input {
    float: none
}

.form-check-label {
    margin: 0;
    margin-left: 0.5em;
}

.form-check-input:focus {
    outline: none;
    box-shadow: none;
}

.form-check-input:checked {
    background-color: #fcb117;
    border-color: #fcb117;
}

.labelForm {
    color: #fcb117;
}

.autorbemerkung {
    background: #f7f7f7;
    padding: 0.5em 1em;
    margin-bottom: 1em;
    font-weight: bold;
}

.autorbemerkung p {
    margin: 0 0 0.25em;
}

.autorbemerkung p:not(:first-child) {
    font-weight: normal;
    margin: 0;
    padding-left: 1.8em;
}

.autorbemerkung i {
    margin-right: 0.5em;
    color: #e00000;
}

.selectindividuell {
    width: 100%;
    border: 1px solid #efefef;
    padding: 0.5em 0.75em;
}


/*===   Checkboxen virtuell Abfrage   =========================*/

.checkboxbtn,
.checkboxoptional {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #efefef;
    position: relative;
    cursor: pointer;
}

.optchecked:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0.25em;
    color: #333;
    content: "\f070";
}

.checked:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0.25em;
    color: green;
    content: "\f00c";
}

.korrekturInput {
    display: flex;
}

.korrekturInput input {
    padding: 0.5em;
    border: 1px solid #efefef;
}

.korrekturInput>div:first-child,
.korrekturInput>div:nth-child(2) {
    margin-right: 10px;
    text-align: center;
    width: 30px;
}

.korrekturInput>div:nth-child(3) {
    margin-left: 10px;
    width: calc(100% - 130px);
}

.korrekturInput.tablehead {
    margin-bottom: 0.5em;
}

.complete button {
    background: green!important;
    border-color: transparent!important;
}

.complete button * {
    color: #fff;
}

.tab-pane>.ja,
.jahidden>.opt {
    display: none;
}

.jahidden>.ja,
.jahidden>.opt {
    display: flex;
}

.lowopacity {
    opacity: 0.3;
}


/*=== RichText-editor =========================*/

.sun-editor,
.sun-editor .se-resizing-bar {
    border-color: #efefef;
}

.sun-editor .se-toolbar {
    outline: 1px solid #efefef;
}

.sun-editor textarea {
    border: none;
}

.sun-editor,
.sun-editor-editable {
    font-family: 'Open Sans', sans-serif;
}

.sun-editor .se-wrapper .se-wrapper-inner {
    min-height: 100%;
}

.sun-editor .se-btn-module-border {
    border: none;
}

.sun-editor-editable {
    font-size: 14px;
}

.sun-editor .se-wrapper {
    height: 300px;
    overflow-y: scroll;
}

.sun-editor .se-line-breaker-component {
    width: 30px;
    height: 30px;
    background-color: #fcb117;
    border: none;
    opacity: 1;
    left: auto!important;
    right: 30px!important;
}

.se-line-breaker-component svg {
    width: 30px;
}

.se-line-breaker-component svg path {
    fill: #fff;
}

.se-controller.se-resizing-container {
    width: calc(100% - 7em)!important;
}

.se-modal-resize {
    width: 100%!important;
}

.sun-editor-editable figure {
    padding-right: 3em;
}

.sun-editor .se-svg,
.sun-editor button>svg {
    width: 13px;
    height: 13px;
}

.sun-editor .se-btn:enabled.active {
    color: #fcb117;
}

.sun-editor .se-toolbar.se-toolbar-sticky,
.sun-editor .se-toolbar {
    position: relative;
    z-index: 2;
}

.se-list-icon svg {
    width: auto;
}


/*===   Kommentarfunktion   =========================*/

.comment {
    margin-bottom: 2em;
}

.comment-head {
    border-bottom: 1px solid #efefef;
    color: #bbb;
    font-size: 0.8em;
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    align-items: center;
    margin-bottom: 0.5em;
}

.comment-head>div {
    width: 100%;
}

.comment-head>div:last-child {
    text-align: right;
}

#fileupload {
    margin-top: 1em;
    padding: 0.5em;
    border: 1px solid #efefef;
    width: 100%;
    display: block;
}

.vorschaufile {
    width: 200px;
    padding: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #efefef;
    font-size: 3em;
    display: block;
    margin-right: 1.5rem;
}

.imagebutton {
    width: 200px;
    display: block;
    margin-right: 1.5rem;
}

.comment-body {
    display: flex;
    width: 100%;
}

.bildvorschaumodal {
    background: rgba(0, 0, 0, 0.8);
}

.bildvorschaumodal {
    background: rgba(0, 0, 0, 0.8);
}

.bildvorschaumodal .modal-dialog {
    max-width: 90vw;
}

.bildvorschaumodal .close {
    font-size: 2em;
    background: none;
    color: #fff;
    border: none;
}

.bildvorschaumodal .modal-content {
    background: none;
}

.bildvorschaumodal .modal-header {
    padding: 0.5em;
    justify-content: flex-end;
}

.bildvorschaumodal .modal-body {
    padding: 0;
}

.imagebutton {
    background: none;
    border: none;
    padding: 0;
}

#screenshot {
    margin-top: 1em;
}

#screenshot h2 {
    color: #fcb117;
    font-size: 18px;
}

#screenshot p {
    font-size: 0.8em;
}


/*=== Rechtschreibprüfung checken ==============*/

.hinweistext {
    font-size: 0.8em;
    font-style: italic;
}

.hinweistext span {
    font-weight: bold;
    color: #fcb117;
}

#anzeigentextbtn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f7f7f7;
    padding: 0.75em 1.25em;
    margin-bottom: 1em;
    cursor: pointer;
}

#anzeigentextvorschau {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.75);
    height: 100vh;
    display: flex;
    align-items: center;
    z-index: 101;
    opacity: 0;
    transition: all 0.5s ease-in-out;
    pointer-events: none;
}

#anzeigentextarea {
    width: 100%;
    height: 250px;
    padding: 0.75em;
    border-color: #efefef;
}

#anzeigentextvorschau.showModalvorschau {
    pointer-events: unset;
    opacity: 1;
}

#anzeigentextvorschau>div {
    max-width: 750px;
    width: 100%;
    margin: auto;
    background: #fff;
    padding: 1.5em;
}

#anzeigentextbtn:hover {
    background: #efefef;
}

#anzeigentextbtn p {
    padding: 0;
    margin: 0;
}

#anzeigentextbtn span {
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-size: cover;
}

#anzeigentextbtn i {
    margin-right: 0.35em;
}

#closeVorschau {
    width: 100%;
    font-size: 1.4em;
    margin-bottom: 0.5em;
    display: block;
    text-align: right;
    cursor: pointer;
}

#closeVorschau:hover {
    color: #fcb117;
}

#hinweisvorschau {
    font-style: italic;
    font-size: 0.8em;
}

#anzeigenvorschaubtn {
    text-align: right;
    margin-top: 1em;
}


/*=== Modal-Boxen =========================*/

.modal-body {
    text-align: left;
}

.modal-body.flex {
    flex-wrap: wrap;
}

.modal-body.flex>div:first-child {
    padding-right: 1.5em;
}

.modal-body.flex>div:nth-child(2) {
    padding-left: 1.5em;
}

.modal-body.flex>div:first-child,
.modal-body.flex>div:nth-child(2) {
    width: 50%;
}

.modal-body.flex>div:nth-child(3) {
    margin-top: 3em;
}

#formularModal .flex>div:nth-child(2) {
    padding-left: 1em!important
}

.modal-footer,
.modal-header {
    border: none;
}

.modal-title {
    color: #fcb117;
    font-size: 1.5em;
    font-weight: 400;
}

.optOption {
    margin-bottom: 3em;
}

.modal-body h6,
#korrform h6 {
    font-size: 0.9em;
    border-bottom: 1px solid #fcb117;
    padding-bottom: 0.3em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: left;
}

.formFlex + h6,
.mt-large {margin-top:2em;}

.modal-subbody {
    padding: 1rem;
}


/* Buttons ================================== */

.btn-primary,
.sun-editor-editable .btn-primary {
    background: #fcb117;
    color: #fff;
    text-decoration: none;
    margin-bottom: 0.5em;
    border: none;
    font-size: 1em;
}

.btn-primary:hover,
.sun-editor-editable .btn-primary:hover {
    background: #333;
    color: #fff;
    text-decoration: none;
    border: none;
    outline: none;
}

.btn-check:focus+.btn-primary,
.btn-primary:focus,
.btn-check:checked+.btn-primary:focus,
.btn-check:active+.btn-primary:focus,
.btn-primary:active:focus,
.btn-primary.active:focus,
.show>.btn-primary.dropdown-toggle:focus {
    background-color: #333;
    box-shadow: none;
}

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

.btn-secondary {
    background: #333;
    border: none;
    font-size: 1em;
}

.btn-secondary:hover {
    background: #fcb117;
    border: none;
    outline: none;
}

.btn-check:focus+.btn-secondary,
.btn-secondary:focus,
.btn-check:checked+.btn-secondary:focus,
.btn-check:active+.btn-secondary:focus,
.btn-secondary:active:focus,
.btn-secondary.active:focus,
.show>.btn-secondary.dropdown-toggle:focus {
    background-color: #fcb117;
    box-shadow: none;
}

.btnbox {
    text-align: left;
    margin-bottom: 0.25em;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.btnbox>* {
    width: 100%;
}

.btn-add {
    display: inline-block;
    background: #333;
    color: #fff;
    width: 200px;
    margin-bottom: 0.5em;
    text-align: center;
    font-size: 0.9em;
}

.btn-add:hover {
    color: #fcb117;
}

.btn-add i {
    margin-right: 0.5em;
}

.btn-actiontext {
    background: none;
    border: none;
    padding: 0;
    text-align: right;
    color: #fcb117;
}

.btn-actiontext:hover {
    color: #333;
}

.btn-right {
    text-align: right;
    display: block;
    margin-top: 1em;
}

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

.btn-info {
    background: #aaa;
    border: none;
    margin-bottom: 0.5em;
    color: #fff;
    font-size: 12px;
    display: block;
    margin-right: 4em;
}

.btn-info:hover {
    background: #fcb117;
    color: #fff;
}

.zwischenspeichern {
    background: none;
    font-size: 0.9em;
    color: #aaa;
    border: none;
    position: absolute;
    top: 0;
    right: 0;
}

.zwischenspeichern i {
    margin-right: 0.3em;
}

.zwischenspeichern:hover {
    color: #fcb117;
}

.fertigbtn {
    width: 100%;
    display: block;
}

.btn-text {
    background: none;
    cursor: pointer;
    padding: 0;
    color: #fcb117;
    border: none;
}

.btn-text:hover {
    color: #333;
}


/* Dashboard ================================== */

.dash {
    display: flex;
}

.dashcounttext {
    font-size: 1.2em;
    width: 100%;
    margin: 0;
    padding: 0;
}

.dashcount {
    font-size: 1.35em;
    width: 100px;
    color: #fcb117;
    margin: 0;
    padding: 0;
    text-align: right;
}


/* Tabs  ================================== */

.nav-pills {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    border-bottom: 1px solid #efefef;
}

.nav-pills .nav-link,
.nav-pills .show>.nav-link {
    color: #333;
    border-radius: 0;
    border-bottom: 2px solid transparent;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    background: none;
    color: #333;
    border-bottom-color: #fcb117;
}

.nav-pills .nav-link:hover {
    border-bottom: 2px solid #fcb117;
}


/* Customs  ================================== */

.rowuser {
    width: 200px;
}

.actionbutton {
    color: #333!important;
    font-size: 0.7em;
}

.smallicon {
    font-size: 0.8em;
}

.smallicon+.actionbutton {
    margin-left: 1em;
}

.actionbutton:hover {
    color: #fcb117!important;
}

.prio {
    max-width: 50px;
    text-align: right;
    font-size: 1.4em;
}

.prio>i {
    color: #fcb117
}

.action {
    text-align: center;
}

table.dataTable thead .action.sorting,
table.dataTable thead .prio.sorting {
    background: none;
}


/* Searchbar ================================== */

#searchbar {
    position: fixed;
    left: 282px;
    top: 0.65em;
    width: calc(100% - 900px);
    display: flex;
    align-items: center;
}

#searchbar input {
    border: none;
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    padding: 0.5em 2.5em 0.5em 1em;
}

#searchbar input:focus {
    outline: none;
    border-color: #fcb117;
}

#searchbar button {
    position: absolute;
    color: #999;
    background: none;
    border: none;
    right: 1em;
    padding: 0;
}


/* Formulare  ================================== */

#formbox {
    display: flex;
    align-items: flex-start;
    width: 100%;
    padding-bottom: 1em;
    margin-bottom: 1em;
    border-bottom: 1px solid #efefef;
}

.formgroup {
    margin: 0.5em 0.5em 1.5em;
}

.form-control {
    display: block;
    width: 100%;
}

.formsection {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.formsection>.formgroup {
    width: calc(50% - 1em);
}

#grunddaten {
    width: 100%;
    padding-right: 2.5em;
}

input[type="color"] {
    height: 25px;
    padding: 0;
    width: 25px;
    min-width: 25px;
}

#farbenwahl {
    display: flex;
    max-width: 350px;
    flex-wrap: wrap;
}

#farbenwahl>h2,
#grunddaten>h2 {
    width: 100%;
    margin: 0 0 0.9em;
}

#farbenwahl>div {
    width: calc(50% - 1em);
    margin: 0 0.5em 1.5em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #efefef;
    padding: 0.5em;
}

div#farbenwahl label {
    margin: 0;
    width: 100%;
}

#socialmedia {
    margin: 2em 0;
}

#socialmedia .formgroup {
    display: flex;
    width: 100%;
    align-items: center;
}

#socialmedia .formgroup>div {
    width: 100%;
}

#socialmedia .formgroup>div:first-child {
    max-width: 40px;
}

#socialmedia .formgroup i {
    font-size: 2em;
}


/*form h2 {
  color:#fcb117;
  margin-top:2em;
  font-size:1.25em;
  border-bottom:1px solid #fcb117;
  padding-bottom:0.2em;
}*/

.filebox {
    position: relative;
}

.fileinput {
    font-size: 0.85em;
    display: inline-block;
    cursor: pointer;
    margin: 0.5em;
}

.fileinput i {
    color: #fcb117;
    margin-right: 0.3em;
}

.filevorschau {
    display: none;
}

.fileinput:hover+.filevorschau {
    display: inline-block;
    width: auto;
    position: absolute;
    z-index: 10;
    top: 2em;
    left: 0;
    max-width: 400px;
    background: #fff;
    padding: 1em;
    border-radius: 10px;
    -webkit-box-shadow: 0 7px 14px 0 rgba(65, 69, 88, .08), 0 3px 6px 0 rgba(0, 0, 0, .04);
    box-shadow: 0 7px 14px 0 rgba(65, 69, 88, .08), 0 3px 6px 0 rgba(0, 0, 0, .04);
}

#formAbfrage {width:100%;
    gap:4em;}

/*=== Korrektur anlegen & bearbeiten =========================*/

.formFlex {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    text-align: left;
}

.formFlex>div {
    width: 100%;
    margin: 0.75em 0;
}

.formFlex>div:first-child {
    max-width: 170px;
    text-align: left;
    padding-right: 1em;
}

#korrform input[type='text'],
#korrform input[type='number'],
#korrform input[type='url'],
#korrform input[type='date'],
#korrform input[type='email'],
#korrform input[type='password'],
#korrformselect,
#korrform textarea {
    width: 100%;
    border: 1px solid #efefef;
    padding: 0.5em 0.75em;
}

#korrform textarea {
    height: 292px;
}

.formFlex>div.formCheckBoxen {
    max-width: 100%;
}

.formCheckBoxen>div:not(:last-child) {
    margin-bottom: 0.5em;
}

.priobox {
    text-align: right;
    padding-right: 1.5em;
}


/*==========  Erfolgsbanner  ===============*/

#erfolgsbanner {
    background: #333;
    color: #fff;
    position: relative;
    border-radius: 8px;
    margin: 0 0 1em 0;
    display: flex;
    align-items: center;
    padding: 0 1em 0.7em;
}

#erfolgsbanner img {
    max-height: 20px;
    filter: brightness(0) invert(1);
    width: auto;
    position: absolute;
    top: 0.75em;
    right: 1em;
}

#erfolgsbanner p {
    margin: 0.5em 0 0;
    padding: 0;
}

#erfolgsbanner i {
    font-size: 2.25em;
    display: inline-block;
    margin-right: 0.5em;
    color: #fcb117;
}

#erfolgsbanner span {
    color: #fcb117;
}


/*==========  Adminbereich  ===============*/

.adminnav {
    color: #333;
    text-decoration: none;
}

.adminnav .card {
    background: none;
}

.adminnav .card-body {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.adminnav .card-body>div:first-child {
    width: 100%;
    padding-right: 1em;
}

.adminnav .card-body>div:last-child {
    width: 90px;
    text-align: center;
}

.adminnav p {
    margin: 0;
}

.adminnav i {
    font-size: 4.5em;
    opacity: 0.1;
}

.adminnav:hover .card-body {
    background: #fcb117;
    color: #fff;
}

.adminnav:hover .card-body h2 {
    color: #fff;
}

.adminnav:hover i {
    opacity: 0.2;
}

.richText-btn {
    color: #333;
}

.sortable {
    padding-left: 2.5em;
}

.sortable>div {
    background: #fff;
    position: relative;
}

.sortable>div:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f338";
    position: absolute;
    top: 0;
    left: -1.5em;
    font-size: 1.5em;
    color: #ccc;
    cursor: grabbing
}

.korredit .nice-select,
.korrselect {
    max-width: 300px;
}

.korredit .nice-select .current {width:calc(100% - 1em);
overflow: hidden;}

.icontabelle {
    width: 30px!important;
    margin: 0 0.5em;
    text-align: center;
}

.korrekturInput {
    width: 100%;
    align-items: center;
    margin: 0.5em 0;
}

#excelBeispiel {
    margin: 1.5em 0;
    width: 100%;
}

#excelBeispiel img {
    max-width: 949px;
}


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

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

@-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: 60px;
    padding-left: 20px;
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    line-height: 1.2;
}

.alerts .alert .copy h4 {
    font-size: 18px;
    font-weight: 200;
    margin-bottom: 12px;
}

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

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

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

.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;
    }
}


/* Pagination Tabelle  ================================== */

table.dataTable tbody tr.odd {
    background: #f7f7f7;
}

table.dataTable.no-footer {
    border-bottom: 1px solid #ddd;
}

table.dataTable thead th,
table.dataTable thead td {
    border-bottom: 1px solid #ddd;
}

.dataTables_info,
.dataTables_paginate,
table.dataTable {
    margin-top: 1em;
}

.dataTables_info,
.dataTables_paginate {
    font-size: 0.8em;
}

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

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    border: 1px solid #ddd!important;
    background: none;
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
    background-position: center left;
}

table.dataTable thead .sorting {
    padding-left: 1.5em;
}

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

#auftragstabelle_filter {
    width: calc(100% - 60px);
    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;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:active {
    outline: none;
    background: none;
    box-shadow: none;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    color: #fcb117 !important;
    border: none;
    background: none;
    box-shadow: none;
}

.dataTables_paginate .disabled {
    display: none!important;
}

table.dataTable tbody th,
table.dataTable tbody td {
    padding: 12px;
}

.produktrolle {font-size:0.8em;
display:block;}

.produktrolle i {margin-right:0.5em;
    opacity:0.2;
    font-size:0.8em;}

.tabellenbild {
    max-height: 100px;
    width: auto;
}

#auftragstabelle_wrapper {
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

#auftragstabelle_wrapper::-webkit-scrollbar {
    display: none;
}

th {
    width: auto!important
}

th.dateitabelle {
    width: 200px!important;
}

th.idtabelle {
    width: 55px!important;
}

th.actionbuttons {
    width: 75px!important;
}

.suchetabelle .dataTables_length,
.suchetabelle .dataTables_filter {
    display: none;
}


/* Eigene Tabellen  ================================== */

div.tableWrapper table {
    width: 100%;
}

div.tableWrapper table th {
    cursor: pointer;
}

div.tableWrapper table th.active.asc::before,
div.tableWrapper table th.active.desc::before {
    content: '\f078';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    margin: 0 8px;
    color: #fcb117;
    font-size: 0.9em;
}

div.tableWrapper table th.active.desc::before {
    transform: rotate(180deg);
}

div.tableWrapper tbody tr:nth-child(odd) {
    background: rgba(0, 0, 0, 0.03);
}

div.tableWrapper tr a {
    color: #333;
    text-decoration: none;
}

div.tableWrapper tr a:hover {
    color: #fcb117;
}

div.tableWrapper table td,
div.tableWrapper table th {
    padding: 0.5em 1em;
}

div.tableWrapper tr>*:last-child {
    text-align: right;
}

.statistiktabelle {
    padding: 0.5em 1em;
    width: 100%;
    display: block;
    text-decoration: none;
    color: #000;
}

h2+.statistiktabelle {
    margin-top: 0.5em;
}

.statistiktabelle:nth-child(even) {
    background: rgba(0, 0, 0, 0.03);
}

a.statistiktabelle:hover {
    background: #fcb117;
    color: #fff
}

a.statistiktabelle:hover input {
    color: #fff;
    background: none;
}

.statistiktabelle p {
    margin: 0;
    padding: 0;
}

.statistiktabelle.flex>div:last-child,
a.statistiktabelle .flex>div:last-child {
    text-align: right;
}

.statistiktitle {
    font-size: 1.2em;
    margin: 0;
}

.col-12.statistiktabelle {
    padding: 1em;
}

input[disabled] {
    text-align: right;
    width: auto;
    padding: 0;
    border: none;
    background: none;
}

.exportEXl {cursor: pointer;
padding:0.25em 0.5em;
border-radius:5px;}

.exportEXl:hover {color:#fcb117;}

.exportEXl::before {
    font-family: "Font Awesome 5 Free"; 
    font-weight: 900; 
    content: "\f6dd";
    color:#fcb117;
    margin-right:0.5em;
  }


/* Filteransicht  ================================== */

#filter {
    width: 100%;
    font-size: 0.85em;
    padding: 0;
}

#filter .flex {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    align-items: center;
    margin: 1em 0;
}

#filter .flex>* {
    width: auto;
}

#filter input {
    width: 25%!important;
    border: none;
    border-bottom: 1px solid #efefef;
    background: rgba(255, 255, 255, 0.2);
    cursor: pointer;
    padding: 0.75em;
}

#filter input:focus {
    outline: none;
    border-color: #fcb117;
}

#filter button,
#filter a {
    width: 150px;
    margin-left: 1em;
    background: #333;
    color: #fff;
    font-size: 0.95em;
    min-width: 90px;
}

#filter button:hover,
#filter a:hover {
    background: #fcb117;
}

#filter .flex span {
    margin-right: 1em;
}

.standortselect {
    font-size: 0.9em;
    width: 25%!important;
}


/* Footer  ================================== */

footer {
    position: absolute;
    bottom: 0;
    right: 2em;
    opacity: 0.3;
}


/* Media Queries  ================================== */

@media all and (max-width:1400px) {
    .col-3 {
        width: 50%;
    }
    #kachelBox li {
        width: calc(100% / 3 - 1em);
    }
}

@media all and (max-width:1100px) {
    #ohneIcon i {
        display: inline-block;
        font-size: 1.15em;
    }
    #ohneIcon span {
        display: none;
    }
    #ohneIcon li {
        margin: 0;
    }
    #searchbar {
        width: calc(100% - 600px);
    }
}

@media all and (max-width:991px) {
    header .navbar-nav {
        padding: 0;
        margin: 1em 0 0 0;
    }
    header .navbar-nav li {
        display: block;
        margin: 0;
        padding: 0 1em;
    }
    .navbar-toggler {
        margin-right: 1.5em;
    }
    header .navbar-nav>ul#headericon {
        margin: 0;
        background: none;
        border-top: 1px solid #efefef;
    }
    header .navbar-nav>ul#headericon a span {
        display: inline-block;
    }
    header .navbar-nav>ul#headericon a i,
    header .navbar-nav>ul#headericon a:before,
    header .navbar-nav>ul#headericon:before {
        display: none;
    }
    ul#headericon a {
        color: rgba(0, 0, 0, 0.4);
    }
    .formsection>.formgroup {
        width: 100%;
    }
    thead,
    tbody,
    tfoot,
    tr,
    td,
    th {
        width: 100%;
        display: block;
    }
    table.dataTable tbody th,
    table.dataTable tbody td {
        padding: 0;
    }
    table.dataTable tbody th,
    table.dataTable tbody tr {
        padding: 1em
    }
    thead {
        display: none;
    }
    table.dataTable.no-footer {
        min-width: unset;
        width: 100%;
    }
    .rowid {
        display: none;
    }
    .rowtitle {
        font-size: 1.2em;
        font-weight: 600;
    }
    #ohneIcon i {
        display: none
    }
    #ohneIcon span {
        display: block;
    }
    #ohneIcon li {
        margin: 0;
    }
    #searchbar {
        width: calc(100% - 350px);
    }
    .col-4,
    .col-6 {
        width: 100%;
    }
    .action,
    .prio {
        max-width: unset;
        text-align: right;
    }
    .modal-body.flex>div:first-child,
    .modal-body.flex>div:nth-child(2) {
        width: 100%;
        padding: 0;
        margin-bottom: 3.5em;
    }
    .col-sm-6 {
        width: 100%;
    }
    #kachelBox li {
        width: calc(100% / 2 - 1em);
    }
}

@media all and (max-width:800px) {
    #kachelBox li {
        width: 100%;
    }
    #filter .flex {
        flex-wrap: wrap;
    }
    #filter input,
    .standortselect {
        width: 100%!important;
        margin-bottom: 1em!important;
    }
    #filter button,
    #filter a {
        margin: 0.5em 0;
    }
}


/* ==========================================================================
   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 only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}


/* ==========================================================================
   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;
    }
}