/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

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

::-moz-selection {
    text-shadow: none;
}

::selection {
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid;
    margin: 0;
    padding: 0;
    clear: both;
}

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

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

textarea {
    resize: vertical;
}

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

@font-face {
  font-family: 'oevg-awesome';
  src: url('../font/oevg-awesome.eot?72143949');
  src: url('../font/oevg-awesome.eot?72143949#iefix') format('embedded-opentype'),
       url('../font/oevg-awesome.woff?72143949') format('woff'),
       url('../font/oevg-awesome.ttf?72143949') format('truetype'),
       url('../font/oevg-awesome.svg?72143949#oevg-awesome') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'oevg-awesome';
    src: url('../font/oevg-awesome.svg?72143949#oevg-awesome') format('svg');
  }
}
*/

[class^="icon-"]:before, [class*=" icon-"]:before, a[href$=".pdf"]:before, a[href$=".doc"]:before, a[href$=".docx"]:before, a[href$=".xls"]:before, a[href$=".xlsx"]:before, footer .onethird.greybox a:before {
    font-family: "oevg-awesome";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    speak: none;

    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    text-align: center;

    font-size: 120%;
}

.icon-doc:before, a[href$=".pdf"]:before, a[href$=".doc"]:before, a[href$=".docx"]:before, a[href$=".xls"]:before, a[href$=".xlsx"]:before { content: '\e800'; padding-right: 5px; font-size: 100%; }
.icon-menu:before { content: '\e801'; }
.icon-search:before { content: '\e802'; }
.icon-locked:before { content: '\e803'; }
.icon-unlocked:before { content: '\e804'; }
.icon-check:before { content: '\e805'; }
.icon-right:before, footer .onethird.greybox a:before { content: '\e806'; }
.icon-form:before { content: '\e80e'; padding-right: 2px; }

footer .onethird.greybox a:before {
    font-size: 300%;
    position: absolute;
    right: 0;
}

.oevg-icon {
    display: inline-block;
    margin-bottom: 10px;
    margin-right: 10px;
    /*margin-left: 10px;*/
    /*float: right;*/
    /*margin-right: 10px;*/
    /*float: left;*/
}
.oevg-icon:before { font-size: 45px; line-height: 45px; color: #fff; border-radius: 50%; width: 45px; height: 45px; }
.icon-schiene:before { content: '\e807'; background: #d5202f; } .icon-schiene ~ *::selection, .icon-schiene ~ * *::selection { background: #d5202f; }
.icon-gueterverkehr:before { content: '\e808'; background: #751d0f; } .icon-gueterverkehr ~ *::selection, .icon-gueterverkehr ~ * *::selection { background: #751d0f; }
.icon-personenverkehr:before { content: '\e809'; background: #106632; } .icon-personenverkehr ~ *::selection, .icon-personenverkehr ~ * *::selection { background: #106632; }
.icon-wasser:before { content: '\e80a'; background: #225673; } .icon-wasser ~ *::selection, .icon-wasser ~ * *::selection { background: #225673; }
.icon-luft:before { content: '\e80b'; background: #6eacd8; } .icon-luft ~ *::selection, .icon-luft ~ * *::selection { background: #6eacd8; }
.icon-strasse:before { content: '\e80c'; background: #888789; } .icon-strasse ~ *::selection, .icon-strasse ~ * *::selection { background: #888789; }
.icon-infrastruktur:before { content: '\e80d'; background: #4a4545; font-size: 54px; line-height: 38px; } .icon-infrastruktur ~ *::selection, .icon-infrastruktur ~ * *::selection { background: #4a4545; }
.icon-planung:before { content: '\e80f'; background: #ff6c00; } .icon-planung ~ *::selection, .icon-planung ~ * *::selection { background: #ff6c00; }


[tabindex="-1"] {
    outline: 0;
}

body {
    font-family: 'Roboto', sans-serif;
    background: #ffffff; /*150402*/
}

a {
    text-decoration: none;
}

h2 {
    margin: 0.5em 0;
    line-height: 1.2em;
}
/* TABLE */
table {
    border-top: 1px dashed;
    margin-bottom: 1em;
}
.future {
    font-weight: bold;
}
th {
    text-align: left;
}
td, th {
    padding: 0.5em 10px;
    vertical-align: top;
    border-bottom: 1px dashed;
}
td:first-child, th:first-child {
    padding-left: 0;
}
td:last-child, th:last-child {
    padding-right: 0;
}
td p {
    margin: 0 0 0.5em 0;
}
td p:last-child {
    margin-bottom: 0;
}

/* FORM */
button:not(.mfp-close), button:not(.mfp-close):focus, input[type="submit"], input[type="submit"]:focus {
    border: 1px solid;
    border-radius: 4px;
    width: auto !important;
    padding: 4px 6px;
    -webkit-box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.3);
    outline: none
}
button:not(.mfp-close):active, input[type="submit"]:active {
    box-shadow: none;
    position: relative;
    top: 2px;
    left: 2px;
    outline: none
}

/* CONTENT FORM */
#content legend {
    margin-bottom: 15px;
    font-size: 18px;
}
#content input, #content select, #content textarea {
    box-sizing: content-box;
    clear: left;
    float: left;
    margin: 0 9px 13px 0;
    border: 1px solid;
    width: 66%;
    max-width: 380px;
    height: 20px;
    line-height: 20px;
    padding: 4px 6px;
    font-size: 16px;
    font-weight: bold;
}
#content select {
    margin-bottom: 0;
    width: 100%;
}
#content textarea {
    height: 200px;
}
#content label {
    position: relative;
    float: left;
    padding-top: 4px;
    font-size: 14px;
}
#content input[type="radio"], #content input[type="checkbox"] {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
#content input[type="radio"] + label, #content input[type="checkbox"] + label {
    clear: left;
    position: relative;
    left: 0;
    margin-bottom: 13px;
    padding-left: 38px;
}
#content input[type="radio"] + label:before, #content input[type="checkbox"] + label:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid;
    width: 25px;
    height: 25px;
}
#content input[type="radio"] + label:before {
    border-radius: 12.5px;
}
#content input[type="radio"]:checked + label:after, #content input[type="checkbox"]:checked + label:after {
    content: '+';
    position: absolute;
    top: 4px;
    left: 6px;
    font-size: 30px;
    line-height: 16px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
#content input[type="radio"]:checked + label:after {
    content: '\25CB';
    top: 3px;
}
#content select {
    padding: 3px 9px 5px 3px;
    margin: 0 0 13px 0;
    border: 1px solid;
    outline:none;
    display: inline-block;
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    cursor:pointer;
}

.gallery img {
    margin: 0.5em;
}
/* Targetting Webkit browsers only. FF will show the dropdown arrow with so much padding. */
@media screen and (-webkit-min-device-pixel-ratio:0) {
    select {
        padding-right:18px;
    }
}
.select {
    clear: left;
    float: left;
    position: relative;
    margin: 0 9px 0 0;
    width: 66%;
    max-width: 380px;
    padding: 0 14px 0 0;
    cursor:pointer;
}
.select:after {
    content: '<>';
    font: 20px "Consolas", monospace;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    right: 8px;
    top: 2px;
    padding: 0 0 2px;
    position: absolute;
    cursor:pointer;
    pointer-events: none;
}
.select:before {
    content:'';
    display:block;
    position:absolute;
    top: 1px;
    right: 1px;
    width: 30px;
    height: 28px;
    cursor:pointer;
    pointer-events:none;
}
.lt-ie9 .select:after, .lt-ie9 .select:before {
    display: none;
}

/** Spam-Schutz Honeypot **/
.csc-form-8, input[name="tx_form_[Recipient]"], input[name="tx_form_[Recipient]"] ~ label {
    position:absolute; 
    margin:0 0 0 -999em; 
}

/*********************************************************
* Skiplinks
**********************************************************/
#skiplinks {
    padding: 0;
    margin: 0;
    list-style: none;
    list-style-image: none;
}

/*********************************************************
* Header
**********************************************************/
body > header {
    position: relative;
    box-sizing: border-box;
    margin: 0 auto 0 auto;
    width: 100%;
    max-width: 1200px;
    padding: 23px 20px 7px 20px;
    z-index: 5;
}
.logocontainer {
    float: left;
    width: 36%;
    min-width: 337px;
    margin-bottom: 3.5%;
}
.logo {
    width: 100%;
    height: auto;
}
.metacontainer {
    float: right;
    margin-right: -7px;
}
.metacontainer a {
    display: inline-block;
    width: 19px;
    height: 29px;
    padding: 0 7px;
    overflow: hidden;
}

/*********************************************************
* Headernavigation
**********************************************************/
header nav {
    position: relative;
}
header nav .togglemenu {
    display: none;
}
header nav > ul {
    position: relative;
    float: left;
    margin: 0 0 15px 0;
    width: 90%;
    padding-left: 0;
}
header nav > ul > li {
    display: block;
    float: left;
    width: 20%;
    position: relative;
}
header nav > ul > li a {
    position: relative;
}
header nav > ul > li:hover > a:before, header nav > ul > li > a.active:before {
    content: attr(data-hover);
    position: absolute;
    top: 0;
    left: 0;
    font-weight: bold;
    white-space: nowrap;
}

header nav > ul > li .dropcontainer {
    display: none;
    position: absolute;
    top: 21px;
    left: -20px;
    border-top: 24px solid transparent;
    width: 250%;
    z-index: 9;
}
header nav > ul > li:last-child .dropcontainer {
    width: 150%;
}
header nav > ul > li:hover .dropcontainer, header nav > ul > li:active .dropcontainer {
    display: block;
}

header nav > ul > li .dropcontainer > ul {
    float: left;
    margin: 0;
    padding: 13px 8px 8px 16px;
    overflow: hidden;
}

header nav > ul > li .dropcontainer > ul > li {
    display: inline-block;
    position: relative;
    vertical-align: top;
}
header nav > ul > li .dropcontainer > ul > li:after {
    content: '';
    display: block;
    position: absolute;
    top: -500px;
    right: -8px;
    width: 1000px;
    height: 1000px;
    z-index: -1;
}
header nav > ul > li .dropcontainer > ul > li a {
    display: inline-block;
    margin: 0 8px 8px 0;
    padding: 4px 8px 6px 8px;
}
.metacontainer ul {
    margin: 0;
    padding: 0;
}
.metacontainer li {
    position: relative;
    display: inline;
}
.metacontainer li .dropcontainer {
    display: none;
    position: absolute;
    top: 21px;
    right: 0px;
    border-top: 24px solid transparent;
    width: 200px;
    z-index: 9;
}
/*.metacontainer li:hover .dropcontainer, .metacontainer li.opened .dropcontainer {
    display: block;
}*/
.metacontainer form {
    text-align: right;
}
.metacontainer input {
    box-sizing: content-box;
    margin: 0 9px 13px 0;
    border: 1px solid;
    width: 80%;
    height: 20px;
    line-height: 20px;
    padding: 4px 6px;
    font-size: 16px;
    font-weight: normal;
}
.metacontainer label {
    display: none;
}

/*********************************************************
* Slider
**********************************************************/
.slider {
    display: none;
    margin-bottom: 30px;
}
#topcontent .text, .slider .text {
    position: absolute;
    left: 20px;
    bottom: 17px;
    font-size: 36px;
    line-height: 1;
}
a .text:after {
    content: '\e806';
    font-family: "oevg-awesome";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    speak: none;

    display: inline-block;
    text-decoration: inherit;
    margin-left: 0.25em;
    width: 1em;
    text-align: center;

    font-size: 100%;
}

section {
    box-sizing: border-box;
    margin: 0 auto 0 auto;
    width: 100%;
    max-width: 1200px;
}
section#content {
    padding: 40px 20px;
}

/*********************************************************
* BILDER
**********************************************************/
#topcontent .singlepic {
    position: relative;
    margin-bottom: 50px;
    width: 100%;
    overflow: hidden;
}
.imageboxleft {
    float: left;
    margin: 0 20px 20px 0;
}
.imageboxright {
    float: right;
    margin: 0 0 20px 20px;
}
figcaption.text {
    font-size: 0.75em;
}
.textbox :first-child {
    margin-top: 0;
}

/*********************************************************
* Teaser
**********************************************************/
section.teaser > h1 {
    float: left;
    margin: 0;
    font-size: 32px;
    font-weight: normal;
}
section.teaser > ul {
    float: right;
    margin: 16px 0 0 0;
    padding: 0;
    font-size: 16px;
}
section.teaser > ul li {
    display: inline-block;
    margin-left: 10px;
}
section.teaser p a {
    font-weight: bold;
}
section.teaser article > a {
    margin-right: 10px;
}
section.teaser hr {
    margin-bottom: 47px;
    top: 17px;
    position: relative;
}
.onethird {
    float: left;
    box-sizing: border-box;
    margin: 0 0 2.6% 0;
    width: 31.6%;
    padding: 19px 20px 23px 20px;
    font-size: 14px;
}
.no-js .onethird, .nomsnry .onethird, .onethird.hometeaser {
    margin-right: 2.6%;
}
.gutter-sizer { width: 2.6%; }
.onethird:nth-of-type(3n) {
    margin-right: 0;
}
.onethird:nth-of-type(3n+1) {
    clear: left;
}
section.teaser article h1, .onethird.hometeaser h2 {
    font-size: 18px !important;
    font-weight: bold;
}
section.teaser .fullwidth p {
    padding: 0;
}
.onethird.hometeaser .hometeasercontainer {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
    overflow: hidden;
}
.hometeasercontent {
    position: absolute;
    top: 0;
    left: 0;
}
.onethird.hometeaser + a + :not(.hometeaser) {
    clear: left;
}
.twothirds {
    float: left;
    margin: 0;
    width: 65.8%;
    padding: 0;
    list-style-type: none;
}
section.teaser .fullwidth ul li {
    float: left;
}
section.teaser .fullwidth ul li a {
    display: block;
    margin: 0 10px 10px 0;
    padding: 7px 12px 9px 12px;
}



/*********************************************************
* Content
**********************************************************/
#content nav {
    float: left;
    margin-right: 4.5%;
    width: 21%;
}
#content nav h1, #content > article header h1 {
    margin: 0 0 22px 0;
    font-size: 32px;
    font-weight: normal;
    line-height: 1.2em;
}
#content nav hr, #content > article header hr {
    margin-bottom: 25px;
}
#content nav ul {
    padding-left: 0;
}
#content nav a {
    display: inline-block;
    margin-bottom: 9px;
    padding: 4px 20px 6px 20px;
}
#content nav > ul > li > a {
    font-weight: bold;
}

#content nav ul li ul {
    margin: 0 0 0 18px;
}

#content nav ul li a {
    margin-bottom:  9px;
}

#content nav > ul > li {
    margin-bottom: 7px;
}

#content > article aside {
    float: right;
    width: 29%;
    /*margin-left: 3.4%;*/
    /*font-size: 0.8em*/
}

#content > article, .contentcontainer {
    width: 100%;
}
#content > nav + article {
    float: left;
    width: 74.5%;
}
aside + .contentcontainer {
    float: left;
    width: 64.8%;
}
#content > article header h1 {
    font-weight: bold;
}

.contact a {
    text-overflow: ellipsis;
    display: block;
    overflow: hidden;
}

.contentcontainer hr {
    border-style: dashed;
}

/*********************************************************
* Downloadliste
**********************************************************/

.downloads {
    list-style-type: none;
    padding-left: 0;
}

/*********************************************************
* Footer
**********************************************************/
footer section, footer > h1 {
    box-sizing: border-box;
    margin: 0 auto 0 auto;
    width: 100%;
    max-width: 1200px;
    padding: 23px 20px 7px 20px;
}
footer > h1 {
    padding-bottom: 22px;
    font-weight: normal;
}
footer > hr {
    padding-bottom: 10px;
}
footer article {
    border: 1px solid;
    border-left: 0;
    border-right: 0;
}
footer article h1 {
    margin: 0 0 7px 0;
    font-size: 18px;
}
footer article p {
    margin: 0 0 7px 0;
    font-size: 14px;
}
.greybox a {
    position: relative;
    display: block;
}




/*

# Colors:

Rot: #d12233;

Grau: #3c484d;
light: #ebeced;

Grau Navi: #c7c9ca;

Blau: #0b517e;
light: #cedce5;

Grün: #4b8e4f;
light: #dbe8dc;

grey: #acacac;


*/

html,
button,
input,
select,
textarea {
    color: #3c484d;
}

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

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

hr, table, td, th, .logout {
    border-color: #acacac;
}

a {
    color: #d12233;
}

#content input, #content select, #content textarea, .select:before, #content input[type="radio"] + label:before, #content input[type="checkbox"] + label:before {
    background: #efefef;
    border-color: #d6d6d8;
}
.select:after {
    color: #3c484d;
}
button:not(.mfp-close), button:not(.mfp-close):focus, #content input[type="submit"], .metacontainer input[type="submit"], input[type="submit"]:focus {
    border-color: #4b8e4f;
    background: #4b8e4f;
    color: #fff;
}
button:not(.mfp-close):active, input[type="submit"]:active {
    border-color: #3c723f !important;
    background-color: #3c723f !important;
    color: #dedede !important;
}
span.success {
    color: #4b8e4f;
    font-weight: bold;
}

.browsebox li {
  display: inline-block;
  padding: 0 10px;
}

strong.tx-indexedsearch-redMarkup {
  font-weight: normal;
  background: #C7C9CA;
  border-radius: 2px;
  padding: 0 2px;
}


/*********************************************************
* Input focus // outline und placeholder
**********************************************************/
input:focus, textarea:focus {
    -moz-outline-color: #d12233;
    outline-color: #d12233;
}
::-webkit-input-placeholder, ::-webkit-textarea-placeholder {
   color: #3c484d;
}
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-textarea-placeholder {
    color: transparent;
}
:-moz-placeholder {
   color: #3c484d;
}
input:focus:-moz-placeholder, textarea:focus:-moz-placeholder {
   color: transparent;
}
:-ms-input-placeholder, :-ms-textarea-placeholder {
   color: #3c484d;
}
input:focus:-ms-input-placeholder, textarea:focus:-ms-textarea-placeholder {
   color: transparent;
}

header nav .togglemenu, header nav > ul > li a, header nav > ul > li:hover > a:before, header nav > ul > li > a.active:before, .metacontainer a {
    color: #3c484d;
}
header nav > ul > li:hover > a, header nav > ul > li > a.active {
    color: #fff;
}
header nav > ul > li:hover a:before {
    color: #d12233 !important;
}

header nav > ul > li .dropcontainer > ul > li:after, .metacontainer li .dropcontainer {
    background: #c7c9ca;
}
header nav > ul > li ul a {
    background: #efefef;
    color: #3c484d;
}
header nav > ul > li ul a:hover, header nav > ul > li ul a.active {
    background: #3c484d !important;
    color: #fff;
}

.metacontainer a:hover {
    color: #d12233;
}

#topcontent .text, .slider .text {
    color: #fff;
}

section.teaser .fullwidth ul li a {
    color: #3c484d;
}
section.teaser.events article, .onethird.hometeaser, section.teaser.events .fullwidth ul li a {
    background: #ebeced;
    background: #ddd; /*150402*/
}
section.teaser.publications article, section.teaser.publications .fullwidth ul li a {
    background: #cedce5;
}
section.teaser.workshops article, section.teaser.workshops .fullwidth ul li a {
    background: #dbe8dc;
}
section.teaser.events .fullwidth ul li a:hover {
    background: #3c484d;
    color: #fff;
}
section.teaser.publications .fullwidth ul li a:hover {
    background: #0b517e;
    color: #fff;
}
section.teaser.workshops .fullwidth ul li a:hover {
    background: #4b8e4f;
    color: #fff;
}

.onethird form {
    display: none;
}

#content nav a {
    background: #ebeced;
    background: #ddd; /*150402*/
    color: #3c484d;
}
#content nav a:hover, #content nav a.active {
    background: #3c484d;
    color: #fff;
}

footer {
    background: #3c484d;
}
footer > h1 {
    color: #fff;
}
footer article.greybox {
    border-color: #EBECED;
    background: #EBECED;
}
footer article.imprint {
  padding-top: 51px;
  text-align: right;
}
footer article.imprint a {
    color: #ebeced;
    float: right;
    margin-left: 1rem;
}
footer article.imprint a:hover {
    color: #D12233;
}

/* Eventkalender */
.eventkalender .monat {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.eventkalender .tag {
    width: calc(14.28% - 2px);
    text-align: center;
    border: 1px solid #ddd;
    background-color: #fff;
}
.eventkalender .tag.wochenende {
    background-color: #f3f3f3;
}
.eventkalender .tag.inaktiv {
    border: 1px solid #ddd;
    background-color: #ddd;
}
.eventkalender .monat h2 {
    width: 100%;
    margin: 1em 0;
}
.eventkalender .event .oevg-icon {
    margin-bottom: 2px;
    margin-right: 2px;
}
.eventkalender .event {
    background-color: rgba(0, 0, 0, 0.06);
    margin: 0.25em;
    padding: 0.25em;
    position: relative;
    cursor: pointer;
}
.eventkalender .event .oevg-icon:before {
    font-size: 22px;
    line-height: 22px;
    width: 22px;
    height: 22px;
}
.eventkalender .event h4 {
    font-size: 0.875em;
    font-weight: normal;
    margin: 0;
    max-height: 6.7em;
    transition: max-height 0.5s ease-in;
    overflow: hidden;
    word-break: break-word;
    /*white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;*/
}
.eventkalender .event:hover h4 {
    /*max-height: none;
    transition: max-height 0.5s ease-in;*/
}

.eventkalender .event a {
    outline: none;
}

.eventkalender .event article {
    position: absolute;
    top: 0;
    left: 0;
    width: 300%;
    background: #ebeced;
    background: #ddd; /*150402*/
    display: none;
    z-index: 2;
    -webkit-box-shadow: 3px 10px 14px 0px rgba(194,194,194,1);
    -moz-box-shadow: 3px 10px 14px 0px rgba(194,194,194,1);
    box-shadow: 3px 10px 14px 0px rgba(194,194,194,1);
}

.eventkalender .event article h1 {
    font-size: 1em;
}








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

@media only screen and (max-width: 1024px) {
    #content nav h1, #content > article header h1 {
        font-size: 24px;
    }
}
@media only screen and (max-width: 960px) {
    .onethird {
        margin: 0 0 4% 0;
        width: 48%;
    }
    .no-js .onethird, .nomsnry .onethird {
        margin-right: 4%;
    }
    .gutter-sizer { width: 4%; }
    section.teaser .fullwidth .onethird, section.teaser .fullwidth .twothirds {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    .onethird:nth-of-type(3n) {
        margin-right: 4%;
    }
    .onethird:nth-of-type(3n+1) {
        clear: none;
    }
    .onethird:nth-of-type(2n) {
        margin-right: 0;
    }
    .onethird:nth-of-type(2n+1) {
        clear: left;
    }
    #content nav {
        display: none;
    }
    #content > article {
        width: 100% !important;
    }
    #topcontent .text, .slider .text {
        font-size: 40px;
        line-height: 40px;
    }
}
@media only screen and (max-width: 767px) {
    body > header {
        height: auto;
        padding: 23px 0 0 0;
    }
    .logocontainer {
        box-sizing: border-box;
        padding: 0 20px;
    }
    /*header nav, header nav .togglemenu {
        position: relative;
        top: 0;
        left: 0;
    }*/
    header nav {
        clear: left;
        text-align: right;
    }
    header nav .togglemenu {
        display: inline-block;
        text-align: right;
        padding: 5px 10px;
    }
    header nav .togglemenu.open, header nav > ul {
        background: #efefef;
    }
    header nav > ul, header nav > ul > li:hover .dropcontainer {
        display: none;
    }
    header nav .togglemenu.open + ul, header nav > ul > li a.open + .dropcontainer {
        display: block;
        margin-bottom: 0;
    }
    header nav ul {
        float: none;
        width: 100%;
    }
    header nav ul a {
        display: block;
        padding: 10px !important;
    }
    header nav > ul > li {
        float: none;
        width: 100%;
    }
    header nav > ul > li:hover > a, header nav > ul > li > a.open {
        color: #d12233;
        font-weight: bold;
    }
    header nav > ul > li > a.active {
        color: #3c484d;
        font-weight: bold;
    }
    header nav > ul > li:hover > a:before, header nav > ul > li > a.active:before {
        display: none;
    }
    header nav > ul > li .dropcontainer {
        position: relative;
        top: 0;
        left: 0;
        border-top: 0;
        width: 100% !important;
    }
    header nav > ul > li .dropcontainer > ul {
        float: none;
        padding: 0;
    }
    header nav > ul > li .dropcontainer > ul > li {
        display: block;
    }
    header nav > ul > li .dropcontainer > ul > li a {
        display: block;
        margin: 0;
        padding: 0;
        background: #c7c9ca;
    }
    .metacontainer {
        position: absolute;
        top: -4px;
        right: 50px;
        width: 150px;
        margin-right: 0;
    }
    .metacontainer a {
        padding: 5px 10px;
    }
    #topcontent .text, .slider .text {
        font-size: 32px;
        line-height: 32px;
    }

    .responsive th {
        display: none;
    }
    .responsive td {
        display: block;
        padding: 0.5em 10px !important;
    }
    .eventkalender .tag {
        width: 100%;
    }
}
@media only screen and (max-width: 640px) {
    .onethird {
        margin-right: 0 !important;
        width: 100%;
    }
    aside, .contentcontainer {
        width: 100% !important;
        margin: 0;
    }
    input[type="text"] + label, input[type="password"] + label, .select + label {
        clear: left;
        font-size: 12px !important;
        top: -15px;
    }
    #topcontent .text, .slider .text {
        font-size: 24px;
        line-height: 24px;
    }
    #topcontent .singlepic {
        display: none;
    }
    .onethird.hometeaser .hometeasercontainer {
        height: auto;
        padding-top: 0;
        overflow: visible;
    }
    .hometeasercontent {
        position: relative;
    }
}
@media only screen and (max-width: 480px) {
    .min481 {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }
    .logocontainer {
        width: 100%;
        min-width: 0;
    }
    #topcontent .text, .slider .text {
        display: none;
    }
}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
}

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

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    text-indent: -9999px;
}


.hidden {
    display: none !important;
    visibility: hidden;
}

.lt-ie9 .notltie9 {
    display: none;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

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

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    nav, .slider, .logincontainer, .search {
        display: none !important;
    }

    .onethird, .twothirds, #content > article aside, aside + .contentcontainer {
        width: 100% !important;
        float: none;
    }
    #content img {
        width: auto !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    /*a[href]:after {
        content: " (" attr(href) ")";
    }*/

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
