body {
    -webkit-font-smoothing: subpixel-antialiased;
    width: 100%;
    margin: 0;
    padding: 0;
    color: #000;
    background-color: #ffffff;
    font-weight: 200;
    display: flex;
    min-height: 100vh;    
    flex-direction: column;
}
body, input, button, textarea {
    font-size: 14px;
    font-family: 'Open Sans', sans-serif;
}
.wrapper {
    margin: 0 5em;
    padding: 0 10px;    
    flex: 1 1 auto;    
}
@media (max-width: 576px) {
    .wrapper {
        margin: 0 1em;        
    }    
}
.section {
    clear: both;
    margin: 0 0 20px;
    padding: 0;
}
.logorow.wbreadcrump {
    margin-bottom: 5px;
}
.section {
    clear: both;
    margin: 0 0 20px;
    padding: 0;
}
.logorow {
    text-align: right;
}
.headnav, .logorow, .menuerow {
    width: 100%;
}
a {
    color: #000;
    text-decoration: none;
}
.logorow img {
    display: inline-block;
}
.portallogo {
    float: left;
    height: 4.5em;
}
a img {
    border: 0 none;
}
a.logoadd {
    float: left;
}
img {
    display: block;
}
.nlqlogo {
    float: right;
    height: 3em;
}
@media (max-width: 576px) {
    .nlqlogo {        
        height: 2em;
        margin-bottom: 0.5em;
    }    
}
.clear {
    clear: both;
}
.group::before, .group::after {
    content: "";
    display: table;
}
.group::after {
    clear: both;
}
.group::before, .group::after {
    content: "";
    display: table;
}
.section.breadcrumb {
    margin-bottom: 5px;
}
.group {
}
.breadcrumb ul {
    color: #878787;
    font-size: 0.7em;
    list-style: outside none none;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
}        
.breadcrumb li {
    display: inline-block;
    float: left;
    margin-right: 1.6em;
}
.menuerow {
    border-top: 1px dotted #000;
    position: relative;
    z-index: 1000;
}
div.content h1 {
    font-size:1.25em;
    font-weight:bold;
    margin:.5em 0 .2em 0;
}
div.content h2 {
    font-size:1.1em;    
    font-weight:600;
    margin:.5em 0;
}
div.content h3 {
    font-size: 0.8em;
    font-weight: 600;
    margin: 0;
    text-transform: uppercase;
} 
div.sidebar h2 {
    font-size: 1em;
    font-weight: bold;
    margin: 0.6em 0;
}       
div.sidebar strong {
    font-weight: 600;
}
hr {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: #878787 -moz-use-text-color -moz-use-text-color;
    border-image: none;
    border-style: dotted none none;
    border-width: 1px 0 0;
    color: #ffffff;
    height: 1px;
    margin-bottom: 0.5em;
    margin-left: 0;
    margin-top: 0.5em;
    width: 100%;
}
div.main, div.footer {
    font-weight: 300;
}
.group {
}
.footer {
    border-top: 1px dotted #878787;
    clear: both;
    margin-top: 60px;
    padding: 20px 0;
    position: relative;
    z-index: 500;
}
.seitenende {
    background-color: #878787;
    clear: both;
    padding: 0;   
    width: 100%;
    height: 80px;
    margin-top: 2em;
}
.seitenende .content {
    margin: 1em 5em;
}
div.wrap3of4, div.wrap1of4 {
    display: inline-block;
}
.span4of4 {
    width: 988px;
}
div.content {
    position: relative;            
}
.wrap3of4 {
    width: 736px;
}
.span3of4 {
    width: 706px;
}        
.wrap1of4 {
    width: 232px;
}
.span1of4 {
    width: 202px;
}
.main, .complementary {
    float: left;
}
.seitenende .content a {
    color: #fff;
    margin-right: 20px;
}
.beitrag {
    margin: 0;
}
div.sidebar {            
    float: right;
    margin: 15px 0;
    font-weight: 400;
    
}
div.sidebar div.section {
    background: #f2f2f2;
    padding: 0 15px;
    position: relative;
}
div.sidebar ul.linkliste {
    margin: 0;
    padding: 0;
    list-style: none;
    margin-top: 1em;
}
div.sidebar ul.linkliste li {
    margin-bottom: 1em;
    position: relative;
}
div.sidebar ul.linkliste li a {
    margin: 15px 0;
}
div.sidebar ul.linkliste li span.clip {            
    left: -18px;
    top: -5px;
    float: left;
    -webkit-border-radius: 0 5px 5px 0;
    -moz-border-radius: 0 5px 5px 0;
    border-radius: 0 5px 5px 0;                        
    width: 30px;
    height: 30px;
    display: block;
    position: absolute;
    background-color: #ccc;                          
    background-repeat: no-repeat;
    background-position: center center;
}
div.sidebar ul.linkliste li.video span.clip {
    background-image: url(../img/video.svg);
    background-size: 1.5em;
}
div.sidebar ul.linkliste li.pdf span.clip {
    background-image: url(../img/file-pdf.svg);
    background-size: 1.2em;
}
div.sidebar ul.linkliste li.phone span.clip {
    background-image: url(../img/phone.svg);
    background-size: 1.4em;
}
div.sidebar ul.linkliste li.html span.clip {
    background-image: url(../img/external-link.svg);
    background-size: 1.5em;
}
div.sidebar ul.linkliste li.logout span.clip {
    background-image: url(../img/sign-out.svg);
    background-size: 1.5em;
}
div.sidebar ul.linkliste li.email span.clip {
    background-image: url(../img/envelope.svg);
    background-size: 1.5em;
}
div.sidebar ul.linkliste li span.clip:before {
    content: '';
    bottom: -5px;
    border-style: solid;
    border-color: #90908f transparent;
    border-width: 5px 0 0 3px;
    position: absolute;
}             
div.sidebar ul.linkliste li span.link {
    display: block;
    margin-left: 1.5em;
    min-height: 1.5em;
}
div.sidebar ul.linkliste li span.link span.fileinfo {
    font-size: 0.75em;
    font-style: italic;
}
/* form */
div.form {              
    position: relative;    
    padding: 1em 1em 2.5em 1em;
    background: #f2f2f2; 
}
div.form label {    
    font-weight: 400;
}
div.row {
    display: flex;
    align-items: flex-start;
    flex-flow: row nowrap;    
    margin: 0.5em auto;
    width: 100%;    
}
.col-1, 
.col-3,
.col-4,
.col-5,
.col-7,
.col-9 {
    padding: 0 0.5rem;
}

div.row .col-1 {
    flex: 0 0 10%;
}
div.row .col-3 {
    flex: 0 0 30%;
}
div.row .col-4 {
    flex: 0 0 40%;
}
div.row .col-5 {
    flex: 0 0 50%;
}
div.row .col-7 {
    flex: 0 0 70%;
}
div.row .col-9 {
    flex: 0 0 90%;
}
div.form input[type="text"],
div.form input[type="password"],
div.form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0;
    font-size: 1em;
    padding: 4px;
    margin-bottom: 10px;
}
div.row input[type="checkbox"] {
    transform: scale(1.2);
}
.button {
    position: absolute;
    padding: 0.5em 1.5em;
    cursor: pointer;
    background: #ccc;
    border: none;
    font-weight: 600;
    white-space: nowrap;
}
.button.right {
    right: -3px;      
    bottom: 8px;
    -webkit-border-radius: 5px 0 0 5px;
    -moz-border-radius: 5px 0 0 5px;
    border-radius: 5px 0 0 5px;
}
.button.bottom {
    -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
}
.button.small {
    padding: 0.25em 1em;    
}
.button.single {
    position: relative;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.button.single:after {
    content: none;
}
.button:after {
    content: '';    
    border-style: solid;    
    position: absolute;
}
.button.right:after {    
    bottom: -5px;
    right: 0;
    border-color: transparent #90908f;    
    border-width: 0 0 5px 3px;    
}  
.button.bottom:after {    
    bottom: 0;
    right: -5px;
    border-color: transparent #90908f;    
    border-width: 0 0 3px 5px;  
} 
.button i {
    padding-right: 1em;
}
.alert {   
    font-weight: 400;
    font-style: italic;   
}
.alert i {
    padding-right: 0.5em;
}
.error {
     color: #e50046;
}
.success {
    color: forestgreen;  
    margin: 2em 0;
}
.center {
     text-align: center;
     margin-left: auto;
     margin-right: auto;
}
/* bootstrap */
div.form-row,
div.form-block {
    background: #f2f2f2; 
}
div.form-block {
    margin-right: -5px;
    margin-left: -5px;
    padding: 0.5rem;
}
div.form-row label {
    font-weight: 600;
    margin: 0.5rem;
    white-space: nowrap;
}
div.form-row div.form-group {
    margin: 0.5rem 1rem 1rem 1rem;
}
.col-form-label {
    font-weight: 400;
}
.form-control,
.custom-select {
    font-size: 0.95rem;
}
h4, h5 {
    margin: 1rem 0;
}
.form-control:disabled, 
.form-control[readonly] {
    background-color: #f2f2f2;
    opacity: 1;
}
.btn-custom,
.btn-custom-blank {
    display: inline-block;
    background: #CCC;
    color: #000000;
    font-weight: 600;
    font-size: 0.95rem;
    padding: .375rem 1.375rem;        
    position: relative;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    margin-left: 1.5em;
}

.btn-custom i,
.btn-custom-blank i {
    margin-right: 0.5rem;
}
.btn-custom:before {
    content: '';
    border-top: 1px dotted #000;
    width: calc(100vw - 11.70em);
    height: 2px;
    display: block;
    position: absolute;
    left: -1.5em;
    bottom: 0;
    z-index: -10;
}
.btn-custom:after,
.btn-custom-blank:after {
    content: '';
    border-style: solid;
    position: absolute;
    bottom: 0;
    right: -5px;
    z-index: 10;
    border-color: transparent #90908f;
    border-width: 0 0 3px 5px;
    z-index: 0;
}
.btn-custom:hover {
    color: #505050;
    border-color: #CCC;
}
.btn-custom.focus, 
.btn-custom:focus {
    box-shadow: 0 0 0 0.2rem rgba(204,204,204,.5);
}
/* navigation */

nav.navbar {
    padding: 0;
    margin-top: -3px;
}
nav a.home {
    background: url(../img/home.png) -44px 0 no-repeat;    
    height: 30px;
    width: 25px; 
    cursor: pointer;
}
nav a.nav-link { 
    font-weight: 400;
    padding: 1rem;
    padding-right: 1rem !important;
    padding-left: 1rem !important;
}
nav a.nav-link:hover,
nav a.nav-link.active {
    background-color: #e50046;
    color: #FFFFFF;
    box-shadow: 2px 2px 6px #cccccc;
    position: relative;
}
nav a.nav-link:hover:after {
    content: '';
    position: absolute;
    top: 0;
    right: -4px;
    border-color: transparent #b11233;
    border-style: solid;
    border-width: 3px 0 0 4px;
}
/* anwendung */
div.dataTables_filter,
div.dataTables_length {
    margin-left: 1rem;
    font-weight: 400;
}
div.dataTables_filter input[type="search"] {   
    font-size: 0.95rem;
    display: inline-block;    
    padding: .375rem .75rem;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
div.dataTables_length select {
    font-size: 0.95rem;    
    display: inline-block;    
    padding: .375rem 0.75rem .375rem .5rem;    
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    vertical-align: middle;     
    border: 1px solid #ced4da;
    border-radius: .25rem;
}
form.del-form {
    position: relative;
    height: 0;
}
form.del-form button.btn-custom-blank {
    position: absolute;
    bottom: 0;
    right: 1rem;
}
.formDiv{
    background-color: #efefef;
    padding: 10px;
    margin-top: -10px;
}

/* Schieberegler */
.switch {display:none;}
.switch + label .buttonbackground:hover {cursor:pointer;}
.buttonbackground {background-color:#ccc;width: 5rem;height: 2.5rem;border-radius: 1.25rem;box-shadow: 0 2px 2px rgba(0,0,0,0.5) inset, 0 -2px 0px rgba(255,255,255,0.5) inset;position: relative;transition:background-color 0.2s ease;margin: 0.5rem auto;display:block;}
.switch:checked + label .buttonbackground {background-color:#64b464;}
.buttonslider {background:#ddd;width:2.7rem;height:2.7rem;border-radius:50%;border:1px solid #aaa;top:-0.15rem;position: absolute;box-shadow: 0 4px 3px rgba(0,0,0,0.3);left: 0;transition:all 0.2s ease;display:block;}
.switch:checked + label .buttonslider {left: 2.5rem;background:#eee;}