/*! HTML5 Boilerplate v7.3.0 | MIT License | https://html5boilerplate.com/ */


/* main.css 2.0.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;
    height: 100%;
}


/*
 * 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
 */

button,
input,
optgroup,
select,
textarea {
    line-height: 1.6em;
}

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;
    font-family: 'Open Sans', sans-serif;
}


/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

.voruebergehendInaktiv {
    display: none !important;
}

.fe-d-none,
.d-none {
    display: none !important
}

* {
    box-sizing: border-box;
}

body {
    padding: 0;
    margin: 0;
    width: 100%;
    min-height: 100%;
    font-family: 'Open Sans', sans-serif;
    background: #efefef;
    position: relative;
}

img {
    width: 100%;
    display: block;
}

a {
    text-decoration: none;
    color: #000;
}

#kundennummer {
    display: inline-block;
    margin-left: 0.5em;
}

.italic {
    font-style: italic;
}

.strong {
    font-weight: bold;
}

.table {
    display: table;
    width: 100%;
    height: 100%;
}

.flex {
    display: flex;
}

.valignTop {
    align-items: flex-start !important;
}

div.modul-container .valignTop h3 {
    margin-top: 0 !important;
}

.half {
    width: 50%;
}

.half:first-child {
    padding-right: 1.5em;
}

.table>* {
    display: table-cell;
    vertical-align: top;
}

#loginintro {
    width: 550px;
    height: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
}

#loginintro img {
    max-width: 250px;
    display: block;
    margin: 0 auto 3em;
}

#loginintro .center {
    max-width: 400px;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
}

#loginintro .center>div {
    width: 100%;
}

#loginintro input {
    width: 100%;
    padding: 0.5em 0.5em 0.5em 2.5em;
    border: none;
    border-bottom: 1px solid #ddd;
    font-size: 1em;
}

form[name="login"] .form-group {
    position: relative;
    margin-bottom: 1em;
}

form[name="login"] .form-group .input-icon {
    position: absolute;
    left: 0.5em;
    top: 0.5em;
    color: #ddd;
}

form.userForm {
    margin-top: 1em;
    display: none;
}

form.userForm .form-group input {
    width: 100%;
    margin-bottom: 1em;
    padding: 0.5em;
}

.gpAuswahl {
    cursor: pointer;
}

.gpAuswahl:hover {
    color: #004376;
}

.gpAuswahl span {
    font-weight: 600;
    margin: 0 0.3em;
    display: inline-block;
}

.gpAuswahl i {
    margin-right: 0.5em;
}

.formHalf {
    display: flex;
    justify-content: space-between;
}

.formHalf .form-group {
    width: calc(50% - 0.5em);
}

#loginintro button {
    background: #004376;
    margin: 0 auto;
}

#loginintro button:hover {
    background: #004376;
}

.linktext {
    font-size: 0.85em;
    margin-bottom: 0;
    text-align: right;
}

.linktext i {
    margin-left: 0.5em
}

.formularSutter>p {
    margin: 0 0 1em 0;
    padding: 0;
    font-weight: bold;
}

.formularSutter>.btn {
    margin: 0;
    color: #fff;
    max-width: auto;
    display: inline-block;
}

.formularSutter>.btn i {
    margin-right: 0.5em;
}

button#passwordForgotten,
button#userForgotten {
    text-align: center;
    background: none;
    border: none;
    outline: none;
    color: #004376;
    font-size: 0.8em;
    display: block;
    width: 100%;
    cursor: pointer;
}

button#passwordForgotten:hover,
button#userForgotten:hover {
    background: none;
    border: none;
    outline: none;
    color: #004376;
}

button#passwordForgotten i,
button#userForgotten i {
    margin-right: 0.5em;
}

#passwordForgotten-Modal,
#userForgotten-Modal {
    z-index: 99999;
}

div#passwordForgotten-Modal .modal-content,
#userForgotten-Modal .modal-content {
    max-width: 600px;
}

div#passwordForgotten-Modal .modal-content .content,
#userForgotten-Modal .modal-content .content {
    width: 100%;
    padding-top: 0;
}

div#passwordForgotten-Modal .modal-content .input-icon {
    width: 30px;
    display: inline-block;
}

div#passwordForgotten-Modal .modal-content .input-icon+input.form-control {
    width: calc(100% - 30px);
    padding: 0.5em;
}

#bildintro {
    display: flex;
    align-items: center;
    position: relative;
    background-image: url("../img/backgroundSLM.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    min-height: 100vh;
    padding: 1em 2em;
    margin-left: 550px;
    width: calc(100% - 550px)
}

#bildintro>div {
    justify-content: space-between;
    display: flex;
    flex-wrap: wrap;
}

#bildintro:before {
    content: "";
    right: 10%;
    position: fixed;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+1,ffffff+100&1+34,0+100 */
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 1) 1%, rgba(255, 255, 255, 1) 34%, rgba(255, 255, 255, 0) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 1) 1%, rgba(255, 255, 255, 1) 34%, rgba(255, 255, 255, 0) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 1%, rgba(255, 255, 255, 1) 34%, rgba(255, 255, 255, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=1);
    /* IE6-9 */
    width: calc(90% - 550px);
    top: 0;
    height: 100%;
}

.werbebanner {
    position: relative;
    outline: none;
    border: none;
    text-align: left;
    cursor: pointer;
    font-size: 1rem;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    height: auto;
    z-index: 1;
    width: calc(50% - 0.75em);
    background-color: #fff;
    padding: 3em 1.5em 1.5em 1.5em;
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    margin: 0.75em 0
}

.werbebanner .icon {
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    width: 70px;
    height: 70px;
    background: #fff;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    margin-bottom: 0.5em;
}

.werbebanner h2 {
    font-size: 1.4em;
}

.werbebanner h2:after {
    content: "";
    display: block;
    width: 70px;
    height: 3px;
    background: #004376;
    margin-top: 0.5em;
}

.werbebanner p {
    line-height: 1.6em
}

.werbebanner ul {
    list-style: none;
    font-size: 0.8em;
}

.modal-dialog ul {
    list-style: none;
}

.werbebanner ul i,
.modal-dialog ul i {
    margin-left: -28px;
    margin-right: 10px;
    color: #004376;
}

.werbebanner:hover {
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
}

.werbebanner:hover .linktext {
    color: #004376;
}

.modal h3 {
    font-size: 1.4em;
    margin-top: 0;
    color: #004376;
}


/*
.modal h3:after {content:"";
	display:block;
	width:70px;
	height:3px;
	background:#004376;
	margin-top:0.5em;}
*/

#banner-SEO-Listing {
    background-image: url("../img/seo-listing_xsutter-local-media-05.jpg");
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

#banner-GoogleBeitraege {
    background-image: url("../img/google-beitraege_sutter-local-media-07.jpg");
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

#banner-Bewertungsmonitoring {
    background-image: url("../img/bewertungsmonitoring_sutter-local-media-06.jpg");
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

#banner-ProGoogleSet {
    background-image: url("../img/Pro-Google-Set.jpg");
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

#banner-Website {
    background-image: url("../img/sutter-local-media-13.jpg");
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

#banner-Website2 {
    background-image: url("../img/websitecheck_sutter-local-media-09.jpg");
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.modal-dialog {
    display: flex;
    align-items: center;
    height: 100%;
}

#userForgotten-Modal .modal-dialog {
    align-items: flex-start;
    height: auto;
}

.modal-content {
    position: relative;
    overflow: hidden;
}

.modal .close {
    position: absolute;
    top: 0.3em;
    right: 0.4em;
    border: none;
    outline: none;
    z-index: 1;
    background: #004376;
    border-radius: 100px;
    width: 40px;
    height: 40px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

span.close {
    font-size: 1em;
    padding-top: 0.5em;
}

.modalimg {
    position: absolute;
    right: 0;
    top: 0;
    width: auto;
}

.content {
    position: relative;
    z-index: 1;
    text-align: left;
    width: 65%;
}

.btn:hover {
    background: #000;
}

.btn {
    cursor: pointer;
    display: block;
    border: none;
    background: #004376;
    color: #fff;
    margin: 25px 0 0;
    padding: 1em 2em;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

header {
    background: #fff;
    display: table;
    width: 100%;
    border-bottom: 2px solid #004376;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
}

header>div {
    display: table-cell;
    vertical-align: middle;
}

#logo,
nav {
    width: 300px;
}

#logo img {
    width: 150px;
}

#logo {
    border-right: 1px solid #efefef;
}

/* Tooltip CSS */
.csstooltip {
    position: relative;
    display: inline-block !important;
    width: auto !important;
    margin: 0 0.5em;
    color: #bbb;
    white-space: normal;
}

[data-tooltip]:before,
[data-tooltip]:after {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    -webkit-font-smoothing: antialiased;
    margin: 0 auto;
    opacity: 0;
    visibility: hidden;
    z-index: 9;
    transition: 0.3s ease-in-out 0.2s;
}

[data-tooltip]:before {
    content: "";
    height: 0;
    width: 0;
    top: calc(100% - 9px);
    border-style: solid;
    border-width: 10px;
    border-color: transparent transparent #333 transparent;
}

[data-tooltip]:after {
    content: attr(data-tooltip);
    background: #333;
    padding: 0.5rem 1rem 0.5rem 1rem;
    font-size: 0.65rem;
    box-sizing: border-box;
    top: calc(100% + 11px);
    color: #fff;
    border-radius: 2px;
    text-shadow: 0px 1px 1px #000;
    z-index: 9;
    max-width: 350px;
    min-width: 200px;
    text-align: center;
}

[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
    opacity: 1;
    visibility: visible;
    transition: 0.4s ease-in-out 0.3s;
}

form.userForm .tooltip i.fa-info-circle {
    top: 0.2em;
    font-size: 1em;
}

form.userForm .tooltip .tooltiptext {
    left: calc(50% - 137px);
    width: 300px;
    bottom: 2em;
}





/*Navigation Anfang*/

nav {
    display: table;
    z-index: 990;
    background: #fff;
    height: 100%;
    position: fixed;
    top: 67px;
    padding-top: 67px;
    left: 0;
    overflow: hidden;
}

nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

nav ul a {
    padding: 1em 1.5em;
    display: block;
    color: #000;
}

nav ul li {
    position: relative;
}

nav ul .notification {
    background: #004376;
    text-align: center;
    padding: 0.3em;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    width: 25px;
    height: 25px;
    position: absolute;
    color: #fff;
    font-size: 0.8em;
    top: 1em;
    left: 260px;
}

nav ul a i {
    color: #004376;
    margin-right: 1em;
    width: 22px;
}

nav ul a:hover {
    background: #f7f7f7;
}

nav ul a.active {
    background: #004376;
    color: #fff;
}

nav ul a.active i {
    color: #fff;
}

nav ul.submenu li a {
    background: #ffecc4;
}

nav ul.submenu li a:hover {
    background: #ffe1a2;
}

nav i.dropDown {
    position: absolute;
    left: 258px;
    top: 10px;
    color: #fff;
    padding: 10px;
    cursor: pointer;
}

.panel-inner {
    width: calc(100% + 20px);
    overflow: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0px;
    -webkit-overflow-scrolling: touch;
}


/* Sterne Bewertungen */

.stars {
    display: block;
    width: 5rem;
    background-position: 0 -1rem;
    position: relative;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.stars,
.stars .starsOrange {
    height: 1rem;
    background-image: url(../img/stars.png);
}

.stars .starsOrange {
    background-position: 0 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

#wertungstars.stars,
.wertungstars.stars {
    display: inline-block;
}


/* Nur Firefox */

@-moz-document url-prefix() {
    .panel-inner {
        width: 100%;
    }
}


/*Navigation Ende*/

main {
    padding-left: calc(300px + 3vw);
    padding-top: calc(67px + 3em);
    padding-right: 3vw;
    padding-bottom: 3em;
}


/*Passing-Anpassung für absolut positioniertes banner (Content verschieben analog Bannerhöhe)*/

body#module main {
    padding-bottom: calc(1.5em + 150px);
}


/*Typoraphie Anfang*/

h1 {
    font-size: 1.8em;
    font-weight: 400;
    margin-top: 0;
}

h2 {
    font-size: 1.5em;
    font-weight: 400;
    padding-top: 0.5em;
    margin-top: 0;
    color: #004376;
}

h3 {
    margin-bottom: 0;
    font-size: 1em;
}

.auszeichnung {
    font-weight: 700;
    text-transform: uppercase;
}

a {
    color: #004376;
}

a:hover {
    color: #004376;
}


/*Typoraphie Ende*/

#search {
    width: 100%;
    position: relative;
}

#search input {
    width: 100%;
    border: none;
    padding: 1em 1em 1em 2.5em;
}

#searchicon {
    position: absolute;
    left: 1em;
    top: 1.5em;
    color: #ccc;
}


/*Customer Account Navigation Anfang*/


/*
#subnav {width:calc(100% - 800px);
	text-align: right;
	padding-right:1.5em;}

#subnav ul {padding:0;
	margin:0;}

#subnav ul li {display: inline-block;
	height: 25px;
	}
#subnav i {color:#ccc;
	padding:0 1em;}

#account {border-left:1px solid #ddd;
	padding-left:1em;}

#accountbild {
	-webkit-border-radius: 100px;
-moz-border-radius: 100px;
border-radius: 100px;
width:35px;
height:35px;
}

#account .table > * {vertical-align: middle;}
*/

#customerAccount {
    width: auto;
    min-width: 400px;
    text-align: right;
    padding-right: 1.5em;
}

#customerAccount ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

#customerAccount>ul {
    position: relative;
}

#customerAccount>ul>li>div>div:last-child {
    display: none;
}

#customerAccount>ul>li>ul {
    position: absolute;
    top: 0;
    right: 100px;
}

#customerAccount ul li {
    display: inline-block;
    height: 25px;
}

#customerAccount>ul>li>ul>li:first-child {
    border-right: solid 1px #ccc;
}

#customerAccount a {
    color: #ccc;
    padding: 0 0.5em;
}

#customerAccount ul>li a:hover {
    color: #004376;
}

#customerAccount i {
    padding: 0 1em;
}


/*
#account {
	border-left:1px solid #ddd;
	padding-left:1em;
}
#account .table > * {vertical-align: middle;}
*/

#accountbild {
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    border-radius: 100px;
    width: 35px;
    height: 35px;
}


/*Customer Account Navigation Ende*/

.ohneInfo {
    padding-left: 2.2em;
}


/* Angebote Dashboard ANFANG*/

#angebote {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%
}

div.angebot-container {
    flex: 0 0 32.5%;
    background: #004376;
    padding: 35px;
    color: #fff;
    position: relative;
    margin-bottom: 18px;
}

div.angebot-container div.angebotsbezeichnung {
    height: auto;
}

div.angebot-container div.angebotsbezeichnung>div:first-child {
    width: 25%;
}

div.angebot-container div.angebotsbezeichnung>div:last-child {
    vertical-align: middle;
    width: 75%;
    padding-left: 15px;
}

div.angebot-container div.angebotsbezeichnung>div:last-child h3 {
    font-size: 1.6em;
    margin: 0px;
    font-weight: 400;
}

div.angebot-container div.angebotsbezeichnung>div:last-child p {
    font-size: 1.1em;
    margin: 0px;
}

div.angebot-container div.angebotsdetails {
    margin-top: 25px;
    height: auto;
}

div.angebot-container div.preis {
    width: 50%;
}

div.angebot-container div.preis>p:first-child {
    font-size: 1.1em;
    margin: 0px;
}

div.angebot-container div.preis>p:last-child {
    font-size: 2.5em;
    margin: 0px;
    font-weight: 700;
}

div.angebot-container div.angebotsdetails>div:last-child {
    width: 50%;
}

.modullogo {
    position: absolute;
    bottom: 0;
    right: 0;
    max-width: 200px;
}


/* Angebote Dashboard ENDE*/


/* meine Module ANFANG*/

#moeglicheModule {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#meineModule,
#moeglicheModule>section {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%
}

#meineModule>*,
#moeglicheModule>section>* {
    margin-right: 10px;
}

#meineModule p {
    margin-top: 0;
}

#meineModule p.bewertungHeader {
    margin-top: -15px !important;
    width: calc(100% + 50px);
    margin-left: -25px;
    padding: 10px 10px 10px 25px;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.15em;
}

#meineModule p.bewertungTest {
    background-color: #004376;
    display: none;
}

#meineModule p.bewertungLight {
    background-color: #a2a2a2;
}

div.modul-container.inaktiv {
    background: #004376;
    color: #fff;
    padding: 15px 25px 60px;
    min-height: 160px;
}

#moeglicheModule .inaktiv a.saveData {
    color: #fff;
}

#moeglicheModule .inaktiv a.saveData:hover {
    color: #004376;
}

.modul-container.inaktiv h3 {
    color: #fff;
}

.modul-container.banner {
    background: #212121;
    color: #fff;
    padding: 0;
    min-height: 160px;
}

.modul-container.banner .flex {
    align-items: center;
    height: 100%;
}

.modul-container.banner>.flex>div:first-child {
    height: 100%;
}

.modul-container.banner>.flex>div:last-child {
    padding: 15px 15px 15px 0;
}

.modul-container.banner h3 {
    color: #fff;
    text-transform: uppercase;
    margin-top: 0;
}

.modul-container.banner .modul-link {
    font-size: 16px;
    margin-bottom: 0;
}

.modul-container.banner .modul-link i {
    margin-right: 0.5em;
}

.modul-container.banner:hover h3,
.modul-container.banner:hover .modul-link {
    color: #004376;
}

.bannerbild {
    object-fit: cover;
    height: 100%;
    width: 157px;
}

.banner.modul-inaktiv {
    display: block !important;
}

div.modul-container.leadSuccess:after {
    content: "\f252";
    -webkit-animation: fa-spin 3s infinite steps(24);
    animation: fa-spin 3s infinite steps(24);
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    display: block;
    position: absolute;
    color: #004376;
    top: 0.2em;
    right: 0.5em;
    font-size: 1.35em;
}

div.modul-container.leadSuccess:before {
    content: "";
    width: 0px;
    height: 0px;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    border-style: solid;
    border-width: 0 75px 75px 0;
    border-color: transparent #004376 transparent transparent;
    position: absolute;
    right: 0;
    top: 0;
}

div.multipleLinks {
    position: absolute;
    bottom: 10px;
}

div.multipleLinks>a.saveData {
    position: relative !important;
    display: inline-block !important;
    bottom: 0 !important;
}

div.multipleLinks>a.saveData:first-child {
    margin-right: 15px;
}

.miniDashboard .icon {
    border-radius: 100%;
    border: 2px solid #004376;
}

.miniDashboard.inaktiv .icon {
    border-radius: 100%;
    border: 2px solid #fff;
}

#moeglicheModule {
    display: none;
}

#moeglicheModule.display {
    display: block;
}


/*
#meineModule .notification {
	background: #004376;
	text-align: center;
	padding: 0.3em;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	width: 30px;
	height: 30px;
	position: absolute;
	color: #fff;
	font-size: 0.9em;
	top: -0.5em;
	right: -0.5em;
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
}
*/

div.modul-container,
a.modul-container {
    position: relative;
    flex: 0 0 calc(33% - 10px);
    background: #fff;
    color: #004376;
    margin-bottom: 10px;
    padding: 15px 25px 60px;
}


/*
div.modul-container a:hover {
	border-bottom: 5px solid #004376;
}
*/

div.modul-container h3 {
    color: #004376;
    text-transform: uppercase;
    margin-top: 0.5em;
}


/*
div.modul-container a:hover p {
	color: #004376;
}
*/

div.modul-container div.flex {
    align-items: center;
}

div.modul-container div.flex>div:first-child {
    width: 80px;
}

div.modul-container div.flex>div:nth-child(2) {
    width: calc(100% - 80px);
}

div.modul-container .icon {
    max-width: 60px;
}

.modul-container p {
    font-size: 0.75em;
    padding-top: 5px;
    line-height: 1.6em;
}

div.modul-container a.saveData {
    display: block;
    margin-top: 0;
    position: absolute;
    bottom: 10px;
}

div.modul-container a.saveData i,
div.modul-container a.slm-link i {
    margin-right: 5px;
}

div.miniDashboard {
    display: block;
    width: 100%;
}

div#tachoWebsitecheck>* {
    height: 150px;
}

#tachoWebsitecheck>div>div>a {
    display: none !important;
}

div.modul-container span.wertDatenvollstaendigkeit {
    font-weight: 900;
    margin-left: 5px;
}

span.toggleLink,
.detail-link {
    font-size: 0.75em;
    padding-top: 5px;
    line-height: 1.6em;
    text-decoration: underline;
    cursor: pointer;
    margin: 10px 0px;
    display: block;
}

.detail-link+.details {
    margin-bottom: 10px;
}

div.toggleContent {
    display: none;
    margin-bottom: 10px;
}


/* ribbon */

.ribbon {
    width: 75px;
    height: 75px;
    overflow: hidden;
    position: absolute;
}

.ribbon::before,
.ribbon::after {
    position: absolute;
    z-index: -1;
    content: '';
    display: block;
    border: 5px solid #a57410;
}

.ribbon span {
    position: absolute;
    display: block;
    width: 150px;
    padding: 5px 0;
    background-color: #004376;
    box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .2);
    text-transform: uppercase;
    text-align: center;
}


/* top left*/

.ribbon-top-left {
    top: -10px;
    left: -10px;
}

.ribbon-top-left::before,
.ribbon-top-left::after {
    border-top-color: transparent;
    border-left-color: transparent;
}

.ribbon-top-left::before {
    top: 0;
    right: 0;
}

.ribbon-top-left::after {
    bottom: 0;
    left: 0;
}

.ribbon-top-left span {
    right: -25px;
    top: 15px;
    transform: rotate(-45deg);
}


/* meine Module  ENDE*/


/* meine Daten Dashboard ANFANG*/

section#meineDaten {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%
}

section#meineDaten>div {
    flex: 0 0 32.5%;
    background: #fff;
    padding: 35px;
    color: #000;
    margin-bottom: 18px;
}

section#meineDaten>div:first-child {
    width: 33%;
}

section#meineDaten>div:nth-child(2) {
    width: 33%;
}

section#meineDaten>div:last-child {
    width: 33%;
}

section#meineDaten h3 {
    font-weight: 400;
    border-bottom: 1px solid #ddd;
    position: relative;
}

section#meineDaten h3 i {
    position: absolute;
    right: 0;
    color: #efefef;
}

section#meineDaten p {
    position: relative;
}

section#meineDaten p i.fa-ellipsis-v,
section#meineDaten p a.fa-ellipsis-v {
    position: absolute;
    right: 0;
    color: #aaa;
    cursor: pointer;
}

section#meineDaten h3:not(:first-child) {
    margin-top: 3em;
}

section#meineDaten .oeffnungszeiten {
    list-style: none;
    padding: 0;
    margin: 1em 0 0;
}

section#meineDaten .oeffnungszeiten span {
    display: inline-block;
    width: 200px;
}


/* meine Daten Dashboard ENDE*/


/*Online-Listing Detailseite Anfang*/

div.imagePreview {
    background-size: cover;
    background-position: center;
    background-color: #fff;
    height: 100px;
    width: 100px;
}

section#ablieferungKonfigurieren h3 {
    font-size: 1.5em;
    margin-top: 0;
}

div.ol-mediadaten {
    display: flex;
    justify-content: space-between;
}

div.ol-mediadaten>div#ol-logo {
    flex: 0 1 calc(20% - 15px);
    background: #fff;
    padding: 20px;
}

div.ol-mediadaten>div#ol-galerie {
    flex: 0 1 80%;
    background: #fff;
    padding: 20px;
}

div.ol-mediadaten>div#ol-galerie>form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

div.ol-mediadaten>div#ol-galerie>form>figure {
    flex: 0 1 calc(16.66% - 7.5px);
}

figure {
    padding: 0;
    margin: 0;
    min-width: 150px;
}

figure h4 {
    margin: 0px 0px 10px;
}

div.upload {
    background-color: #004376;
    border: 1px solid #ddd;
    border-radius: 5px;
    display: inline-block;
    height: 37px;
    margin-top: 5px;
    padding: 3px 3px 3px 3px;
    position: relative;
    width: auto;
    overflow: hidden;
}

.upload:hover {
    background-color: #000;
}

div.upload input[type="file"] {
    display: inline-block;
    width: 100%;
    height: 30px;
    opacity: 0;
    cursor: pointer;
    position: absolute;
    left: 0;
    top: 0;
}

.uploadButton {
    background-color: rgba(255, 0, 0, 0);
    border: none;
    border-radius: 3px;
    color: #FFF;
    cursor: pointer;
    display: inline-block;
    height: 30px;
    margin-right: 0;
    width: auto;
    padding: 0 20px;
    box-sizing: content-box;
}

section#auswertungScan {
    background: #fff;
    margin-top: 15px;
    padding: 20px;
    min-height: 50vh;
}


/*Online-Listing Detailseite Ende*/


/*Status Anzeige Datenpflege ANFANG*/

div#statusContainer {
    margin-top: 1.25em;
    padding: 0 1em;
    display: inline-block;
}

div#statusHinweis {
    display: inline-block;
}

#statusContainer .fa-circle {
    margin-left: 10px;
}

#qm-status {
    margin: 0 1em;
}

div#statusHinweis i.fa-info-circle {
    position: relative;
    top: 2px;
    left: 0;
}

div#statusHinweis .tooltiptext {
    left: auto;
    right: -1em;
    bottom: 30px;
    width: 15em;
    font-size: 0.8em;
}

div#statusHinweis .tooltiptext:after {
    margin-left: 5.5em;
}

#datenpflege-head {
    display: flex;
    justify-content: space-between;
}

#qm-status #status {
    display: none;
}

#speichermeldung {
    padding: 1em 1em 1em 2em;
    border: 2px solid #004376;
    position: relative;
}

#speichermeldung:before {
    position: absolute;
    top: calc(50% - 0.5em);
    left: -0.5em;
    border-radius: 100%;
    background-color: #fff;
    line-height: 1em;
    content: "\f05a";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    display: inline-block;
    color: #004376;
    font-size: 2em;
}

#errormsg {
    padding: 1em 1em 1em 2em;
    border: 2px solid #F00;
    position: relative;
    color: #F00;
}

#errormsg:before {
    position: absolute;
    top: calc(50% - 0.5em);
    left: -0.5em;
    border-radius: 100%;
    background-color: #fff;
    line-height: 1em;
    content: "\f06a";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    display: inline-block;
    color: #F00;
    font-size: 2em;
}


/*Status Anzeige Datenpflege ENDE*/


/*Diagram Progress Bar ANFANG*/


/* Pie Chart */

.progress-bar {
    position: relative;
    height: 11.250rem;
    width: 11.250rem;
    transform: scale(2);
    margin: 8em auto 2em auto;
}

.progress-bar div {
    position: absolute;
    height: 11.250rem;
    width: 11.250rem;
    border-radius: 50%;
}

.progress-bar div span {
    position: absolute;
    font-family: Arial;
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 8.125rem;
    height: 8.125rem;
    width: 8.125rem;
    left: 1.563rem;
    top: 1.563rem;
    text-align: center;
    border-radius: 50%;
    background-color: white;
    color: #004376;
}

.progress-bar .background {
    background-color: #E5E5E5;
}

.progress-bar .rotate {
    clip: rect(0 5.625rem 11.250rem 0);
    background-color: #004376;
}

.progress-bar .left {
    clip: rect(0 5.625rem 11.250rem 0);
    opacity: 1;
    background-color: #E5E5E5;
}

.progress-bar .right {
    clip: rect(0 5.625rem 11.250rem 0);
    transform: rotate(180deg);
    opacity: 0;
    background-color: #004376;
}

.progress-bar .red {
    background-color: #cd0000 !important;
}

.progress-bar .gruen {
    background-color: #45a400 !important;
}

.progress-bar .schatten {
    -webkit-box-shadow: 0px 0px 0.938em -0.313em rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0px 0px 0.938em -0.313em rgba(0, 0, 0, 0.5);
    box-shadow: 0px 0px 0.938em -0.313em rgba(0, 0, 0, 0.5);
}

@keyframes toggle {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


/*Diagram Progress Bar ENDE*/


/*Fortschrittsbalken Anfang*/


/* Bar */


/*Forschrittsbalken neben h1 positionieren Anfang*/

#datenpflege main>div.flex {
    align-items: flex-start;
}

#datenpflege div.progress-bar-chart {
    flex: 0 0 auto;
    text-transform: uppercase;
}

#datenpflege h1 {
    margin: 0px 20px 0px 0px;
    padding: 0px;
    line-height: 1em;
}

#datenpflege div.progress-bar-chart {
    width: calc(100% - 280px)
}


/*
div.progress-bar-chart p {
	margin:0;
	padding:0;
	position: absolute;
	right: calc(50% + 40px);
	top:10px;
	color:#000;
	z-index:1;
}
div.progress-bar-chart.gruen p {
	color:#fff;
}
*/


/*Forschrittsbalken neben h1 positionieren Ende*/

.progress-bar-chart {
    width: 100%;
    height: 2.5em;
    background-color: #E5E5E5;
    position: relative;
    overflow: hidden;
}

.progress-bar-chart .ppc-progress {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 2.5em;
}

.progress-bar-chart .ppc-progress .ppc-progress-fill {
    opacity: 0;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 2.5em;
    background: linear-gradient(45deg, #cd0000 0%, #8c0000 100%);
}

.progress-bar-chart.orange .ppc-progress .ppc-progress-fill {
    background: linear-gradient(45deg, #ffd200 0%, #004376 100%);
}

.progress-bar-chart.gruen .ppc-progress .ppc-progress-fill {
    background: linear-gradient(45deg, #45a400 0%, #50be00 100%);
}

.progress-bar-chart .ppc-percents {
    content: "";
    position: absolute;
    /*left: calc(50% - 12.500em);
	left: calc(50% - 125px);*/
    top: calc(50% - 1.250em);
    width: 100%;
    height: 2.500em;
    text-align: center;
    display: table;
}

.progress-bar-chart .ppc-percents span {
    display: block;
    font-size: 1em;
    font-weight: bold;
    color: #000;
}

.progress-bar-chart.orange .ppc-percents span {
    color: #000;
}

.progress-bar-chart.gruen .ppc-percents span {
    color: #fff;
}

.progress-bar-chart .pcc-percents-wrapper {
    display: table-cell;
    vertical-align: middle;
}

div.progress-bar-chart p {
    margin: 0;
    padding: 0;
    position: absolute;
    right: calc(50% + 40px);
    top: 10px;
    color: #000;
    z-index: 1;
}

div.progress-bar-chart.gruen p {
    color: #fff;
}


/*Fortschrittsbalnekn Ende*/


/*MODAL-BOX ANFANG*/


/* The Modal (background) */

.modal {
    display: none;
    /*Hidden by default */
    position: fixed;
    /* Stay in place */
    z-index: 1000;
    /* Sit on top */
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    /* Full width */
    height: 100%;
    /* Full height */
    overflow: auto;
    /* Enable scroll if needed */
    background-color: rgb(0, 0, 0);
    /* Fallback color */
    background-color: rgba(0, 0, 0, 0.8);
    /* Black w/ opacity */
}


/* Modal Content/Box */

.modal-content {
    background-color: #fefefe;
    margin: 0 auto;
    /* 15% from the top and centered */
    padding: 55px;
    border: 1px solid #888;
    width: 60%;
    /* Could be more or less, depending on screen size */
    text-align: center;
}

.modal-content img.loading {
    margin: 0 auto 40px;
    width: 110px;
    height: 100px;
}


/* The Close Button */

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.fehler .close {
    float: none;
    margin: 0 auto;
}

.fehler .fa-exclamation-triangle,
.erfolg .fa-check-square,
.kommunikation .fa-comments {
    font-size: 3em;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}


/*MODAL-BOX ENDE*/


/*Tooltip Anfang*/


/*Muss für jeden Container angepasst werden, der Tooltips enthält*/

.tooltip {
    flex: 0 1 35px;
    position: relative;
}

.tooltip i.fa-info-circle {
    color: #aaa;
    font-size: 1.4em;
    position: absolute;
    top: 0.3em;
    left: 7px;
    line-height: 1em;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 25vw;
    background-color: #666;
    color: #fff;
    text-align: center;
    border-radius: 0.375em;
    padding: 0.938em;
    position: absolute;
    z-index: 1;
    bottom: 55px;
    left: calc(100% - 12.5vw - 1em);
}

.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -0.313em;
    border-width: 0.313em;
    border-style: solid;
    border-color: #666 transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
}


/*Tooltip Ende*/


/*InfoMSG Anfang*/

label.infoMsg:hover span.infoMsgBox {
    display: block;
}

span.infoMsgBox {
    display: none;
    width: 10vw;
    background-color: #666;
    color: #fff;
    text-align: center;
    border-radius: 0.375em;
    padding: 0.938em;
    position: absolute;
    z-index: 1;
    bottom: 55px;
    left: calc(100% - 5vw - 1em);
}

span.infoMsgBox:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -0.313em;
    border-width: 0.313em;
    border-style: solid;
    border-color: #666 transparent transparent transparent;
}


/*InfoMSG Ende*/


/*FORMULARE ANFANG*/


/*Buttons und Links Anfang*/


/*Button Daten entfernen*/

button.update,
button.remove,
button.edit {
    width: 35px;
    margin-bottom: 15px;
    border: none;
    outline: none;
    font-size: 1.5em;
    background: none;
}

button.update i,
button.remove i,
button.edit i {
    line-height: 39px;
    vertical-align: middle;
}

button.update:hover,
button.remove:hover,
button.edit:hover {
    color: #004376
}


/*Link Daten hinzufügen*/

button.addData {
    border: none;
    padding: 0;
    background: none;
    display: block;
}

button.addData:focus {
    outline: none;
}

a.addData,
button.addData {
    color: #004376;
    text-decoration: none;
    cursor: pointer;
}

a.addData::before,
button.addData::before {
    content: '+ ';
}

a.addData:hover,
button.addData:hover {
    color: #000;
    text-decoration: none;
}

button.saveData,
.saveLink {
    cursor: pointer;
    display: block;
    border: none;
    background: #004376;
    color: #fff;
    margin: 15px 0 !important;
    padding: .5em 1em;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-block;
}

.saveLink i {
    margin-right: 0.5em;
}

.orMargin {
    margin: 0 0.5em;
    display: inline-block
}

.formAbstand {
    margin: 25px 0;
}

button.saveData:hover,
.saveLink:hover {
    background: #000;
    color: #fff;
}


/*Buttons und Links Ende*/


/*Standardelemente/Allgemeines Styling: Select-Boxen, Input Felder etc.*/

label {
    display: block;
    font-size: 0.75em;
    margin-bottom: 0.4em;
    text-transform: uppercase;
    color: #777777;
    letter-spacing: 0.05em;
}


/*Unklar warum hier die 100% notwendig sind, damit Flexbox-layout korrekt dargestellt wird
--> Bsp.: siehe Tab Adressdaten, wenn die 100% entfernt werden, ist Umbruch der Elemente fehlerhaft*/

.datenpflegeInput {
    width: 100%;
    /*da jetzt der Wrapper angepasst wird immer 100%*/
    padding: 6px;
    /*margin-bottom: 15px; stört hier im inputWrapper*/
}

select {
    /*margin-right:10px;*/
    /*margin-bottom:0.5em;*/
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: 1px solid #ddd;
    box-shadow: none;
    padding: 0.5em;
    width: 25%;
    /*ACHTUNG! Ohne diesen Wert ist die Select-Box deutlich größer / Warum?*/
    max-height: 40px;
}

textarea {
    width: 100%;
}

.inputWrapper {
    position: relative;
}


/*
.newDataInput input {
	width:calc(75% - 10px);
	display: inline-block;
}
*/


/*Formular Adressdaten Anfang*/

div#tab-adressdaten form>div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    margin-bottom: 15px;
}

div#tab-adressdaten label {
    flex: 1 1 100%;
    margin-left: 3em;
}

div#tab-adressdaten .ohneInfo label {
    margin-left: 0;
}

div#tab-adressdaten div.inputWrapper {
    flex: 1 1 auto;
}

div#tab-adressdaten div.inputWrapperStrasse {
    flex: 8 1 0;
    margin-right: 10px;
}

div#tab-adressdaten div.inputWrapperHausnummer {
    flex: 2 1 0;
}

div#tab-adressdaten div.inputWrapperPLZ {
    flex: 2 1 0;
    margin-right: 10px;
}

div#tab-adressdaten div.inputWrapperStadt {
    flex: 8 1 0;
}


/*Formular Adressdaten Ende*/


/*Formular Kommunikationsdaten Anfang*/


/*Styling dynamische Felder*/

div#kommunikation>div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    margin-bottom: 15px;
    flex: 1 1 100%;
}

div#kommunikation>div select {
    flex: 0 1 25%;
}

div#kommunikation>div div.inputWrapper {
    /*45px: 35 Pixel "Remove-Button" + 35 Pixel Info-Button*/
    flex: 0 1 calc(75% - 70px);
}


/*Formular Kommunikationsdaten Ende*/


/*Formular Ansprechpartner Anfang*/


/*Styling dynamische Felder*/

div#ansprechpartner>div>div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    margin-bottom: 25px;
    padding: 15px 15px 15px;
    border: 1px solid #000;
}

div#ansprechpartner div.namePreview {
    position: absolute;
    left: 15px;
    top: -20px;
    background: #fff;
    padding: 10px;
    display: none
        /*block*/
    ;
    font-size: 1em;
    margin-bottom: 0.4em;
    text-transform: uppercase;
    color: #777777;
    letter-spacing: 0.05em;
}

div#tab-ansprechpartner select {
    flex: 2 1 calc(20% - 55px);
    margin-right: 10px;
}

div#tab-ansprechpartner div.inputWrapperApVorname {
    flex: 4 1 40%;
    margin-right: 10px;
}

div#tab-ansprechpartner div.inputWrapperApNachname {
    flex: 4 1 40%;
}

div#tab-ansprechpartner div.inputWrapperApEmail {
    flex: 4 1 calc(40% - 10px);
    margin-right: 10px;
}

div#tab-ansprechpartner div.inputWrapperApTel {
    flex: 4 1 calc(40% - 10px);
}

div#tab-ansprechpartner div.inputWrapperModule {
    flex: 1 1 100%;
    margin-top: 15px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
}

div#tab-ansprechpartner div.inputWrapperModule label {
    flex: 0 1 100%;
}


/*Formular Ansprechpartner Ende*/


/*Formular Öffnungszeiten Anfang*/

div#oeffnungszeiten>div {
    display: flex;
    flex-wrap: wrap;
    /*justify-content: space-between;*/
    justify-content: space-between;
}

div#oeffnungszeiten>div select {
    /*45px: 35 Pixel "Remove-Button" + 10 Pixel Select-Box margin-right +  20 Pixel Input[time] margin-right*/
    flex: 0 1 calc(40% - 75px);
    margin-right: 10px;
}

div#oeffnungszeiten>div input[type="time"] {
    flex: 0 1 30%;
}


/*in Allgemeines CSS nach oben verschieben?*/

input[type="time"] {
    /*ACHTUNG! Ohne diesen Wert ist die Select-Box deutlich größer / Warum?*/
    max-height: 40px;
    font-family: 'Open Sans', sans-serif;
    margin-right: 10px;
    margin-bottom: 10px;
    padding: 7px 10px;
}

label[for="oeffnungszeiten-text"] {
    display: block;
    margin-top: 1.5em;
}


/*Formular Öffnungszeiten Ende*/


/*Formular Leistungen, Produkte, Marken Anfang*/

div#leistungen>div,
div#produkte>div,
div#marken>div {
	display:grid;
	grid-template-columns: 10fr .5fr;
	gap:1em;
	margin-bottom: 1em;
/*
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
   */
}

div#leistungen>div div.inputWrapper,
div#produkte>div div.inputWrapper,
div#marken>div div.inputWrapper {
    /*Breite "Remove-Button" 35px*/
    flex: 0 1 calc(100% - 35px);
}


/*Felder kleiner, wenn Editier-Button vorhanden
form[name="leistungen"] input.locked,
form[name="produkte"] input.locked,
form[name="marken"] input.locked {
	width:calc(100% - 70px);
	border:none;
}
*/


/*Formular Leistungen, Produkte, Marken Ende*/


/*Webcheck Loading Anfang*/

#webcheckLoad i {
    margin-right: 0.5em;
}


/*Webcheck Loading Ende*/


/*Formular Zahlungsmethoden Anfang*/

div#zahlungsmethoden {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-bottom: 15px;
    justify-content: center;
}

div#zahlungsmethoden>div {
    flex: 0 0 8.5vw;
    margin-right: 2em;
    text-align: center;
    margin-bottom: 25px;
}

div#zahlungsmethoden {
    display: flex;
    font-size: 1.2em;
}

div#zahlungsmethoden input[type="radio"],
div#zahlungsmethoden input[type="checkbox"] {
    opacity: 0;
}

#zahlungsmethoden>div>div {
    width: 100%;
    height: 8.5vw;
    display: flex;
    align-items: center;
    border: 1px solid #ddd;
    margin-bottom: 5px;
}

#zahlungsmethoden>div {
    position: relative;
}

div#zahlungsmethoden input {
    width: 100%;
    height: 8.5vw;
    position: absolute;
    left: 0;
    top: 0;
}

div#zahlungsmethoden input[type="checkbox"]+div img {
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
    pointer-events: none;
    opacity: 0.5;
}

div#zahlungsmethoden input[type="checkbox"]:checked+div img {
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
    opacity: 1;
    pointer-events: none;
}

div#zahlungsmethoden input[type="checkbox"]:checked+div {
    border: 2px solid #004376;
    overflow: hidden;
}

div#zahlungsmethoden input[type="checkbox"]+div+label .paymentCheck {
    display: none;
}

div#zahlungsmethoden input[type="checkbox"]:checked+div+label .paymentCheck {
    display: inline-block;
    color: #004376;
}


/*Formular Zahlungsmethoden Ende*/


/*Formular Accoundaten Anfang*/

form[name="accountdaten"] {
    background: #fff;
    padding: 2em;
}

form[name="accountdaten"] fieldset {
    border: 1px solid #ccc;
    padding: 2em;
    position: relative;
}

form[name="accountdaten"] fieldset>div {
    margin-bottom: 2em;
}

form[name="accountdaten"] fieldset>div label {
    margin-top: 2em;
}

form[name="accountdaten"] #passwortEdit {
    display: block;
}

form[name="accountdaten"] #passwortEditBtn {
    cursor: pointer;
    display: inline-block;
}

form[name="accountdaten"] p.fieldsetName {
    color: #aaa;
    position: absolute;
    top: -0.75em;
    left: 1.5em;
    margin: 0;
    padding: 0 0.5em;
    background: #fff;
}

form[name="accountdaten"] #profilbild img {
    max-width: 150px;
    display: inline-block;
}

form[name="accountdaten"] #profilbild i {
    display: inline-block;
    vertical-align: bottom;
    margin-left: 0.5em;
}

form[name="accountdaten"] #wrapperAccount .flex {
    justify-content: space-between;
}

form[name="accountdaten"] #wrapperAccount .flex>* {
    width: 33%;
}

form[name="accountdaten"] #passwortEdit label:first-of-type {
    margin-top: 0;
}

form[name="accountdaten"] #passwortEdit .flex {
    justify-content: space-between;
    margin-top: 2em;
}

form[name="accountdaten"] #passwortEdit .flex>* {
    width: calc(50% - 2em);
}


/*Formular Accoundaten Ende*/


/*Mediathek Anfang*/

#mediathek div#tab-logo figure,
#mediathek div#tab-sublogo figure {}

#mediathek div#tab-logo div#hauptlogos,
#mediathek div#tab-sublogo div#sublogos {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    position: relative;
    margin-bottom: 15px;
}

#mediathek div#tab-logo #hauptlogos>div,
#mediathek div#tab-sublogo #sublogos>div {
    flex: 0 1 30%;
    margin: 5px;
}

#mediathek div#tab-logo figcaption,
#mediathek div#tab-sublogo figcaption {
    display: flex;
    flex-wrap: wrap;
}

#mediathek div#tab-logo figure select,
#mediathek div#tab-sublogo figure select,
#mediathek div#tab-logo figure div.inputWrapper,
#mediathek div#tab-sublogo figure div.inputWrapper {
    flex: 1 1 100%;
    margin-bottom: 3px;
}

div.imagePreviewWrapper {
    height: 11.43vw;
    overflow: hidden;
}


/*Mediathek Galerie*/

div.mediathekhead p {
    color: #004376;
}

a.add-gallery {
    text-align: left !important;
    margin: 0 !important;
}

.tab-container ul.tabs li.new-gallery.current:after {
    display: none;
}


/*Styling hochgeladener Bilder*/

div.gallery-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

div.gallery-container>div {
    flex: 0 1 31%;
    margin-bottom: 30px;
}

div.gallery-container figcaption>div.inputWrapper {
    margin-top: 10px;
}

div.gallery-container figcaption {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

div.gallery-container figcaption>div.inputWrapper {
    flex: 1 0 100%;
}

div.gallery-container figcaption>div.upload {
    flex: 1 1 calc(100% - 70px);
}

div.gallery-container figcaption>button {
    margin-bottom: 0;
}

div.gallery-container figcaption>button>i {
    line-height: 30px;
}


/*Mediathek Ende*/


/*Formularvalidierung CSS-Ausgaben Anfang*/

label.infoMsg {
    position: absolute;
    top: 0.4em;
    right: 0.8em;
}


/*Statusmeldungen für Benutzer*/

label.infoMsg.datenInQS::before {
    content: "\f14a";
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    font-size: 1.75em;
    color: rgba(200, 200, 200, 1);
}

input[readonly="true"] {
    color: #777777;
}

input[readonly="true"]:focus {
    outline: -webkit-focus-ring-color auto 0px;
}

label.infoMsg.datenGeprueft::before {
    content: "\f14a";
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    font-size: 1.75em;
    color: rgba(0, 150, 0, 1);
}


/*PLZ*/

input[name="plz"]:invalid {
    color: rgba(200, 0, 0, 1);
}

input[name="plz"]:invalid:focus {
    background-color: rgba(255, 0, 0, 0.05);
}

input[name="plz"]:required:invalid+label::before {
    content: "\f071";
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    font-size: 1.5em;
    position: relative;
    color: rgba(255, 200, 0, 1);
}


/*email*/

input[type="email"]:invalid {
    color: rgba(200, 0, 0, 1);
}

input[type="email"]:invalid:focus {
    background-color: rgba(255, 0, 0, 0.05);
}

input[type="email"]:required:invalid+label::before {
    content: "\f071";
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    font-size: 1.5em;
    position: relative;
    color: rgba(255, 200, 0, 1);
}


/*tel*/

input[type="tel"]:invalid {
    color: rgba(200, 0, 0, 1);
}

input[type="tel"]:invalid:focus {
    background-color: rgba(255, 0, 0, 0.05);
}

input[type="tel"]:required:invalid+label::before {
    content: "\f071";
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    font-size: 1.5em;
    position: relative;
    color: rgba(255, 200, 0, 1);
}


/*internetadresse*/

input[type="url"]:invalid {
    color: rgba(200, 0, 0, 1);
}

input[type="url"]:invalid:focus {
    background-color: rgba(255, 0, 0, 0.05);
}

input[type="url"]:required:invalid+label::before {
    content: "\f071";
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    font-size: 1.5em;
    position: relative;
    color: rgba(255, 200, 0, 1);
}


/*Formularvalidierung CSS-Ausgaben Ende*/


/*FORMULARE ENDE*/


/*Auftragsstatus*/
.box {
    width: 100%;
    background-color: #fff;
    padding: 2em;
    border-radius: 1em;
}

#auftragsstatusGesamt {
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 100%;
    min-height: 227px;
    gap: 3em;
}

.statistikStatus {
    width: 350px;
}

#auftragsstatusGesamt>div:first-child {
    max-width: 750px;
    width: 100%;
}

.accordionBox {
    margin-top: 1.5em;
}

.accordionHeader {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 1.5em;
}

.accordionIcon,
.accordionToggle {
    width: 90px;
}

.accordionIcon {
    filter: grayscale(1) brightness(1.2);
}

.accordionHeading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
}

.accordionHeading h3 {
    margin: 0;
    font-weight: normal;
    font-size: 1.4em;
}

.accordionHeading h3 span {
    display: block;
    margin: 0 !important;
}

.accordionHeading>div:first-child {
    width: calc(100% - 150px);
}

.accordionHeading>div:nth-child(2) {
    width: 150px;
    text-align: right;
}

.accordionHeading>div:nth-child(3) {
    width: 100%;
    margin-top: 0.5em;
}

.accordionHeadingWerte {
    display: flex;
    justify-content: flex-end;
    text-align: right;
    gap: 1em;
    font-size: 1.25em;
}

.accordionHeadingWerte i {
    color: #004376;
}

.accordionBar {
    width: 100%;
    height: 20px;
    border-radius: 1em;
    overflow: hidden;
    background: #efefef;
}

.accordionBar>div {
    height: 100%;
    border-radius: 1em;
    background: #004376;
}

.accordionToggle {
    font-size: 1.8em;
    cursor: pointer;
    color: #ccc;
    text-align: center;
}

.acccordionZusatz {
    display: flex;
    align-items: center;
    gap: 1em;
}

.acccordionZusatz>p {
    width: 100%;
    font-weight: 600;
    margin: 0;
}

.acccordionZusatz>p i {
    margin-right: 0.5em;
}

.acccordionZusatz>.btn-link {
    width: 180px;
    text-transform: uppercase;
    font-size: 0.8em;
    text-align: center;
    border-radius: 1em;
    display: block;
    background: #333;
    color: #fff;
    padding: 0.5em 1em;
}

.acccordionZusatz>.btn-link:hover {
    background: #004376;
}

.accordionBody {
    padding: 1em calc(90px + 1em);
}

.statusBox {
    display: flex;
    position: relative;
    align-items: center;
    gap: 1em;
    margin: calc(2em + 10px) 0;
}

.statusBox p {
    margin: 0;
    padding: 0;
}

.statusBox>div:first-child {
    font-size: 1.2em;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #004376;
    color: #fff;
}

.statusBox.nonactive>div:first-child {
    background: #ddd;
    color: #333 !important;
}

.statusBox.nonactive {
    color: #bbb;
}

.statusBox .datum {
    font-size: 0.75em;
}

.statusBox:not(:last-of-type):before {
    content: "";
    width: 1px;
    height: 2em;
    background: #ddd;
    position: absolute;
    top: 45px;
    left: 20px;
}

.statusBox:not(.nonactive):before {
    background: #004376;
}

/* Chart Platzhalter */
.svg-item {
    width: 250px;
    height: 250px;
    font-size: 16px;
    position: absolute;
    right: 2em;
    top: -1em;
    background: #fff;
    border-radius: 100%;
}

.donut-ring {
    stroke: #EBEBEB;
}

.donut-segment {
    animation: donut-chart-fill 1s reverse ease-in;
    transform-origin: center;
    stroke: #004376;
}

.donut-text {
    fill: #333;
}

.donut-label {
    font-size: 0.28em;
    font-weight: 700;
    line-height: 1;
    fill: #000;
    transform: translateY(0.25em);
}

.donut-percent {
    font-size: 0.5em;
    fill: #333;
    line-height: 1;
    transform: translateY(0.5em);
}


/*Kontakt Kundenservice Anfang*/

.kontaktCard {
    background: #fff;
    padding: 1em;
    display: inline-block;
    width: 50%;
    min-width: 400px;
}

.kontaktCard .auszeichnung {
    margin-top: 2em;
}


/*Kontakt Kundenservice Ende*/

#service-management .flex {
    justify-content: space-between;

}

.serviceImageContainer {
    margin: 2em 0;
    align-items: center;
}

.serviceImageContainer p {
    margin-top: 0;
}

#serviceKontakt {
    width: 65%;
    background-color: #fff;
    padding: 2em;
    border-radius: 1em;
    margin-right: 2em;
}

#allgemeinKontakt {
    width: 35%;
}

#serviceKontakt form.flex {
    flex-wrap: wrap;
}

#serviceKontakt select {
    width: 100%;
}

#serviceKontakt .grund, #serviceKontakt .produkt {
    width: 48%;
    margin-bottom: 2em;
}

#serviceKontakt .nachricht {
    width: 100%;
}

#service-management .zitat {
    color: #9C9C9C;
    font-style: italic;
    margin-top: 0;
    font-size: 1.375em;
}

#service-management h2 {
    color: #004376;
    text-transform: uppercase;
    padding: 0 !important;
    margin-bottom: 0.5em;
}

#service-management .btn {
    color: #fff;
    border-radius: 0.5em;
    margin: 0.5em 0.5em 0 0;
    display: inline-block;
}

#service-management .btn i {
    margin-right: 0.75em;
}

#service-management .btn:hover {
    color: #fff;
}

.serviceImageContainer p:last-child {
    margin-top: 1em;
}

.serviceBild {
    height: 12em;
    width: 12em;
    max-width: 12em;
    min-width: 12em;
    object-fit: cover;
    object-position: center;
    margin-right: 2em;
    border-radius: 100%;
    border: 1px solid #004376;
}

#allgemeinKontakt p:first-line {
    font-weight: 700;
}

#allgemeinKontakt p span {
    width: 12em;
    display: inline-block;
}


.kundenserviceKontakt h3 {
    width: 100%;
}

.kundenserviceKontakt {
    flex-wrap: wrap;
    justify-content: flex-start !important;
    padding-bottom: 2em;

    /* TH */
    & table {
    	& td {
		padding-right: 1em;
	}
    }
    /* TH */
}

.kundenserviceKontakt p {
    margin: 0 2em 1em 0;

}

#allgemeinKontakt .kontaktImage {
    max-width: 40em;
}



/*Kontakt Service Management Anfang*/


/*Kontakt Service Management Anfang*/

/*Tabs (Mediathek + allgemein Tabs)  ANFANG*/

.tab-container {
    margin-bottom: 2em;
}

.tab-container:last-child {
    margin-bottom: 0;
}

.tab-container article {
    /*margin-bottom: 2em;*/
}

.tab-container ul.tabs {
    width: 33%;
    background: #fff;
    margin: 0px;
    padding: 0px;
    list-style: none;
    border-right: 1px solid #ddd;
}

.tab-container ul.tabs li {
    position: relative;
    background: none;
    color: #222;
    display: block;
    padding: 2em;
    cursor: pointer;
    border-bottom: 1px solid #ddd;
}

.tab-container ul.tabs li.current {
    background: #ddd;
    color: #000;
}

.tab-container .tabbox {
    background: #fff;
    padding: 1em 2em;
    width: 67%;
}

.tab-container ul.tabs li.current:after {
    position: absolute;
    right: -30px;
    top: 3px;
    content: "";
    width: 0px;
    height: 0px;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    border-style: solid;
    border-width: 50px 0 50px 50px;
    border-color: transparent transparent transparent #ddd;
}

.tab-container ul.tabs li.current * {
    color: #000;
}

.tab-container ul.tabs li i {
    position: absolute;
    color: #004376;
    font-size: 2em;
    top: 2.2rem;
    left: 2.5rem;
}

.tab-container ul.tabs h4 {
    margin: 0;
    font-weight: 400;
    padding: 0 0 0 4em;
    color: #000;
    display: inline-block;
}

.tab-container ul.tabs p {
    color: #aaa;
    font-size: 0.7em;
    margin: 0.3rem 0 0 0;
    padding: 0 0 0 4rem;
}

.pausenzeit {
    color: #aaa;
    font-size: 0.7em;
    margin: 0 0 1rem 0;
}

.tab-container .tab-content {
    width: 100%;
    display: none;
    background: #fff;
    padding: 15px;
}

.tab-container .tab-content.current {
    display: inherit;
}

.tab-container .btn-add {
    display: block;
    text-align: right;
    margin: 1em 1em;
}

.tab-container .btn-add i {
    display: inline-block;
    position: static;
    color: #004376;
}

.tab-container .mediathekhead {
    padding: 0 0 1em 0;
    color: #fff;
}

.tab-container .mediathekhead h2 {
    padding: 0;
    margin: 0;
    font-size: 1.5em;
}

.tab-container .mediathekhead h2 i {
    margin-right: 1rem;
}

.tab-container .slide {
    max-width: 80%;
}

.tab-container .slideimg {
    max-width: 200px;
}

.tab-container .slideimg span {
    display: inline-block;
    vertical-align: top;
}

.tab-container .slideimg span:first-child {
    width: calc(100% - 16px);
}

.tab-container .slideimg span:last-child {
    width: 10px;
    text-align: center;
}

.tab-container .slide div {
    display: flex;
    vertical-align: middle;
    align-items: center;
}

.tab-container .slide div:first-child {
    width: calc(100% - 71px);
}

.tab-container .slide div:last-child {
    width: 65px;
    text-align: center;
}

.tab-container .slide div input {
    display: block;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: 1px solid #ddd;
    box-shadow: none;
    padding: 0.5em;
    margin-bottom: 0.5em;
    width: 100%;
}

.tab-container figure.slide {
    display: block;
    margin: auto;
}

.tab-container .slide div:last-child i {
    font-size: 1.2em;
    display: inline-block;
    margin: 0 0.3em;
}

.tab-container .slide img,
.tab-container .slideimg img {
    margin-bottom: 0.5em;
}

.tab-container ul.tabs li.tab-link:not(.current):hover {
    background-color: #f7f7f7;
}


/*Tabs (Mediathek?) ENDE*/


/*Tabs Datenpflege Statusanzeige Anfang*/

.tab-container i.status.fas.fa-check-circle {
    color: green;
    position: static;
    display: inline-block;
    font-size: 1em;
    margin-left: 10px;
}

.tab-container i.status.fas.fa-times-circle {
    color: red;
    position: static;
    display: inline-block;
    font-size: 1em;
    margin-left: 10px;
}


/*Tabs Datenpflege Statusanzeige Ende*/


/*Bewertungsmonitoring ANFANG*/

#bewertungSection,
#rechnungSection {
    background: #fff;
    padding: 1.5em;
}

#bewertungTable,
#rechnungTable {
    font-size: 0.85em;
    width: 100%;
    border-collapse: collapse
}

#bewertungTable th,
#rechnungTable th {
    text-align: left;
}

#bewertungTable th,
#bewertungTable td,
#rechnungTable th,
#rechnungTable td {
    padding: 1em;
    width: calc(100% / 4 - 150px);
}

#bewertungTable th:first-child,
#bewertungTable td:first-child,
#rechnungTable th:first-child,
#rechnungTable td:first-child {
    max-width: 100px;
}

#bewertungTable th:last-child,
#bewertungTable td:last-child,
#rechnungTable th:last-child,
#rechnungTable td:last-child {
    max-width: 50px;
}

#bewertungTable tbody tr:nth-child(odd),
#rechnungTable tbody tr:nth-child(odd) {
    background: #f4f4f4;
}

#bewertungTable tbody tr:hover,
#rechnungTable tbody tr:hover {
    background: #004376;
    color: #fff;
}

#bewertungTable tbody tr:hover .starsOrange {
    background-position: 0 -2rem;
}

#bewertungTable tbody tr:hover .detailIcon,
#rechnungTable tbody tr:hover .detailIcon {
    color: #fff;
}

#bewertungPortal {
    margin-right: 0.5em;
}

#bewertungTable .bewertungAutor {
    word-break: break-word;
    font-weight: 600;
}

#bewertungTable .bewertungContent,
#rechnungTable .rechnungContent {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#bewertungTable .bewertungBox {
    width: 11vw;
}

#bewertungSection .star {
    color: #004376;
}

#bewertungSection .four-star i:last-child {
    color: #ccc;
}

#bewertungSection .three-star i:last-child,
#bewertungSection .three-star i:nth-child(4) {
    color: #ccc;
}

#bewertungSection .two-star i:last-child,
#bewertungSection .two-star i:nth-child(4),
#bewertungSection .two-star i:nth-child(3) {
    color: #ccc;
}

#bewertungSection .one-star i:last-child,
#bewertungSection .one-star i:nth-child(4),
#bewertungSection .one-star i:nth-child(3),
#bewertungSection .one-star i:nth-child(2) {
    color: #ccc;
}

p#countBewertungen,
.countBewertungen {
    text-align: right;
    margin-top: -1em;
    background: #fff;
    display: block;
    color: #999;
}

#wertung,
.wertung {
    font-weight: 600;
    margin: 0 0.3em;
}

#bewertungStatus,
.bewertungStatus {
    text-align: right;
    font-size: 1.2em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #efefef;
}

.bewertungStatus p {
    margin: 0;
    font-size: 1em;
}


/* The Modal (background) */

.modal {
    display: none;
    /* Hidden by default */
    position: fixed;
    /* Stay in place */
    z-index: 9999;
    /* Sit on top */
    padding-top: 1em;
    /* Location of the box */
    left: 0;
    top: 0;
    width: 100%;
    /* Full width */
    height: 100%;
    /* Full height */
    overflow: auto;
    /* Enable scroll if needed */
    background-color: rgb(0, 0, 0);
    /* Fallback color */
    background-color: rgba(0, 0, 0, 0.6);
    /* Black w/ opacity */
}


/* Modal Content */

.modalContent {
    border-radius: 5px;
    position: relative;
    background-color: #fff;
    margin: auto;
    padding: 0;
    border: 1px solid #888;
    width: 100%;
    max-width: 650px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    -webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s
}

.myBtn {
    background: none;
    outline: none;
    border: none;
    text-align: left;
    line-height: 1.6em;
    padding: 0;
    cursor: pointer;
}

.bewertungsinhalt {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    align-items: center;
}

.bewertungsinhalt .detailIcon {
    width: 30px;
    font-size: 1.5em;
    color: #004376;
}

.bewertungsinhalt .detailIcon+div {
    width: calc(100% - 30px);
}


/* Add Animation */

@-webkit-keyframes animatetop {
    from {
        top: -300px;
        opacity: 0
    }

    to {
        top: 0;
        opacity: 1
    }
}

@keyframes animatetop {
    from {
        top: -300px;
        opacity: 0
    }

    to {
        top: 0;
        opacity: 1
    }
}

.modal-header {
    padding: 1.5em;
    border-bottom: 1px solid #efefef;
}

.modal-header h2 {
    text-align: left;
    font-size: 1.4em;
    margin: 0;
}

.modal-body {
    padding: 0.5em 1.5em;
    text-align: left;
}

.modal-footer {
    border-top: 1px solid #efefef;
    padding: 1.5em;
    text-align: center;
}

.modal-footer button {
    display: inline-block;
    margin: 1em 0 0 1em;
}

.bewertungProfil p {
    margin: 0;
}

.bewertungProfil {
    display: flex;
    margin-top: 0.3em;
}

.bewertungProfil>div:first-child {
    width: calc(100% - 150px);
    text-align: left;
}

.bewertungProfil>div:last-child {
    width: 150px;
    text-align: right;
}

.bewertungProfilContent {
    line-height: 1.6em;
    font-style: italic;
    font-size: 0.8em;
}

.bewertungProfilContent textarea {
    height: 200px;
}

.bewertungTestStart,
.bewertungTestEnde {
    display: none;
}

.bewertungTestStart a {
    font-weight: bold;
}

.bewertungTestEnde a {
    font-weight: bold;
}

.showModal {
    display: block;
}


/*Bewertungsmonitoring ENDE*/


/* weitere Module Dashboard ANFANG*/

#weitereModule {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%
}

#weitereModule h2 {
    width: 100%;
    margin-top: 2em;
}

#weitereModule p {
    margin-top: 0;
}

#weitereModule div.modul-container {
    position: relative;
    flex: 0 0 32.5%;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,45484d+100 */
    background: rgb(0, 0, 0);
    /* Old browsers */
    background: -moz-linear-gradient(left, rgba(0, 0, 0, 1) 0%, rgba(69, 72, 77, 1) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(0, 0, 0, 1) 0%, rgba(69, 72, 77, 1) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(69, 72, 77, 1) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#45484d', GradientType=1);
    /* IE6-9 */
    padding: 35px;
    color: #004376;
    margin: 0 10px 10px 0;
}

#weitereModule div.modul-container>div:first-child {
    width: 100%;
    /*16.11.2021 Statistik Kachel Passiv Darstellungsfehler: bisheriger Wert: 20%*/
    /*vertical-align: middle;*/
}


/*
#weitereModule div.modul-container>div:nth-child(2) {
	width: 70%;
	vertical-align: middle;
}

#weitereModule div.modul-container>div:nth-child(2) h3 {
	color: #fff;
}
*/

#weitereModule div.modul-container>div:last-child {
    width: 100%;
    /*16.11.2021 Statistik Kachel Passiv Darstellungsfehler: bisheriger Wert: 10%*/
    /*vertical-align: middle;*/
}

#weitereModule div.modul-container .icon {
    max-width: 60px;
}

#weitereModule div.modul-container .fa-plus {
    color: #fff;
    font-size: 1.5em;
}

.dashboardSocial {
    margin-bottom: 0;
    display: flex;
    align-items: center;
    line-height: 1.4em !important;
}

.dashboardSocial i,
.keineAbnahme i,
.abnahme i {
    margin-right: 1em;
    font-size: 1.25em;
}

.dashboardSocial span {
    font-weight: bold;
}

.greenSocial,
.keineAbnahme {
    color: seagreen;
    font-weight: bold;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    line-height: 1.4em !important;
}

.redSocial,
.abnahme {
    color: darkred;
    font-weight: bold;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    line-height: 1.4em !important;
}

p.daten-ok {
    color: seagreen;
    margin: 0;
    padding: 0;
}

p.daten-nicht-ok {
    color: darkred;
    margin: 0;
    padding: 0;
}

div.progressbar-wrapper {
    background-color: #BBB;
    width: 100%;
    height: 2em;
    position: relative;
}

div.progressbar {
    height: 2em;
}

div.percents {
    color: #FFF;
    font-weight: bold;
    position: absolute;
    top: calc(50% - .75em);
    width: 100%;
    text-align: center;
}

.rot {
    background-color: darkred;
}

.orange {
    background-color: #f5bc42;
}

.gruen {
    background-color: seagreen;
}


/* meine Module Dashboard ENDE*/


/* Social Posts ANFANG */

#beitragForm {
    display: none !important;
}

div#beitragContentbereich {
    display: flex;
    justify-content: space-between;
}

div#beitragContentbereich>div.contentbereichText {
    flex: 0 1 65%;
}

div#beitragContentbereich>div.contentbereichBild {
    flex: 0 1 33%;
}

textarea#beitragText {
    height: 200px;
}

div.beitragPlanenBereich {
    display: flex;
    justify-content: space-between;
}

div.beitragPlanenBereich div.alignLeft {
    flex: 1 1 25%;
    align-self: flex-end;
}

div.beitragPlanenBereich div.alignRight {
    flex: 1 1 75%;
    align-self: flex-end;
    display: flex;
    justify-content: flex-end;
}

div.beitragPlanenBereich div.alignRight button.saveData {
    margin-left: 10px;
}

#beitragErfassen,
#beitragVorschau,
#beitragGeplant,
#beitragVeroeffentlicht,
#atvBannerGeplant,
#atvBannerVeroeffentlicht,
#pgsLandingpage {
    background-color: #fff;
    padding: 1.5em;
    margin-bottom: 2em;
}

#beitragForm {
    display: flex;
    width: 100%;
}

#beitragErfassen {
    flex: 1 1 auto;
    margin-right: 2em;
}

#beitragVorschau {
    flex: 0 0 400px;
}

#dragDrop {
    position: relative;
    width: 100%;
    height: 200px;
    border: 1px dashed #777777;
}

#dragDrop i {
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 200px;
    color: #777777;
    font-size: 5em;
}

#dragDrop input {
    position: absolute;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    outline: none;
    opacity: 0;
}

#social-post h2 {
    font-size: 1.25em;
    color: #333;
    border-bottom: 1px solid #efefef;
    padding-bottom: 0.5em;
    margin-top: 0;
    padding-top: 0;
}

#social-post label {
    margin-top: 2em;
}

#social-post input,
#social-post textarea {
    padding: 6px;
}

.beitragTable,
.atvBannerTable {
    font-size: 0.85em;
    width: 100%;
    border-collapse: collapse;
}

.beitragTable tr,
.atvBannerTable tr {
    vertical-align: top;
    display: flex;
    flex-wrap: wrap;
    border-top: 1px #000 solid;
    padding: 1em 0;
}

/*Spalte 1: Datum*/
.atvBannerTable tr td:first-child {
    width: 50%;
}

/*Spalte 2: Tasten*/
.atvBannerTable tr td:nth-child(2) {
    width: 50%;
}

/*Spalte 3: Vorschau*/
.atvBannerTable tr td:nth-child(3) {
    width: 100%;
}

div.tv-wrapper {
    position: relative;
    width: 100%;
}

div.tv-wrapper img.tv-image {
    width: 100%;
}

div.tv-wrapper>img.atvBannerPreview {
    position: absolute;
    width: calc(100% - 40px);
    top: 20px;
    left: 20px;
}

#social-post .beitragTable tr,
.atvBannerTable tr {
    justify-content: space-between;
}

#social-post .beitragTable td.geplantTasten, #social-post .beitragTable td.veroeffentlichtTasten {
    width: auto;
}

/*Beitrag Datensatz Styling*/

/*1 Zelle = Beitragsdatum*/
.beitragTable td.\/\*geplantTextBild\*\/ {
    width: 50%;
}

/*2 Zelle = Buttons bzw. Freigabehinweis*/
.beitragTable td.geplantTasten {
    width: 50%;
}

.beitragTable td.geplantTasten>.sp-button {
    margin: 0 0.5em 0.5em;
}

.social-success-freigabe,
.social-success-korrektur,
.gsp-success-freigabe,
.gsp-success-korrektur {
    text-align: right;
    margin: 0;
    display: inline-block;
    float: right;
}

.social-success-korrektur,
.gsp-success-korrektur {
    padding: 0.5em 0;
}

.social-success-freigabe i,
.social-success-korrektur i,
.atv-success-freigabe i,
.atv-success-korrektur i,
.gsp-success-freigabe i,
.gsp-success-korrektur i {
    margin-right: 0.5em;
    color: seagreen;
}

.btn.social-post-freigabe,
.btn.social-post-korrektur,
.btn.atv-freigabe,
.btn.atv-korrektur,
.btn.landingpage-freigabe,
.btn.landingpage-korrektur {
    display: block;
    width: 100%;
    min-width: 180px;
}

.btn.social-post-freigabe,
.btn.atv-freigabe, .btn.landingpage-freigabe {
    background: seagreen;
    color: #fff;
}

.btn.social-post-freigabe::before,
.btn.atv-freigabe::before, .btn.landingpage-freigabe:before {
    content: "\f058";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #fff;
    margin-right: 0.5em;
}

.btn.social-post-korrektur,
.btn.atv-korrektur, .btn.landingpage-korrektur {
    background: darkred;
    color: #fff;
}

.btn.social-post-korrektur::before,
.btn.atv-korrektur::before, .btn.landingpage-korrektur:before {
    content: "\f06a";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #fff;
    margin-right: 0.5em;
}

.btn.social-post-freigabe:hover,
.btn.atv-freigabe:hover, .btn.landingpage-freigabe:hover {
    color: seagreen;
    background: #fff;
}

.btn.social-post-freigabe:hover:before,
.btn.atv-freigabe:hover:before, .btn.landingpage-freigabe:hover:before {
    color: seagreen;
}

.btn.social-post-korrektur:hover,
.btn.atv-korrektur:hover, .btn.landingpage-korrektur:hover {
    color: darkred;
    background: #fff;
}

.btn.social-post-korrektur:hover:before,
.btn.atv-korrektur:hover:before, .btn.landingpage-korrektur:hover:before {
    color: darkred;
}

/*3 Zelle = enthält Vorschaucontainer zum "Toggeln"*/
.beitragTable tr>td:nth-child(3) {
    width: 20%;
}

/*Darstellungsfehler auf Seite Social Media Kampagnen behoben*/
#social-post .beitragTable tr>td:nth-child(3) {
    width: 100%;
}

td.geplantBild, td.veroeffentlichtBild {
    width: 20%;
    padding: 5px;
}

td.geplantText, td.veroeffentlichtText {
    width: 60%;
    padding-left: 1em;
}

td.geplantTasten, td.veroeffentlichtTasten {
    width: 20%;
}

a.vorschauContainer_toggle {
    cursor: pointer;
    display: block;
    margin: 0.5em 0em;

}

.beitragTable div.vorschauContainer,
.atvBannerTable div.vorschauContainer {
    background: #efefef;
    padding: 1.5em;
    display: flex;
    margin-top: 3em;
}

.beitragTable div.vorschauContainer .previewDesktop {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.beitragTable div.vorschauContainer .previewMobile {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.previewDesktop svg,
.previewMobile svg {
    display: block;
    width: 100%;
    margin-bottom: 2em;
    margin-top: -4em;
}

.vorschauContainer .preview {
    display: block;
    width: 100%;
    height: 857px;
    border: none;
    max-width: 520px;
}

.vorschauContainer .preview.aktionpreview {
    max-width: 100%;
}

.vorschauContainer.full .previewDesktop {
    width: 100% !important;
}

.preview-link {
    width: 100%;
    display: block;
    margin-top: 1em;
    margin-bottom: 2em;
    text-align: center;
    font-size: 1.2em;
    font-weight: 600;
}

.preview-link span {
    color: #004376;
}

/*
.beitragTable td.geplantBild,
.beitragTable td.veroeffentlichtBild {
    max-width: 100px;
    width: 20%
}

.beitragTable td.geplantText,
.beitragTable td.veroeffentlichtText {
    width: calc(80% - 50px);
}
*/
td.geplantTextBild {
    width: 75%;
}

.geplantSubContent {
    display: flex;
    font-size: 0.8em;
    width: 100%;
    margin-bottom: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #ddd;
}

.geplantSubContent>div {
    width: 100%;
    padding-right: 1rem;
}

.beitragTable td.geplantText span.strong,
.beitragTable td.veroeffentlichtText span.strong {
    display: inline-block;
    margin-right: 0.5em;
}

.beitragTable td.geplantDatum,
.beitragTable td.veroeffentlichtDatum {
    width: calc(30% - 50px);
}

.beitragTable td.beitragEdit {
    width: 50px;
}

#vorschauBild {
    width: 352px;
    height: 352px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

#myModal_SocialPost_Korrektur textarea {
    height: 200px;
}

.sp-button {
    width: 100%;
    margin: 0;
    padding: 0.5em 1em;
}

.sp-button.secondary {
    display: inline-block;
    width: auto;
}

.social-post-korrektur {
    margin-top: 5px;
}

.beitragStatus {
    text-align: center;
    display: none;
}

.beitragStatus i {
    margin-right: 0.3em;
}


.btn-frage {
    background: #004376;
    width: 100%;
    display: block;
}

.btn-frage i {
    margin-right: 0.5em;
}

.popup h2 {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.popup hr {
    opacity: 0.5;
    margin: 2em 0;
}

.popup .modal-header {
    padding-bottom: 0.5em;
}

.popup textarea {
    min-height: 200px;
    border: 1px solid #ccc;
}

.popup input {
    display: block;
    width: 100%;
    border: 1px solid #ccc;
}


/* Social Posts ENDE */

div#burgerButton {
    display: none;
}

.onlyMobile {
    display: none;
}


/*Landingspages Module Anfang*/

div.lp-head {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

div.lp-head>div.icon {
    flex: 1 1 80px;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
    width: 80px;
    height: 80px;
    background: #fff;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    margin-bottom: 0.5em;
}

div.lp-head>div.icon>img {
    width: 80px;
}

div.lp-head>h1 {
    flex: 1 1 calc(100% - 80px);
    margin: 0 0 0 25px;
    padding: 0;
}

section.lp-container {
    background: #fff;
    padding: 1.5em;
}

section.lp-text-container button.saveData {
    margin-bottom: 1.5em;
}

section.lp-container>div.lp-text-container {
    width: 60%;
}

section.lp-container>div.lp-text-container h3 {
    margin: 0;
}

section.lp-container>div.lp-text-container ul {
    list-style: none;
    margin-bottom: 30px;
}

section.lp-container>div.lp-text-container ul li {
    margin-bottom: 10px;
}

section.lp-container>div.lp-text-container ul li i {
    text-indent: -25px;
    color: #004376;
}

.lp-text-container form>div {
    margin-bottom: 15px;
}

.lp-text-container form>div input {
    width: 100%;
    padding: 6px;
}


/*LP Google Beiträge*/

section.lp-google-beitraege {
    background-image: url(../img/google-beitraege_sutter-local-media-07.jpg);
    background-repeat: no-repeat;
    background-position: right top;
}

section.lp-kauf-facebook {
    background-image: url(../img/social-media-marketing.jpg);
    background-repeat: no-repeat;
    background-position: right top;
}

section.lp-pro-google-set-s,
section.lp-pro-google-set-l {
    background-image: url(../img/Pro-Google-Set.jpg);
    background-repeat: no-repeat;
    background-position: right top;
}

section.lp-google-verknuepfung {
    background-image: url(../img/google-verknuepfung.jpg);
    background-repeat: no-repeat;
    background-position: right top;
}

section.lp-bewertungen {
    background-image: url(../img/bewertungsmonitoring_sutter-local-media-06.jpg);
    background-repeat: no-repeat;
    background-position: right top;
}

section.lp-website {
    background-image: url(../img/websitecheck_sutter-local-media-09.jpg);
    background-repeat: no-repeat;
    background-position: right top;
}

section.lp-passwort {
    background-image: url(../img/passwort_sutter-local-media.jpg);
    background-repeat: no-repeat;
    background-position: right top;
}

section.lp-willkommen {
    background-image: url(../img/willkommen_sutter-local-media.jpg);
    background-repeat: no-repeat;
    background-position: right top;
}

section.lp-benutzer {
    background-image: url(../img/seo-listing_xsutter-local-media-05.jpg);
    background-repeat: no-repeat;
    background-position: right top;
}

form p.formSuccess {
    display: none;
    background-color: rgba(0, 67, 118, 0.2);
    padding: 1em;
    font-weight: 600;
    color: #004376;
}

.lp-container form p.saveData.speichern {
    background-color: rgba(0, 67, 118, 0.2);
    padding: 1em;
    font-weight: 600;
    color: #004376;
}

.lp-container form>button.display {
    display: none;
}

.lp-container form>button.display+p.formSuccess {
    display: inline-block;
}

.lp-container button.saveData {
    margin-bottom: 25px;
}


/*Statistiken im Detail*/

.statistikBody {
    background: #fff;
    display: flex;
}

.statistikListe {
    list-style: none;
    width: 100%;
    padding: 0;
    white-space: nowrap;
    font-size: 0.9em;
    margin: 0.5em 0;
}

.statistikListe li:not(:last-child) {
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
}

span.sc-statistics {
    padding-left: 2em;
}

.statistikListe li {
    display: table;
    width: 100%;
    margin: 0.25em 0;
}

.statistikListe li span:first-child {
    display: table-cell;
    font-weight: 600;
    width: calc(100% - 150px);
}

.statistikListe li span:last-child {
    display: table-cell;
    text-align: right;
    width: 150px;
}

.statistikChart {
    background: #fff;
    margin-top: 1em;
    padding: 1.5em;
}

#bar-chart {
    height: 600px;
    position: relative;
}

#filterbar {
    background: #fff;
    padding: 0.5em 1em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1em;
}

#filterbar>div {
    display: flex;
    align-items: center;
}

#filterbar>div>div {
    margin-left: 1em;
}

.spanBar {
    display: inline-block;
    margin-right: 0.5em;
}

.spanBar+input,
.spanBar+select {
    width: 150px;
}

.statistikChart.flex {
    background: none;
    justify-content: space-between;
    padding: 0;
}

.statistikChart.flex>#bar-chart {
    width: calc(60% - 1em);
    margin-right: 1em;
    background: #fff;
    padding: 1.5em;
}

.statistikChart.flex>#piechart {
    width: 40%;
    background: #fff;
    padding: 1.5em;
}

.facebook-statistik {
    width: calc(50% - 1em);
    background: #fff;
    padding: 1.5em;
}

.facebook-statistik .icon {
    display: block;
    height: 60px;
    width: auto;
    margin: 0 auto 2em;
}

.facebook-statistik .preview {
    display: block;
    width: 100%;
    height: 800px;
    border: none;
}

iframe#desktop {
    max-width: 502px;
    margin: auto;
}

.selectKampagne {
    width: auto !important;
}



.btn-submit {
    background: #004376;
    text-transform: uppercase;
    font-size: 0.85em;
    color: #fff;
    padding: 0.4em 1em;
    cursor: pointer;
    border: none;
}

.btn-submit:hover {
    background: #004376;
}

#statistikpage #weitereModule div.modul-container {
    background: #004376;
    color: #fff;
    padding: 15px 25px 15px;
}

#statistikpage #weitereModule div.modul-container h3,
#statistikpage #weitereModule div.modul-container .saveData {
    color: #fff;
}

#statistikpage #weitereModule div.modul-container .saveData:hover {
    color: #004376;
}

#statistikpage #weitereModule .icon {
    border-color: #fff;
}

#weitereModule .statistikListe {
    margin: 0;
}

.statistikBody .statistikListe {
    padding: 1em 1.5em;
}

.statistikModul h5 {
    margin: 0 0 1em;
}

.modul-container.statistikModul p {
    font-size: 0.9em;
}

.statistikModul>div:first-child>.slm-link {
    text-align: right;
    margin-top: 0.5em;
}

.statistikModul>div:first-child>.flex,
.statistikModul>div:first-child {
    width: 100%;
}

.statistikInfoBtn {
    border-top: 1px solid #e0e0e0;
    padding-top: 1em;
    font-size: 0.85em;
}

.statistikInfoBtn a {
    display: block;
    background: #004376;
    padding: 0.5em 1em;
    margin-top: 0.5em;
    color: #fff;
    font-size: 0.9em;
    display: flex;
    align-items: center;
}

.statistikInfoBtn a:hover {
    background: #004376;
}

div.modul-container.statistikModul {
    padding-bottom: 15px;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}

#weitereModule div.modul-container.statistikModul a.saveData {
    position: static;
}

#weitereModule .statistikModul .mt-1.statistikInfoBtn {
    border-color: rgba(255, 255, 255, 0.4);
}

#weitereModule .statistikModul .statistikInfoBtn a {
    background: #fff;
    color: #004376;
}

#weitereModule .statistikModul .statistikInfoBtn a:hover {
    background: #004376;
    color: #fff;
}


/*LP Bewertungen*/


/*Landingspages Module Ende*/


/* LP Wissenstransfer Anfang ==============*/

#wissen h1 span {
    display: block;
    font-size: 0.6em;
}

#wissen h2 {
    text-align: center;
    position: relative;
    color: #000;
}

#wissen .dreiBox h2 {
    text-align: left;
}

#wissen .dreiBox h2:after {
    margin: 0.3em auto 1em 0;
}

#wissen h2:after {
    content: "";
    display: block;
    margin: 0.3em auto 1em auto;
    width: 120px;
    height: 4px;
    background: #004376;
}

#wissen h3 {
    color: #004376;
    text-transform: uppercase;
    margin-bottom: 0.75em;
    margin-top: 2em;
}

#lpHeaderbild {
    margin-bottom: 1em;
    position: relative;
}

#stoerer {
    position: absolute;
    bottom: 0;
    right: 2em;
    max-width: 30%;
}

/*Bereich zum Eintragen temporär ausblenden:
body#wissen section#wissenstransferZukunft {
    display: none;
}*/

#wissenstransfer,
#wissenstransferZukunft {
    background: #fff;
    padding: 2em;
    margin-bottom: 1em;
}

.dreiviertelBox {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
}

.dreiviertelBox>div:first-child {
    padding-right: 2.5em;
}

.dreiviertelBox .dreiBox {
    width: 100%;
}

.dreiviertelBox .viertelBox {
    width: 50%;
    max-width: 500px;
}

.accordion {
    background-color: #f7f7f7;
    margin-bottom: 0.7em;
    color: #444;
    cursor: pointer;
    padding: 18px 2em 18px 18px;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 15px;
    transition: 0.4s;
    position: relative;
}

.accordion>p {
    padding: 0;
    margin: 0;
}

.panelbild {
    max-width: 200px;
    margin-left: 1.5em;
    float: right;
}

.paneltermin {
    margin: 0;
    font-weight: bold;
    font-style: italic;
}

.panel ul {
    list-style: none;
}

.panel ul li {
    position: relative;
}

.panel ul li:before {
    content: '\f00c';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: -2em;
    top: 0;
    color: #004376;
}

.accordion span {
    position: absolute;
    right: 1em;
    transition: transform 0.2s ease-in-out;
    height: 100%;
    display: flex;
    align-items: center;
    top: 0;
}

.active,
.accordion:hover {
    background-color: #ddd;
}

.panel {
    padding: 0 18px;
    background-color: white;
    max-height: 0;
    overflow: hidden;
    font-size: 0.9em;
    transition: max-height 0.2s ease-out;
}

.vortraegeBild {
    background: url(/assets/img/vortraege.jpg);
    width: 100%;
    height: 100%;
    display: flex;
    background-size: cover;
    border-radius: 50px;
    background-position: center 40%;
}

.vortraegeZukunftBild {
    background: url(/assets/img/vortraegeZukunft.jpg);
    width: 100%;
    height: 100%;
    display: flex;
    background-size: cover;
    border-radius: 50px;
    background-position: center 40%;
}

#stimmen {
    background: #fff;
    padding: 2em 4em 4em 4em;
    margin-bottom: 1em;
}

.gallery-cell {
    width: 33%;
    padding: 1.5em;
    margin-right: 10px;
    line-height: 1.8em;
    font-style: italic;
}

.gallery-cell img {
    max-width: 300px;
    margin: 0 auto 2.5em auto;
    border-radius: 100%;
}

.flickity-prev-next-button.previous {
    left: -3em !important;
}

.flickity-prev-next-button.next {
    right: -3em !important;
}

.flickity-prev-next-button.previous:hover,
.flickity-prev-next-button.next:hover {
    background: #004376;
}

.flickity-prev-next-button.previous:hover .arrow,
.flickity-prev-next-button.next:hover .arrow {
    fill: #fff;
}

.rotateArrow {
    transform: rotate(180deg);
}

.quoteiconend {
    color: #004376;
    margin-left: 0.75em;
    font-size: 0.6em;
    vertical-align: super;
    transform: rotate(180deg);
}

.quoteiconbegin {
    color: #004376;
    margin-right: 0.75em;
    font-size: 0.6em;
    vertical-align: sub;
}

.stimmeautor {
    text-align: center;
    font-size: 0.7em;
    line-height: 1.6em;
    font-style: normal;
}

.panelvideo {
    float: left;
    max-width: 300px;
    margin: 1.25em 2em 1em 0;
}

.panel form .formgroupHalf {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.panel form .formgroupHalf>div {
    width: calc(50% - 0.5em);
}

.panel form .formgroup {
    margin-bottom: 1em;
}

.panel form .formgroup input {
    width: 100%;
    padding: 0.5em;
}

.zukunftthemen {
    margin-top: 4em;
}

#LessonSubjects {
    list-style: none;
}

#LessonSubjects input {
    margin-left: -1.85em;
    margin-right: 1em;
}


/* LP Wissenstransfer Ende ==============*/

/* KI Antwort generieren ==============*/
.antwortGenerieren {
    /* border-top: 1px solid #efefef; */
    margin-bottom: 1rem;
    background: #efefef;
    padding: 1rem;
    border-radius: 7px;
    text-align: center;
}


.antwortGenerieren p {
    font-size: 0.8rem;
    font-style: italic;
}



/*Footer Anfang*/

footer {
    position: absolute;
    bottom: 0;
    background: #ddd;
    padding-left: calc(300px + 3vw);
    padding-right: 3vw;
    padding-bottom: 0.25em;
    padding-top: 0.25em;
    width: 100%;
    text-align: right;
}

ul.rechtliches {
    text-align: center;
    margin-top: 1em !important;
}

footer ul,
ul.rechtliches {
    padding: 0;
    margin: 0;
}

footer ul li,
ul.rechtliches li {
    display: inline-block;
    font-size: 0.75em;
    margin-left: 10px;
}

footer ul li a,
ul.rechtliches li a {
    color: #000;
}

footer ul li a:hover,
ul.rechtliches li a:hover {
    color: #000;
    text-decoration: underline;
}

a#banner {
    width: calc(100% - (300px + 6vw));
    display: block;
    position: absolute;
    bottom: 0;
    margin-left: calc(300px + 3vw);
    margin-top: calc(67px + 3em);
    margin-right: 3vw;
    margin-bottom: 3em;
}

a#banner img.zweispaltigBanner,
a#banner img.einspaltigBanner {
    display: none;
}


/*Footer Ende*/


/*Datenschutz Anfang*/

.hervorgehoben {
    margin-top: 1em;
}


/*Datenschutz Ende*/


/*MOBILOPTIMIERUNG ANFANG*/


/*1200*/

@media all and (max-width: 1200px) {
    .beitragTable div.vorschauContainer {
        flex-wrap: wrap;
    }

    .beitragTable div.vorschauContainer .previewDesktop, .beitragTable div.vorschauContainer .previewMobile {
        width: 100%;
    }

    .beitragTable div.vorschauContainer .previewMobile {
        margin-top: 8em;
    }

    a#banner {
        width: calc(100% - (68px + 6vw));
        margin-left: calc(68px + 3vw);
        margin-top: calc(67px + 3em);
        margin-right: 3vw;
        margin-bottom: 3em;
    }

    a#banner img.dreispaltigBanner,
    a#banner img.einspaltigBanner {
        display: none;
    }

    a#banner img.zweispaltigBanner {
        display: block;
    }

    .onlyMobile {
        display: block;
        margin-bottom: 1em;
    }

    .tab-container ul.tabs h4,
    ul.tabs li p {
        display: none;
    }

    .tab-container i.status.fas.fa-check-circle,
    .tab-container i.status.fas.fa-times-circle {
        margin-left: 0;
        margin-top: 10px;
    }

    /*Header anpassen Anfang
	header div#subnav > ul > li {display:none;}
	header div#subnav > ul > li#account {display:block;}
	header div#subnav {width:300px;}
	header div#search {width:auto;}
	li#account:hover header div#subnav > ul > li {
		display:block;
	}
	*/
    div.imagePreviewWrapper {
        height: 27.5vw;
    }

    /*CustomerAccount Navi Anfang*/
    #customerAccount>ul>li>div>div:last-child {
        display: table-cell;
    }

    header div#logo {
        width: 150px;
        padding-left: 75px;
    }

    #customerAccount {
        min-width: 80px;
    }

    #customerAccount>ul>li {
        height: 65px;
        vertical-align: middle;
    }

    .customer-menu {
        display: none;
    }

    #customerAccount>ul>li:hover ul.customer-menu {
        display: block;
        right: 0;
        top: 65px;
        position: absolute;
    }

    #customerAccount ul.customer-menu li {
        height: auto;
    }

    #customerAccount ul.customer-menu li a {
        display: block;
        width: 100%;
        background: #fff;
        min-width: 250px;
        border-bottom: 1px solid #efefef;
        padding: 10px;
    }

    #customerAccount ul.customer-menu li a:hover {
        background: #004376;
        color: #fff;
    }

    #customerAccount>ul>li>div.table>div {
        vertical-align: middle;
    }

    /*CustomerAccount Navi Ende*/
    /*Header anpassen Ende*/
    /*Navigation anpassen Anfang */
    div#burgerButton {
        display: block;
        cursor: pointer;
        padding: 1.3em 1.7em;
        position: fixed;
        height: 67px;
        top: 0;
        left: 0px;
        z-index: 1000;
        background: #fff;
        border-right: 1px solid #efefef;
        border-bottom: solid 2px #004376;
    }

    nav span.navText {
        display: none;
    }

    .navTextDisplay {
        margin-left: 15px;
        display: inline-block !important;
    }

    .shadow {
        -webkit-box-shadow: 4px 0px 13px -5px rgba(0, 0, 0, 0.75);
        -moz-box-shadow: 4px 0px 13px -5px rgba(0, 0, 0, 0.75);
        box-shadow: 4px 0px 13px -5px rgba(0, 0, 0, 0.75);
    }

    nav {
        width: 68px;
    }

    nav ul {
        max-width: 68px;
    }

    .panel-inner {
        position: absolute;
        width: 88px;
    }

    nav.navTextWidth {
        width: 300px;
    }

    nav.navTextWidth ul {
        max-width: 300px;
    }

    nav.navTextWidth .panel-inner {
        width: 320px;
    }

    main {
        padding-left: calc(68px + 3em);
        padding-right: 3em;
        padding-bottom: 3em;
    }

    /*Passing-Anpassung für absolut positioniertes banner (Content verschieben analog Bannerhöhe)*/
    body#module main {
        padding-bottom: calc(1.5em + 200px);
    }

    nav.navTextWidth ul .notification {
        background: #004376;
        text-align: center;
        padding: 0.3em;
        -webkit-border-radius: 100%;
        -moz-border-radius: 100%;
        border-radius: 100%;
        width: 25px;
        height: 25px;
        position: absolute;
        color: #fff;
        font-size: 0.8em;
        top: 1em;
        left: 260px;
    }

    nav.navTextWidth ul .notification span {
        display: block;
    }

    nav ul .notification span {
        display: none;
    }

    nav ul .notification {
        top: calc(50% - 4px);
        left: 50px;
        width: 8px;
        height: 8px;
        background: rgb(34, 34, 34);
    }

    nav ul a i {
        margin-right: 0;
    }

    #customerAccount>ul>li>ul>li {
        display: block;
    }

    #customerAccount>ul>li>ul>li:first-child {
        border-right: none;
    }

    /*Navigation anpassen Ende*/
    /*Angebote Dashboard Anpassung ANFANG
#angebote {display:flex;flex-wrap: wrap; justify-content: space-between;width:100%}
div.angebot-container {
  flex: 0 0 32.5%;
  background:#004376;
  padding:35px;
  color:#fff;
	position: relative;
  margin-bottom: 18px;
}
div.angebot-container div.angebotsbezeichnung{height:auto;}
div.angebot-container div.angebotsbezeichnung > div:first-child {
  width:25%;
 }
div.angebot-container div.angebotsbezeichnung > div:last-child {
  vertical-align: middle;
  width:75%;
  padding-left:15px;
}
div.angebot-container div.angebotsbezeichnung > div:last-child h3 {font-size:1.6em;margin:0px;font-weight: 400;}
div.angebot-container div.angebotsbezeichnung > div:last-child p {font-size:1.1em;margin:0px;}
div.angebot-container div.angebotsdetails {margin-top:25px;height:auto;}
div.angebot-container div.preis {width:50%;}
div.angebot-container div.preis > p:first-child{font-size:1.1em;margin:0px;}
div.angebot-container div.preis > p:last-child{font-size:2.5em;margin:0px;font-weight: 700;}
div.angebot-container div.angebotsdetails >  div:last-child {width:50%;}

.modullogo {position:absolute;
	bottom:0;
	right:0;
max-width:200px;}
/* Angebote Dashboard Anpassung ENDE*/
    /* meine Module Dashboard ANFANG
#meineModule {display:flex;flex-wrap: wrap; justify-content: space-between;width:100%}
#meineModule p {margin-top:0;}
#meineModule .notification {background:#004376;
	text-align:center;
	padding:0.3em;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	width:30px;
	height:30px;
	position:absolute;
	color:#fff;
	font-size:0.9em;
	top:-0.5em;
	right:-0.5em;
-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.15);
-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.15);
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.15);}
div.modul-container {position: relative;
  flex: 0 0 32.5%;
  background:#fff;
  padding:35px;
  color:#004376;
  margin-bottom: 18px;
}
div.modul-container > div:first-child {width:20%;vertical-align: middle;}
div.modul-container > div:nth-child(2) {width:70%;vertical-align: middle;}
div.modul-container > div:nth-child(2) h3{color:#000;}
div.modul-container > div:last-child {width:10%;vertical-align: middle;}
div.modul-container .icon {max-width:60px;}
/* meine Module Dashboard ENDE*/
    /* meine Daten Dashboard ANFANG
section#meineDaten {display:flex;flex-wrap: wrap; justify-content: space-between;width:100%}
section#meineDaten > div {
  flex: 0 0 32.5%;
  background:#fff;
  padding:35px;
  color:#000;
  margin-bottom: 18px;
}
section#meineDaten > div:first-child {width:33%;}
section#meineDaten > div:nth-child(2)  {width:33%;}
section#meineDaten > div:last-child  {width:33%;}
section#meineDaten h3  {font-weight:400;
	border-bottom:1px solid #ddd;
	position:relative;}
section#meineDaten h3 i  {
	position:absolute;
	right:0;
	color:#efefef;}
section#meineDaten p{position:relative;}
section#meineDaten p i.fa-ellipsis-v,
section#meineDaten p a.fa-ellipsis-v  {
	position:absolute;
	right:0;
	color:#aaa;
	cursor: pointer;}
section#meineDaten h3:not(:first-child)  {margin-top:3em;}
section#meineDaten .oeffnungszeiten {list-style: none;
	padding:0;
	margin:1em 0 0;}
section#meineDaten .oeffnungszeiten span {display: inline-block;
width:200px;}
/* meine Daten Dashboard ENDE*/
    /*Ladebalken Datenpflege anpassen Anfang*/
    #datenpflege main>div.flex {
        display: block;
    }

    #datenpflege h1 {
        width: 100%;
        margin-bottom: 15px;
    }

    #datenpflege div.progress-bar-chart {
        width: 100%;
    }

    /*Ladebalken Datenpflege anpassen Ende*/
    /*Tabs anpassen Anfang*/
    section>article div.flex {
        flex-direction: column;
    }

    .tab-container ul.tabs {
        display: flex;
        align-items: stretch;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #ddd;
        text-align: center;
    }

    .tab-container ul.tabs li {
        width: 100%;
        padding: 20px;
        border-right: 1px solid #ddd;
        border-bottom: none;
    }

    .tab-container ul.tabs p {
        display: none;
    }

    .tab-container ul.tabs li:last-child {
        border-right: none;
    }

    .tab-container ul.tabs li i {
        position: static;
        display: block;
        top: 20px;
        left: 20px;
    }

    ul.tabs li h4 {
        margin-top: 40px !important;
    }

    ul.tabs li h4,
    ul.tabs li p {
        padding: 0 !important;
        position: relative;
        z-index: 1;
        overflow: hidden;
    }

    .tab-container .tabbox {
        width: 100%;
    }

    .tab-container ul.tabs li.current:after {
        right: calc(50% - 25px);
        z-index: 0;
        top: 65px;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    /*Tabs anpassen Ende*/
    .tab-container ul.tabs li.current:after {
        right: calc(50% - 7px);
        top: auto !important;
        bottom: -20px;
        border-width: 15px 0 15px 15px;
        border-width: 15px 0 15px 15px;
    }

    form[name="accountdaten"] #passwortEdit .flex>* {
        width: 100%;
    }

    .inputWrapper.inputWrapperOldPasswort {
        margin-bottom: 1.5em;
    }

    div#zahlungsmethoden>div {
        flex: 0 0 15vw;
    }

    div#zahlungsmethoden input,
    #zahlungsmethoden>div>div {
        height: 15vw;
    }

    .flickity-slider {
        transform: translateX(0%)
    }

    .gallery-cell {
        width: 50%;
    }

    .dreiviertelBox {
        flex-wrap: wrap;
    }

    .dreiviertelBox .viertelBox {
        max-width: 100%;
        width: 100%;
    }

    .dreiviertelBox>div:first-child {
        padding-right: 0;
        margin-bottom: 1em;
    }

    .vortraegeBild,
    .vortraegeZukunftBild {
        height: 200px;
    }

    .geplantSubContent {
        flex-wrap: wrap;
    }

    .geplantSubContent>div {
        margin-bottom: 0.25em;
    }

    .beitragTable td.geplantText span.strong,
    .beitragTable td.veroeffentlichtText span.strong {
        width: 100px;
    }

    #service-management>main>.flex {
        flex-direction: column;
        gap: 3em;
    }

    #serviceKontakt, #allgemeinKontakt {
        width: 100%;
    }



    .kundenserviceKontakt.flex {
        gap: 0 !important;
    }
}


/*900*/

@media all and (max-width:900px) {
    section.lp-container {
        background-image: none !important;
    }

    section.lp-container>div.lp-text-container {
        width: 100%;
    }

    .gallery-cell {
        width: 100%;
    }

    .panelvideo {
        min-height: 35vw;
    }

    .panelvideo {
        float: none;
        width: 100%;
        max-width: 100%;
        margin: 1.25em 0 1.25em 0;
    }

    #filterbar {
        flex-wrap: wrap;
    }

    #filterbar>div {
        width: 100%;
    }

    #filterbar>div:first-child {
        margin-bottom: 0.5em;
    }

    .spanBar+input,
    .spanBar+select {
        width: 100%;
    }

    #filterbar>div>div {
        margin-left: 0;
        margin-right: 1em;
    }

    .statistikBody {
        flex-wrap: wrap;
        padding: 1em;
    }

    .statistikListe {
        width: 100%;
        margin: 0;
    }

    .btn-submit {
        margin-top: 1.5em;
    }

    #auftragsstatusGesamt {
        flex-wrap: wrap;
    }

    #auftragsstatusGesamt>div {
        width: 100% !important;
        max-width: unset !important;
    }

    .svg-item {
        position: static;
        margin: auto;
    }

    .acccordionZusatz {
        flex-wrap: wrap;
    }

    .accordionBody {
        padding: 1em;
    }
}

@media all and (max-width:1500px) {

    div.modul-container,
    a.modul-container {
        flex: 0 0 calc(50% - 10px);
    }

    .werbebanner {
        width: 100% !important;
    }

    .modal-content {
        width: 80%;
    }

    #mediathek div#tab-logo #hauptlogos>div,
    #mediathek div#tab-sublogo #sublogos>div {
        flex: 0 1 45%;
        margin: 5px;
    }
}

@media all and (max-width:1000px) {

    div.modul-container,
    a.modul-container {
        flex: 0 0 100%;
    }

    #loginintro {
        position: static;
        width: 100%;
    }

    #bildintro {
        margin: 0;
    }

    #login>.table,
    #bildintro,
    #login>.table>div {
        display: block;
        width: 100%;
    }

    #loginintro .center,
    #loginintro,
    #bildintro {
        height: auto;
    }

    #bildintro:before {
        width: 100%;
        background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 1%, rgba(255, 255, 255, 1) 34%, rgba(255, 255, 255, 0) 100%);
        background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 1%, rgba(255, 255, 255, 1) 34%, rgba(255, 255, 255, 0) 100%);
        background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 1%, rgba(255, 255, 255, 1) 34%, rgba(255, 255, 255, 0) 100%);
        filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#00ffffff', GradientType=1);
        position: absolute;
        top: 0;
        left: 0;
    }

    .content {
        width: 100%;
        padding-top: 15vh;
    }

    div#ansprechpartner>div>div {
        margin-top: 2em;
    }

    #bewertungTable .bewertungBox {
        width: 40vw;
    }

    #bewertungStatus,
    p#countBewertungen {
        padding: 0 1em;
    }

    #bewertungSection,
    #rechnungSection {
        padding: 1em 0;
    }

    #bewertungTable thead,
    #rechnungTable thead {
        display: none;
    }

    #bewertungTable tr,
    #rechnungTable tr {
        padding: 1em;
        display: block
    }

    #bewertungTable th,
    #bewertungTable td,
    #rechnungTable th,
    #rechnungTable td {
        max-width: none !important;
    }

    #bewertungTable td,
    #rechnungTable td {
        width: 100%;
        -webkit-column-gap: 3.16vw;
        -moz-column-gap: 3.16vw;
        column-gap: 3.16vw;
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 2fr;
        grid-template-columns: 1fr 2fr;
        text-align: left !important;
        padding: 0.3em;
    }

    #bewertungTable tbody td:before,
    #rechnungTable tbody td:before {
        width: 120px;
        content: attr(data-label);
        float: left;
        font-weight: 700;
        padding-right: 1.78em
    }
}


/*768*/

@media screen and (max-width: 768px) {
    a#banner {
        width: calc(100% - 2em);
        margin-left: 1em;
        margin-top: calc(67px + 3em);
        margin-right: 1em;
        margin-bottom: 3em;
    }

    a#banner img.dreispaltigBanner,
    a#banner img.zweispaltigBanner {
        display: none;
    }

    a#banner img.einspaltigBanner {
        display: block;
    }

    .introtext {
        padding: 0 1.5em
    }

    #bewertungTable .bewertungBox {
        width: 40vw;
    }

    h1 {
        font-size: 1.5em !important;
        padding: 0 1em !important;
    }

    h2 {
        font-size: 1.25em !important;
        padding: 0 1em !important;
    }

    h3 {
        font-size: 1em !important;
    }

    .kontaktCard {
        width: 100%
    }

    .modal-content {
        width: 100%;
        padding: 30px
    }

    .modal-dialog {
        align-items: flex-start;
    }

    .modal {
        padding-top: 0;
    }

    div.imagePreviewWrapper {
        height: 250px;
        width: 250px;
        margin: auto;
    }

    #mediathek div#tab-logo #hauptlogos>div,
    #mediathek div#tab-sublogo #sublogos>div {
        flex: 0 1 100%;
        margin: 1em 0;
    }

    .content {
        padding-top: 200px;
    }

    main {
        /*padding-left: calc(68px + 1.5em);*/
        padding-left: 1em;
        padding-right: 1em;
        padding-bottom: 1.5em;
    }

    /*Passing-Anpassung für absolut positioniertes banner (Content verschieben analog Bannerhöhe)*/
    body#module main {
        padding-bottom: calc(1.5em + 300px);
    }

    /*CustomerAccount Navi Anfang*/
    #customerAccount>ul>li>div>div:last-child {
        display: none;
    }

    /*CustomerAccount Navi Ende*/
    /*Suchleiste Anfang*/
    header input[type="search"] {
        display: none;
    }

    header input[type="search"].show {
        display: block;
    }

    header #search input[type="search"] {
        position: fixed;
        top: 67px;
        left: 0;
        width: 100%;
        background: #004376;
        color: #fff;
    }

    /*
	header #search input[type="search"]::placeholder,
	header #search input[type="search"]:-moz-placeholder,
	header #search input[type="search"]::-moz-placeholder,
	header #search input[type="search"]:-ms-input-placeholder,
	header #search input[type="search"]::-webkit-input-placeholder
	*/
    header #search input[type="search"]::placeholder,
    header #search input[type="search"]:-moz-placeholder,
    header #search input[type="search"]::-moz-placeholder,
    header #search input[type="search"]:-ms-input-placeholder,
    header #search input[type="search"]::-webkit-input-placeholder {
        color: #fff;
    }

    /*Suchleiste Ende*/
    /*Tabs anpassen Anfang*/
    ul.tabs li h4,
    ul.tabs li p {
        display: none;
    }

    .tab-container ul.tabs li i {
        font-size: 1.5em;
        top: 0.75em;
        left: 0.75em;
    }

    .tab-container ul.tabs li {
        width: 15%;
        padding: 0.75em 0em;
        border-right: 1px solid #ddd;
        border-bottom: none;
    }

    .tab-container ul.tabs li.current {
        padding: 0.75em;
    }

    .tab-container .tabbox {
        padding: 1.5em 0.75em;
    }

    .tab-container .tab-content {
        padding: 0;
    }

    .tab-container ul.tabs li.current:after {
        top: 50px;
    }

    /*Tabs anpassen Ende*/
    /*Navigation Anpassung Anfang*/
    /*
	div#burgerButton {
		top:0;
		height:67px;
		padding: 1.3em 1.7em;
		border-right: 1px solid #efefef;
		border-bottom: solid 2px #004376;
	}
	*/
    nav.navTextWidth .panel-inner {
        padding-top: 0;
        width: calc(100% + 20px);
    }

    nav i.dropDown {
        left: calc(100% - 50px);
    }

    nav.navTextWidth ul .notification {
        left: calc(100% - 45px);
    }

    nav {
        display: none;
    }

    nav.shadow {
        display: block;
        width: 100%;
        max-width: 100%;
    }

    nav.navTextWidth ul {
        width: 100%;
        max-width: 100%;
    }

    /*
	nav ul li a {
		border-bottom: 1px solid #efefef;
	}
	ul.submenu > li > a {
		border-bottom: 1px solid #004376;
	}
	*/
    /*Navigation Anpassung Ende*/
    /*FORMULAR ANFANG*/
    /*Formular Kommunikationsdaten Anfang*/
    div#kommunikation>div {
        margin-bottom: 20px;
    }

    div#kommunikation>div select {
        flex: 0 1 200px;
    }

    div#kommunikation>div input {
        /*45px: 35 Pixel "Remove-Button" + 10 Pixel Select-Box margin-right*/
        flex: 0 1 calc(100% - 45px);
    }

    form div#kommunikation input {
        width: calc(100% - 35px);
        /*margin-bottom: 45px;*/
    }

    form div#kommunikation select {
        flex: 0 1 100%;
        max-width: 100%;
        margin-bottom: 0.5em;
    }

    /*Zahlungsmethoden Anfang*/
    div#zahlungsmethoden>div {
        flex: 1 1 40%;
    }

    /*Zahlungsmethoden Ende*/
    /*Tooltip Anfang*/
    form div#kommunikation .tooltip i.fa-info-circle {
        font-size: 1.4em;
        position: absolute;
        top: calc(50% - 0.55em);
        right: 0;
    }

    form div#kommunikation .tooltip {
        left: 0;
        top: -0.25em;
    }

    form div#kommunikation>div div.inputWrapper {
        flex: 0 1 calc(100% - 75px);
    }

    form div#kommunikation .tooltip .tooltiptext {
        visibility: hidden;
        width: calc(100% - 1em);
        background-color: #666;
        color: #fff;
        text-align: left;
        border-radius: 0.75em;
        padding: 1.5em 1.5em 1.5em 75px;
        margin: 0 0.5em;
        position: fixed;
        z-index: 10;
        bottom: 15px;
        left: 0;
    }

    form div#kommunikation .tooltip .tooltiptext::after {
        content: "\f05a";
        font-family: "Font Awesome 5 free";
        font-weight: 900;
        font-size: 2.5em;
        color: #fff;
        background: #666;
        position: absolute;
        top: calc(50% - 0.75em);
        left: 35px;
        border: none;
    }

    form div#kommunikation .tooltip:hover .tooltiptext {
        visibility: visible;
    }

    /*Tooltip Ende*/
    /*Formular Kommunikationsdaten Ende*/
    /*FORMULAR ENDE*/
    /*Tabs anpassen Anfang*/
    .tab-container ul.tabs {
        align-content: stretch;
    }

    .tab-container ul.tabs li {
        width: 100%;
        text-align: center;
    }

    .tab-container ul.tabs li i {
        display: block;
    }

    /*Tabs anpassen Ende*/
    div#tab-ansprechpartner select {
        flex: 2 1 100%;
        margin-right: 0;
        margin-bottom: 0.5em;
    }

    .tooltip .tooltiptext {
        width: 90vw;
        left: 0;
    }

    .tooltip .tooltiptext::after {
        left: 1.1em;
    }

    div#zahlungsmethoden>div {
        flex: 0 0 100px;
    }

    div#zahlungsmethoden input,
    #zahlungsmethoden>div>div {
        height: 100px;
    }

    /*Status Anfang*/
    div#statusContainer {
        margin-top: 0;
    }

    div#statusHinweis .tooltiptext:after {
        left: 50%;
    }

    #speichermeldung {
        margin: 1.5em;
    }

    /*Status Ende*/
    .mobilePadding {
        padding: 0 1.5em;
    }

    .panel form .formgroupHalf {
        flex-wrap: wrap;
    }

    .panel form .formgroupHalf>div {
        width: 100%;
    }

    #wissen .dreiBox h2 {
        padding: 0 !important;
    }

    footer {
        padding-left: 1em;
        padding-right: 1em;
    }

    .beitragTable tr {
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 2.5em;

    }

    .beitragTable td {
        width: 100% !important;
    }

    .beitragTable td.geplantBild,
    .beitragTable td.veroeffentlichtBild {
        max-width: 250px;
    }

    /*Fortschritt Anzeige*/
    .accordionHeading>div:first-child {
        width: 100%;
    }

    .accordionHeading>div:nth-child(2) {
        width: 100%;
    }

    .accordionHeadingWerte {
        justify-content: space-between;
        margin-top: 1em;
    }

    .accordionHeader {
        flex-wrap: wrap;
    }

    .accordionToggle {
        width: 30px;
        margin: auto;
    }

    .accordionHeading {
        width: 100%;
    }

    .accordionIcon {
        max-width: 100px;
        margin: auto;
    }

    .accordionHeading h3 {
        text-align: center;
    }
}

@media screen and (max-width: 640px) {
    main {
        padding-left: 0;
        padding-right: 0;
    }

    div#oeffnungszeiten>div select {
        flex: 0 1 100%;
        margin-bottom: 0.5em;
    }

    div#oeffnungszeiten>div:not(:first-child) select {
        margin-top: 2em;
    }

    div#oeffnungszeiten>div input[type="time"] {
        flex: 0 1 calc(46% - 10px);
    }

    div#oeffnungszeiten>div {
        justify-content: flex-start;
    }

    #allgemeinKontakt, .kundenserviceKontakt {
        padding: 2em 1em;
	/* TH */
	& table {
		font-size: .9em;
		& td {
			padding-right: .5em;
		}
	}
	/* TH */
    }

    #service-management>main>.flex {
        gap: 0;
    }

    .flex.serviceImageContainer {
        flex-direction: column;
        /* TH align-items: flex-start; */
        gap: 2rem;
    }

    #serviceKontakt {
        padding: 2em 1em;
    }
}


/*MOBILOPTIMIERUNG ENDE*/


/* ==========================================================================
   Textarea Classes
   ========================================================================== */

.fe-schulung-fett {
    font-weight: bold;
}

.fe-schulung-kursiv {
    font-style: italic;
}

.fe-schulung {
    margin: 0;
}


/*.fe-schulung-absatz {}*/


/* ==========================================================================
   Helper classes
   ========================================================================== */


/*
 * Hide visually and from screen readers
 */

.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: " ";
    /* 1 */
    display: table;
    /* 2 */
}

.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: transparent !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;
    }
}

/*
 *
 *      Ergänzungen Hoppe
 *
 */
/* Filialauswahl */
div.sc-branches {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: baseline;
}

div.sc-branches label {
    display: inherit;
    margin-left: 1em;
    color: #FFF;
}

div.branch-selector-container {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: baseline;
}

a.branch-selector {
    margin-left: 1em;
    color: #FFF;
}

ul.branch-selector {
    color: #FFF;
}

ul.branch-selector li {
    cursor: pointer;
}

ul.branch-selector li:hover {
    background-color: #FFF;
    color: #000;
}

/* Filialauswahl ENDE */
/* Anzeige der Anzahl der zu erledigenden Aufgaben am Menüpunkt 'Auftragsstatus' */
.bubble-red {
    background-color: #F00;
    color: #FFF;
    padding: 5px;
    border: 1px solid #DDD;
    border-radius: 14px;
    font-size: 9pt;
    position: absolute;
    top: 0;
    width: 30px;
    text-align: center;
    z-index: 1;
}

/* Anzeige der Anzahl der zu erledigenden Aufgaben am Menüpunkt 'Auftragsstatus' ENDE */
