/**
 * @file
 * Subtheme specific CSS.
 */


/* cyrillic-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  src: url(../fonts/open_sans_cyrillic_ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* latin-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  src: url(../fonts/open_sans_latin_ext.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  src: url(../fonts/open_sans_latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



/* Generic */
html,
body {
  overflow-x: hidden;
}

body {
  font-family: Open Sans, sans-serif;
}

h1 {
  font: 32px/48px Open Sans;
  letter-spacing: 0.64px;
  color: #046AB3;
}





/* Bootstrap */

.btn.btn-theme {
  height: 40px;
  background-color: #046AB3;
  font: 18px/24px Open Sans;
  color: #fff;
  border-radius: 0;
  border: 0;
}

.user-logged-in .btn-primary,
.path-user .btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

/* Bootstrap 3 compatibility */
.col-xs-2 {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.col-xs-10 {
  -ms-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

@media (max-width: 768px) {
  .hidden-xs {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .visible-xs {
    display: none !important;
  }
}

/* Node */
.node__content {
  margin-top: 0;
}

.node__content .field--name-field-image img,
.node__content .field--type-image img,
.node__content .field--name-field-user-picture img {
  max-width: 100%;
  height: auto;
}

/* Node type page */
body:not(.page-node-48).node--type-page .node__content .field--name-body {
  display: inline-block;
  padding: 60px;
  background: rgba(255, 255, 255, 0.72);
  display: inline-block;
  margin: -200px 0 0 200px;
  width: 910px;
}

body:not(.page-node-48).node--type-page .node__content .field--name-body>p:first-of-type:first-letter {
  float: left;
  font: Bold 92px/48px Open Sans;
  letter-spacing: 1.84px;
  color: #046AB3;
}

body:not(.page-node-48).node--type-page #main #block-vhs-page-title {
  display: none;
}

body:not(.page-node-48).node--type-page .node__content .field--name-body {
  font: 18px/29px Open Sans;
}

body:not(.page-node-48).node--type-page .node__content .field--name-body img {
  max-width: 100%;
}

body:not(.page-node-48).node--type-page .node__content .field--name-body h1 {
  font: 32px/48px Open Sans;
  letter-spacing: 0.62px;
  color: #046AB3;
}

body:not(.page-node-48).node--type-page .node__content .field--name-body h2 {
  font: Bold 18px/29px Open Sans;
  letter-spacing: 0px;
  color: #046AB3;
}

body:not(.page-node-48).node--type-page .node__content .field--name-body ul {
  /*list-style: none;*/
  padding: 0;
  margin: 2em 0;
}

/*
body:not(.page-node-48).node--type-page .node__content .field--name-body li::before {
  content: '';
  background-color: #046AB3;
  border: 1px solid #707070;
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 10px;
}
*/
body:not(.page-node-48).node--type-page .node__content .field--name-body ul {
  margin-left: 20px;
}

body:not(.page-node-48).node--type-page .node__content .field--name-body li {
  margin: 1em 0;
}

/* nav */
#navbar-main {
  height: 180px;
  box-shadow: 0px 3px 6px #00000029;
}

#block-kontaktnewsletter {
  font: 16px/20px Open Sans;
  color: #046AB3;
  margin-right: 10px;
}

#block-vhs-main-menu {
  font: 18px/24px Open Sans;
}

#block-vhs-main-menu .nav>.nav-item>a {
  color: #000;
}


#navbar-main .navbar-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  height: 95px;
}

#block-vhs-main-menu .nav-link {
  padding: 0.5rem 0.5rem 0 0.5rem;
}

#block-suchenav .fa-search,
#block-suchenav-2 .fa-search {
  font-size: 28px;
  padding-top: 5px;
}

#navbar-top {
  padding: 0;
  flex: 1;
  align-content: flex-start;
}

#CollapsingNavbar {
  flex-grow: inherit;
}

#block-vhs-main-menu .nav-item:last-child .nav-link {
  padding-right: 0;
}

#block-vhs-main-menu a:hover,
#block-suchenav a:hover,
#block-kontaktnewsletter a:hover {
  color: #046AB3;
}

.dropdown-item:focus,
.dropdown-item:hover,
.dropdown-item.active,
.dropdown-item:active {
  background-color: transparent;
}

.site-footer .dropdown-menu-container {
  display: none;
}

a.nav-link--::before {
  display: none !important;
}

/* featured top */
#block-featuredtopsubheadlineaktuelles,
#block-featuredtopsubheadlineunserteam,
#block-seitentitel {
  flex-basis: 100%;
}

.featured-top {
  background-color: #efefef;
  margin-bottom: 20px;
  color: #046AB3;
  min-height: 163px;
}

body.page-node-48:not(.kw-kat-0) .featured-top .content,
body:not(.page-node-48) .featured-top .content {
  margin: 0 15px;
}

.featured-top h1,
.featured-top h2 {
  font: Bold 32px/48px Open Sans;
  letter-spacing: 0.64px;
}

body.node--type-page:not(.page-node-48) .featured-top {
  margin-bottom: 0;
}

body.page-node-48:not(.kw-kat-0) #page>.featured-top,
body.page-node-48:not(.kw-kat-0) #block-willkommen,
body.page-node-48.kw-kat-0 .hauptseite_clickpfad {
  display: none;
}

.breadcrumb {
  background-color: transparent;
  font: 12px/17px Open Sans;
  font-size: 12px !important;
  line-height: 17px;
  margin-bottom: 13px;
  padding: 20px 0 0 0;
}

ol.breadcrumb a:first-child::before {
  display: none !important;
}

.breadcrumb-item+.breadcrumb-item::before {
  color: #046AB3;
}

.breadcrumb-item.active {
  color: inherit;
}

/* bootstrap carousel */
#block-bootstrapsimplecarouselblock {
  margin: 0 15px;
}

#block-bootstrapsimplecarouselblock img {
  max-width: 100%;
  height: auto;
}

.carousel-indicators li {
  width: 20px;
  height: 20px;
  background-color: #279D2D;
  opacity: 1;
  border: 0;
}

.carousel-indicators li.active {
  background: #046AB3;
}

.carousel-caption h3 {
  font: 32px/43px Open Sans;
  letter-spacing: 0.64px;
  color: #046AB3;
  background: #fff;
  opacity: 0.85;
  padding: 24px 40px;
}

.carousel-caption {
  left: 30px;
  bottom: 30px;
  width: 583px;
  height: 90px;
  padding: 0;
  text-align: left;
}

.carousel-indicators {
  bottom: 120px;
  left: 30px;
  right: auto;
  margin: 0;
}

.carousel-indicators li {
  margin: 0 5px 0 0;
}

/* main */

#main-wrapper {
  background: #efefef;
}

/* footer */
.site-footer {
  margin-top: 57px;
  min-height: 450px;
}

.site-footer,
.site-footer .content {
  font: 18px/29px Open Sans;
  color: #fff;
}

.site-footer .block {
  margin: 0;
  padding: 0;
}

.site-footer__top {
  display: flex;
  justify-content: space-between;
}

.site-footer__top .region {
  width: inherit;
  padding: 0;
  margin: 0;
}

.site-footer .nav-link {
  padding: 0;
  color: #fff;
}

#block-service .nav {
  flex-direction: column;
}

#block-hauptnavigation ul,
#block-service ul {
  margin-top: 15px;
}

.site-footer .block,
.site-footer__top h2 {
  border: none;
}

.site-footer__top h2 {
  text-transform: none;
  font: Bold 18px/29px Open Sans;
  color: #fff;
  margin-bottom: 1em;
}

.site-footer__bottom {
  margin-top: 0;
  border: 0;
}

.site-footer__top p {
  margin-top: 0;
  margin-bottom: 0;
}

.site-footer .content a,
.site-footer .content a.is-active {
  color: #fff;
  text-decoration: none;
}

#block-anschrift img[alt="fb"] {
  width: 30px;
}

/* Float Service Icons */
#block-floatserviceiconsblock {
  position: absolute;
  right: 0;
  top: 220px;
  height: 350px;
  color: #fff;
  font: 26px/31px FontAwesome;
  z-index: 1100;
}

#block-floatserviceiconsblock .content {
  position: sticky;
  top: 0;
}

.float-service-icons {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.float-service-icons a .label {
  display: none;
  opacity: 0;
  font: Bold 13px/18px Open Sans;
  letter-spacing: 0px;
  color: #E2E2E2;
  margin-right: 10px;
  white-space: nowrap;
}

.float-service-icons a:hover {
  width: 100%;
  color: #fff;
}

.float-service-icons a:hover>.label {
  display: block;
  opacity: 1;
}

.float-service-icons a {
  background: #046ab3;
  padding: 5px;
  margin: 5px 0;
  display: inline-flex;
  width: 40px;
  height: 40px;
  justify-content: center;
  align-items: center;
  color: #fff;
  transition: width 0.3s;
  text-decoration: none;
}

.float-service-icons .cart-items-count {
  position: absolute;
  top: -5px;
  right: 30px;
  background: #279D2D;
  border-radius: 50%;
  display: inline-block;
  width: 20px;
  height: 20px;
  font: 12px/20px Open Sans;
  text-align: center;
}

.float-service-icons .cart-items-count:empty {
  display: none;
}

/* Aktuelles */
.page-view-aktuelles #block-vhs-page-title {
  display: none;
}

.view-aktuelles a {
  text-decoration: none;
}

.view-aktuelles .views-row {
  background: #efefef;
  border-radius: unset;
  border: 0;
}

.view-aktuelles .views-field-title,
.view-aktuelles .views-field-body {
  font: 18px/29px Open Sans;
  padding: 33px 23.5px 18px 23.5px;
}

.view-aktuelles .views-field-title {
  padding: 20px 22px 0 30px;
}

.view-aktuelles .views-field-body {
  padding: 0 22px 0 30px;
}

.view-aktuelles .views-field-title a {
  font-weight: bold;
  color: #000;
}

.view-aktuelles img {
  width: 100%;
  height: auto;
}

.view-aktuelles .card-columns {
  column-gap: 1.5rem;
}

body:not(.user-logged-in) .field--name-field-tags {
  display: none;
}

.node--type-article .node__content .field--name-field-image img {
  width: 400px;
}

.block-field-blocknodearticletitle .field--name-title {
  font: Bold 32px/48px Open Sans;
  letter-spacing: 0.64px;
  color: #046AB3;
  margin-bottom: 30px;
  display: block;
}

/* User Team */
.view-unser-team img {
  max-width: 100%;
  height: auto;
}

.page-view-unser-team .views-field-body {
  font: 18px/26px Open Sans;
}

.page-view-unser-team .views-field-title,
.page-view-unser-team .views-field-body a {
  font: Bold 18px/26px Open Sans;
  color: #000;
}

.page-view-unser-team .views-field-body p {
  margin: 0;
}

/* KW Allgemein */
#kw hr,
.page-node-48 #block-vhs-page-title {
  display: none;
}

#kw .featured-top {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

#kw .hauptseite_status {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #efefef;
  color: #046AB3;
  font: bold 32px/48px Open Sans;
  letter-spacing: 0.64px;
}

#kw .hauptseite_status .statusmeldung {
  width: 100%;
  padding: 15px;
  margin-right: auto;
  margin-left: auto;
  display: block;
  font: Bold 18px/29px Open Sans;
  color: #046AB3;
}

/* KW Startseite */
#kw .katimages .image-embed-item {
  max-width: 100%;
  height: auto;
}

#kw .katimages .image-caption {
  background: #efefef;
  font: Bold 18px/24px Open Sans;
  text-align: center;
  padding: 8px;
}

#kw .katimages a {
  text-decoration: none;
}

#kw .hauptseite_ohnestatus>a {
  width: 250px;
  height: 40px;
  background-color: #046AB3;
  font: 18px/24px Open Sans;
  margin: 80px auto;
  color: #fff;
}

#kw .media:not(:first-child) {
  margin-top: 10px;
}

#kw .media .tag,
#kw .media .monat {
  font: 16px/16px Open Sans;
  letter-spacing: 0.32px;
  font-weight: lighter;
  text-transform: uppercase;
}

#kw .media-body {
  font: 18px/28px Open Sans;
  color: #046AB3;
}

#kw .media-body>div>a {
  font-weight: bold;
}

#kw .media-left-inner {
  font: 16px/16px Open Sans;
  background-color: #E2E2E2;
  color: #046AB3;
  margin-right: 20px;
  border: 0.5px solid #046AB3;
  padding: 11px;
  width: 50px;
  height: 50px;
}

#kw .media-left-inner:not(:first-child) {
  margin-top: 7px;
}

#kw .media-left-inner .kw-kurstitel {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

body.kw-kat-0 #kw h2 {
  font: 32px/43px Open Sans;
  color: #046AB3;
  letter-spacing: 0.64px;
}

body.kw-kat-0 #kw h2.content-box-heading {
  border-bottom: 0.5px solid #046AB3;
}

#kw .recommendations-news .news .card {
  border-radius: unset;
}

#kw .aktuelles-article-link:hover {
  color: #000;
}

#kw .aktuelles-article-content div {
  padding: 20px 30px;
  background-color: #efefef;
  color: #000;
  font: 18px/29px Open Sans;
}

#kw .aktuelles-article-content h3 {
  font: 18px/29px Open Sans;
  font-weight: bold;
  margin: 0;
}

#block-willkommen h2 {
  font: 32px/48px Open Sans;
  letter-spacing: 0.64px;
  color: #046AB3;
}

#block-willkommen .content {
  font: 18px/29px Open Sans;
  letter-spacing: 0.36px;
}

#kw .kurssuche-startseite {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin: 50px -50vw 100px -50vw;
  background: #efefef;
  padding: 40px;
}

#kw .kurssuche-startseite .content {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

#kw .kurssuche-startseite h2 {
  font: 32px/48px Open Sans;
  border: 0;
  margin-bottom: 20px;
}

#kw .kurssuche-startseite .btn {
  width: 250px;
}

#kw .recommendations .content-box-heading {
  padding-bottom: .5rem;
}

#kw .recommendations .kw-highlight {
  margin-top: 1.5rem;
}

#kw .recommendations a.kw-kurstitel:hover {
  color: #046ab3;
}

/* KW Kurssuche */
.kw-suche {
  margin: 0;
}

.kw-suche .form-control {
  font: 14px/24px Open Sans;
}

.kw-suche label {
  font: Bold 14px/24px Open Sans;
}

.kw-suche input,
.kw-suche select {
  border: 0.2px solid #707070;
  border-radius: unset;
  max-width: 570px;
}

.kw-suche button[type=submit] {
  width: 250px;
  height: 40px;
  background-color: #046AB3;
}

label.kw-wotag:not(:last-child) {
  padding-right: 5px;
}

.kw-container {
  width: 100%;
}

.kw-container label[for=kfs_dozentnameid],
.kw-container input#kfs_dozentnameid {
  display: none;
}

.kw_kalender_headline {
  font: Bold 14px/24px Open Sans;
}

.kw_kalender {
  border: 0.2px solid #efefef;
  padding: 20px 30px;
}

.kw-kalender table {
  margin: 0;
  padding: 0;
  table-layout: fixed;
}

.kw-kalender table tr {
  border: 0;
  padding: 0;
  background: transparent;
  height: 2.5vw;
}

.kw-kalender table tr th {
  text-align: center;
  background: #fff;
  font: 14px/24px Open Sans;
  text-transform: uppercase;
  color: #000;
  border: 0;
}

.kw-kalender table td {
  font: 16px/24px Open Sans;
  text-align: center;
  vertical-align: middle;
  border: 5px solid #fff;
  background: #efefef;
}

.kw-kalender table td.eine,
.kw-kalender table td.mehrere {
  background: #046AB3;
  color: #fff;
}

.kw-kalender table td.eine a,
.kw-kalender table td.mehrere a {
  color: #fff;
  text-decoration: none;
}

.kw-kalender table td.heute {
  font-weight: bold;
}

.kw_kalender>.kw-kalender-footer {
  display: flex;
  justify-content: space-between;
  font: Bold 14px/24px Open Sans;
  flex-wrap: wrap;
}

.kw_kalender>.kw-kalender-footer a {
  color: #000;
}

/* KW Kursuebersicht */
.hauptseite_clickpfad {
  font: 12px/17px Open Sans;
  color: #046AB3;
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin: 0 -50vw 0 -50vw;
  padding: 20px 0 10px 0;
  background: #efefef;
}

.hauptseite_clickpfad a,
.hauptseite_clickpfad a:hover {
  color: #046AB3;
  text-decoration: underline;
}

.hauptseite_clickpfad .clickpfad {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  display: block;
}

.kw-paginationleiste.clearfix::after {
  display: none;
}

.kw-paginationleiste {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

#cat-description-collapse+.kw-paginationleiste {
  margin-top: 120px;
}

.kw-paginationleiste li.page-item a.page-link {
  position: relative;
  display: block;
  padding: .5rem .75rem;
  margin-left: -1px;
  line-height: 1.25;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: unset;
}

.kw-paginationleiste li.active a.page-link {
  background-color: #046ab3;
  border-color: #046ab3;
  z-index: 3;
  color: #fff;
}

.featured-top .kw-nurbuchbare {
  display: none;
  margin: 30px 0;
}

.kw-nurbuchbare .filter-alle {
  display: none;
}

.kw-unterkategorien .kat-overview {
  margin: -5px;
}

.kw-unterkategorien a {
  display: inline-block;
  background-color: #fff;
  /*font: 24px/40px Open Sans;*/
  font: 18px/29px Open Sans;
  font-weight: lighter;
  letter-spacing: 0.48px;
  color: #046AB3;
  padding: 0 15px;
  text-decoration: none;
  margin: 5px;
}

.kw-unterkategorien a:hover {
  color: #fff;
  background-color: #046AB3;
}

.kw-unterkategorien a strong {
  font-weight: lighter;
}

#cat-description-collapse {
  position: absolute;
  color: #046AB3;
  background: white;
  z-index: 4;
  padding: 0 25px 25px 0;
}

#cat-description-collapse.collapse.show {
  box-shadow: 5px 5px 5px #ccc;
}

#cat-description-collapse.collapse:not(.show) {
  display: block;
  height: 5rem;
  overflow: hidden;
}

#cat-description-collapse.collapsing {
  height: 5rem;
}

a.cat-description-collapse-button {
  position: absolute;
  z-index: 4;
  bottom: 0;
  right: 10px;
}

#cat-description-collapse.collapsing a {
  display: none;
}

#cat-description-collapse.collapse.show a {
  top: 80%;
}

a.cat-description-collapse-button.collapsed .fa-angle-up {
  display: none;
}

a.cat-description-collapse-button:not(.collapsed) .fa-angle-down {
  display: none;
}

#cat-description-collapse+.kw-paginationleiste .kw-kursuebersicht,
#cat-description-collapse+.kw-kursuebersicht {
  margin-top: 120px;
}

.kw-paginationleiste+.kw-kursuebersicht,
.kw-kat-6 .kw-paginationleiste {
  margin-top: 0;
}

.kw-kursuebersicht .kw-table-header {
  font: 18px/24px Open Sans;
  background: #046AB3;
  height: 40px;
  align-items: center;
}

.kw-kursuebersicht .kw-table-header a,
.kw-kursuebersicht .kw-table-header a {
  color: #fff;
}

.kw-kursuebersicht .kw-kurstitel,
.kw-kursuebersicht .kw-kurstitel:hover {
  font: Bold 18px/29px Open Sans;
  color: #000;
  text-decoration: none;
}

.kw-kursuebersicht .kw_ampel.status2 {
  display: none;
}

.kw-kursuebersicht .kw-table-row div {
  font: 18px/29px Open Sans;
}

.kw-kursuebersicht .kw-table-row.alt1 {
  background: rgba(239, 239, 239, 0.5);
}

.kw-kursuebersicht .kw-table-row.alt2 {
  background: rgba(239, 239, 239);
}

.kw-kursuebersicht .ampelbutton {
  text-align: right;
}

.kw-kursuebersicht .col-sm-1:last-child {
  display: flex;
  justify-content: flex-end;
}

/* KW Kursansicht */
.kw-kursdetails .kw-kurs-container h2 {
  font: 32px/43px Open Sans;
  letter-spacing: 0.64px;
  border-bottom: 1px solid #046AB3;
  padding-bottom: 10px;
}

.kw-kurs-container p,
.kw-kurs-container h3 {
  font: Normal 18px/29px Open Sans;
  letter-spacing: 0.36px;
}

.kw-kurs-container h3 {
  color: #046AB3;
}

.kw-container>h2 {
  margin-bottom: 40px;
}

.kw-kurs-container h2 {
  color: #046AB3;
}

.kw-kurs-container a,
.kw-kurs-container .tab-content a:hover {
  color: #000;
}

.kw-kat-11 .kw-ampel-status,
.kw-kat-11 .kw-buttonleiste .in-warenkorb-legen,
.kw-kat-11 .kw-buttonleiste .im-warenkorb,
.kw-kat-11 .kw-buttonleiste .ausgebucht {
  margin-bottom: 15px;
}

.kw-kat-11 .kw-buttonleiste .im-warenkorb {
  opacity: .65;
}

.kw-ampel-status .kw_ampel {
  display: block;
  text-align: center;
  vertical-align: middle;
  font: 18px/24px Open Sans;
  padding: .375rem .75rem;
}

.kw-ampel-status .kw_ampel.status1,
.kw-ampel-status .kw_ampel.status2,
.kw-ampel-status .kw_ampel.status3 {
  color: green;
  border: 1px solid green;
}

.kw-ampel-status .kw_ampel.status7 {
  color: grey;
  border: 1px solid grey;
}

.kw-ampel-status .kw_ampel.status4 {
  color: red;
  border: 1px solid red;
}

.kw-kurs-info {
  margin: 40px 0;
}

.kw-kurs-info .row {
  margin: 0;
  padding: 5px 0;
}

.kw-kurs-info .row:nth-child(2n+1) {
  background: rgba(239, 239, 239, 0.5);
}

.kw-kurs-info .row:nth-child(2n) {
  background: rgba(239, 239, 239);
}

.kw-kurstageuebersicht.kw-table {
  margin: 40px 0;
}

.kw-kurstageuebersicht.kw-table>.kw-table-header {
  background: rgba(239, 239, 239);
  padding: 5px 0;
  margin: 0;
}

.kw-kurstageuebersicht .kw-table-row {
  margin: 0;
  padding: 5px 0;
  background: rgba(239, 239, 239, 0.5);
}

/* KW Warenkorb - Anmeldung */
#header-wk,
#kw-wk-menu-content {
  display: none;
}

.kw-wk-kurse .kw-table-header {
  background: #046AB3;
  margin: 0;
  color: #fff;
}

.kw-wk-kurse .kw-table-row {
  font: 18px/29px Open Sans;
  margin: 0;
}

.kw-wk-kurse .kw-table-row a.kw-kurstitel {
  font: Bold 18px/29px Open Sans;
  color: #000;
  text-decoration: none;
}

.kw-wk-kurse .kw-table-row a.kw-kurstitel:hover {
  color: #000;
}

.kw-wk-kurse .kw-table-row.alt1 {
  background: rgba(239, 239, 239, 0.5);
}

.kw-wk-kurse .kw-table-row.alt2 {
  background: rgba(239, 239, 239);
}

.kw-wk-kurse .text-danger {
  color: #000 !important;
}

body.kw-kat-4 .kw-buttonleiste {
  display: flex;
  justify-content: flex-end;
}

body.kw-kat-4 .kw-buttonleiste a {
  width: 250px;
  height: 40px;
}

body.kw-kat-4 .kw-buttonleiste a:not(:first-child) {
  margin-left: 10px;
}

/* KW Anmeldebereich */
.anmeldung {
  font: 18px/29px Open Sans;
}

.anmeldung .kw-anmeldung-label {
  font: Bold 14px/24px Open Sans;
}

.anmeldung input {
  border: .2px solid #707070;
  border-radius: unset;
}

.anmeldung .alert-warning::before {
  display: none;
}

.anmeldung .alert-warning {
  padding: 30px;
  background-color: #efefef;
  color: #000;
  border: 0;
  border-radius: unset;
}

.anmeldung .row.form-group {
  margin-bottom: 40px;
}

.anmeldung div:not(.checkbox)>label:not(.radio-inline) {
  display: block;
  font: bold 14px/24px Open Sans;
}

#tedit_nurstrasseid,
#tedit_nurhausnrid {
  display: inline-block;
}

.anmeldung a,
.anmeldung a:hover {
  color: #000;
  font-weight: bold;
  text-decoration: none;
}

.anmeldung .text-right .h3 {
  font-weight: bold;
}

.anmeldung .kw-buttonleiste .btn {
  width: 250px;
}

.anmeldung .text-sum {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}

.anmeldung .ermaessigung {
  margin: 30px 0;
}

.anmeldung label[for=tedit_pflicht_geschlecht_id]+label,
.anmeldung label[for=tedit_pflicht_geschlecht_id]+label+label {
  margin-right: 10px;
}

.kw-kat-500 .alert.alert-warning {
  color: #fff;
  background-color: #046ab3;
  border: 0;
  border-radius: unset;
}

.kw-kat-500 .alert.alert-success::before {
  display: none;
}

.kw-kat-500 .alert.alert-success {
  color: #000;
  background-color: #f0f0f0;
  border: 0;
  border-radius: unset;
}

.kw-kat-500 .alert.alert-danger {
  border: 0;
  border-radius: unset;
}

.kw-kat-500 .alert.alert-warning::before,
.kw-kat-500 .alert.alert-danger::before {
  display: none;
}

.kw-kat-500 .hauptseite h3,
.kw-kat-500 .regards {
  margin: 40px 0;
}

.kw-kat-500 input[type=submit],
.kw-kat-500 .kw-buttonleiste button {
  width: 100%;
}

.kw-kat-500 .sum {
  margin: 40px 0;
}

.kw-kat-500 h2.kw-anm-best {
  margin: 0.5rem 0;
}

/* KW Dozenten Uebersicht */
#dozent-pagination {
  flex-wrap: wrap;
  margin: -5px;
  padding-bottom: 20px;
}

#dozent-pagination li {
  width: 40px;
  height: 40px;
  background: #fff;
  line-height: 40px;
  text-align: center;
  margin: 5px;
}

#dozent-pagination li.aktiv {
  background: #046AB3;
}

#dozent-pagination li.aktiv a {
  color: #fff;
}

.doz_buchstabe {
  font: 32px/48px Open Sans;
  letter-spacing: 0.64px;
  color: #046AB3;
}

.kw-doz-uebersicht a {
  font: bold 18px/29px Open Sans;
  letter-spacing: 0px;
  color: #000;
  text-decoration: none;
}

.kw-doz-uebersicht a:hover {
  color: #000;
}

.kw-doz-uebersicht .kw-table-row.alt1 {
  background: rgba(239, 239, 239, 0.5);
}

.kw-doz-uebersicht .kw-table-row.alt2 {
  background: rgba(239, 239, 239, 1);
}

.kw-doz-uebersicht .kw-table-data a {
  font-weight: normal;
}

/* KW Dozenten Detail */
.kw-dozdetails h2.page-header {
  font: 32px/29px Open Sans;
  letter-spacing: 0.64px;
  color: #000000;
  border: 0;
}

.kw-dozkursliste .list-group-item {
  border: 0;
  font: 18px/29px Open Sans;
  letter-spacing: 0px;
  color: #000;
  text-decoration: none;
  padding: 0;
}

body.kw-kat-213 .kw-buttonleiste {
  margin-top: 50px;
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {

  /* nav */
  .navbar-brand img {
    width: 205px;
  }

  .nav-item.menu-item--expanded.dropdown,
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: unset;
  }

  #navbar-main {
    position: relative;
  }

  #block-suchenav-2 {
    display: none;
  }

  .navbar-expand-lg .navbar-nav .dropdown-menu {
    height: 370px;
  }

  .dropdown-menu {
    border-radius: unset;
  }

  .dropdown-item {
    padding: 0 0 23px 0;
    display: block;
    width: 100%;
    clear: both;
    font-weight: 400;
    color: #212529;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
  }

  .dropdown-menu-container>.dropdown-menu-container-inner>.dropdown-menu>.dropdown-item>.dropdown-menu,
  .dropdown:not(.show)>.dropdown-menu-container {
    display: none;
  }

  .dropdown.show .dropdown-menu-container {
    width: 100%;
    height: 370px;
    margin-top: 40px;
    position: absolute;
    left: 0;
    background: #efefef;
  }

  .dropdown.show .dropdown-menu-container-inner {
    width: 930px;
    margin: 0 auto;
    box-shadow: 1px 3px 6px #00000029;
    background: #fff;
    display: flex;
    height: 100%;
  }

  .dropdown.show .dropdown-menu {
    width: 350px;
    height: 300px;
    margin: 40px 0 0 0;
    border: 0;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    position: static;
  }

  .dropdown-menu-sidebar {
    width: 300px;
    border-right: 1px solid #efefef;
    margin: 20px 50px 20px 20px;
  }

  .dropdown-menu-container-programm .dropdown-menu-sidebar {
    background-image: url(/sites/default/files/media-icons/nav/DSC_7885.png);
    background-repeat: no-repeat;
    background-size: 240px 130px;
    background-position: 0 70px;
  }

  .dropdown-menu-container-über-uns .dropdown-menu-sidebar {
    background-image: url(/sites/default/files/media-icons/nav/ueber-uns.jpg);
    background-repeat: no-repeat;
    background-size: 240px 130px;
    background-position: 0 70px;
  }

  .dropdown-menu-container-service--beratung .dropdown-menu-sidebar {
    background-image: url(/sites/default/files/media-icons/nav/service-beratung.jpg);
    background-repeat: no-repeat;
    background-size: 240px 130px;
    background-position: 0 70px;
  }

  .dropdown-menu-container-aktuelles .dropdown-menu-sidebar {
    background-image: url(/sites/default/files/media-icons/nav/aktuelles.jpg);
    background-repeat: no-repeat;
    background-size: 240px 130px;
    background-position: 0 70px;
  }

  .dropdown-menu-sidebar h2 {
    font: bold 20px/48px Open Sans;
    letter-spacing: 0.48px;
    color: #046AB3;
    margin-top: 20px;
  }

  .nav-item.menu-item--expanded.dropdown>.nav-link::after {
    display: none;
  }

  .hauptseite_clickpfad .clickpfad {
    max-width: 960px;
  }

  #kw .hauptseite_status .statusmeldung {
    max-width: 960px;
  }

  #block-vhs-main-menu .nav>.nav-item.active>span,
  #block-vhs-main-menu .nav>.nav-item.show>span,
  #block-vhs-main-menu .nav>.nav-item.active>a,
  #block-vhs-main-menu .nav>.nav-item.show>a {
    color: #046AB3;
  }

  .dropdown-toggle::after {
    display: none;
  }

  #block-bootstrapsimplecarouselblock img {
    width: 1170px;
    height: 370px;
    object-fit: cover;
  }

  #block-willkommen {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }

  /* aktuelles */
  #kw .aktuelles-article-image {
    padding-right: 0;
  }

  #kw .aktuelles-article-content {
    padding-left: 0;
  }

  #kw .recommendations-news .news {
    margin-bottom: 40px;
  }

  #kw .recommendations-news .news .content-box-heading {
    padding-bottom: .5rem;
  }

  #kw .recommendations-news .news .card-columns {
    margin-top: 1.5rem;
  }

  #kw .featured-top {
    min-height: 183px;
  }

  /* KW Dozent Uebersicht */
  ul.pagination.collapse {
    display: flex;
  }

  /* KW Kursuebersicht */
  .kw-kursuebersicht .kw-table-row {
    min-height: 80px;
  }

  .kw-kursuebersicht .kw_ampel {
    font: normal 10px/1em Open Sans;
  }

  .block-field-blocknodearticlefield-image {
    float: left;
    margin-right: 70px;
  }

  .block-field-blocknodearticlefield-image .field--type-image,
  .block-field-blocknodearticlefield-image img {
    margin: 0;
    float: none;
  }

  .block-field-blocknodearticlefield-image,
  .block-field-blocknodearticletitle,
  .block-field-blocknodearticlebody {
    display: table;
  }

  .node--type-article .block-article-back-button-block .btn {
    width: 250px;
    margin-left: 470px;
  }

  .kw-kursuebersicht .ampelbutton.nicht_buchbar .fa-shopping-cart {
    color: grey;
  }

  .kw-kursuebersicht .ampelbutton .fa-shopping-cart {
    color: green;
  }

  .kw-kursuebersicht .ampelbutton.ausgebucht .fa-shopping-cart {
    color: red;
  }
}

/* Large devices */
@media (min-width: 1200px) {

  .hauptseite_clickpfad .clickpfad {
    max-width: 1140px;
  }

  #kw .hauptseite_status .statusmeldung {
    max-width: 1140px;
  }

  .dropdown.show .dropdown-menu-container-inner {
    width: 1110px;
  }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {

  /* Allgemein */
  h1 {
    font: 18px/24px Open Sans;
  }

  table {
    display: block;
    width: 100%;
    overflow-x: scroll;
  }

  /* logo */
  .navbar-brand {
    padding: 0;
  }

  .navbar-brand img {
    width: 123px;
  }

  /* nav */
  .kw-kat-0 #main-wrapper {
    margin-top: 15px;
  }

  #navbar-main {
    height: 95px;
    overflow: auto;
    padding: 15px;
  }

  #navbar-top {
    display: none;
  }

  #header {
    height: 95px;
  }

  .navbar-toggler {
    border-radius: 55px;
    color: #046AB3;
    border-color: #046AB3;
    width: 55px;
    height: 55px;
  }

  .navbar-toggler:focus {
    outline: none;
  }

  .navbar-toggler-icon {
    background: url(../images/menu.svg) no-repeat center;
  }

  .navbar-collapsed .navbar-toggler-icon {
    background: url(../images/menu-collapsed.svg) no-repeat center;
  }

  #block-kontaktnewsletter {
    display: none;
  }

  .mobile-nav-active #CollapsingNavbar {
    display: block;
  }

  #navbar-main .navbar-container {
    align-items: flex-start;
    width: 100%;
  }

  body.navbar-collapsed #navbar-main {
    height: 100%;
    align-items: baseline;
  }

  #CollapsingNavbar {
    width: 100%;
    padding: 15px 0 60px 0;
  }

  #block-vhs-main-menu a,
  #block-vhs-main-menu a:hover {
    color: #000;
  }

  #block-vhs-main-menu ul.navbar-nav li:not(.show) {
    border-top: 1px solid #00000029;
  }

  #block-vhs-main-menu ul.navbar-nav li:not(.show):last-child {
    border-bottom: 1px solid #00000029;
  }

  #block-vhs-main-menu .nav-link,
  .dropdown-item {
    padding: 0.5rem 0;
  }

  .nav-item.menu-item--expanded.dropdown.show>span.nav-link {
    font-weight: bold;
  }

  .nav-item-dropdown-opened>.nav-item.show>a {
    font-weight: bold;
  }

  .nav-item-dropdown-opened>.nav-item.show>a::after {
    display: none;
  }

  .dropdown-item-dropdown-opened>.dropdown-item.show>a {
    color: #000;
    font-weight: bold;
    text-decoration: none;
  }

  .dropdown-item-dropdown-opened>.dropdown-item.show>a::after {
    display: none;
  }

  #block-vhs-main-menu .dropdown-toggle::after {
    display: block;
    background: url(../images/pfeil_rechts.svg) no-repeat center;
    float: right;
    margin: 5px 25px;
    width: 8px;
    height: 14px;
    border: 0;
  }

  #block-vhs-main-menu li.show>.dropdown-toggle::after {
    width: 14px;
    height: 8px;
    margin: 8px 25px;
    background: url(../images/pfeil_oben.svg) no-repeat center;
  }

  .nav-item.menu-item--expanded.dropdown.show>span.nav-link.dropdown-toggle::after {
    display: none;
  }

  .nav-item-dropdown-opened>.nav-item:not(.has-dropdown-item-dropdown-opened) {
    display: none;
  }

  #block-vhs-main-menu ul.navbar-nav li.nav-item.has-dropdown-item-dropdown-opened {
    border-top: 0;
  }

  .nav-item-dropdown-opened>.nav-item.show {
    display: list-item;
  }

  .dropdown-menu.dropdown-item-dropdown-opened {
    display: block;
  }

  .dropdown-menu.dropdown-item-dropdown-opened>.dropdown-item:not(.has-dropdown-item-dropdown-opened) {
    display: none;
  }

  .dropdown-menu.dropdown-item-dropdown-opened>.dropdown-item.show {
    display: list-item;
  }

  .dropdown-item>a {
    display: block;
  }

  .dropdown-menu {
    border: 0;
  }

  .dropdown-menu-sidebar {
    display: none;
  }

  .navbar-nav-container>ul {
    overflow: hidden;
  }

  #block-suchenav-2 {
    margin: auto 27px auto auto;
  }

  #block-suchenav-2 svg {
    height: 28px;
    width: 28px;
  }

  #block-vhs-breadcrumbs {
    display: none;
  }

  /* featured top */
  .featured-top {
    min-height: auto;
    background-color: transparent;
    margin-top: 15px;
    margin-bottom: 0;
    color: #000;
  }

  .featured-top .content {
    width: 100%;
  }

  .featured-top h1,
  .featured-top h2 {
    font: bold 18px/24px Open Sans;
    letter-spacing: 0px;
    color: #000;
  }

  .featured-top h3 {
    display: none;
  }

  /* Node type page */
  body:not(.page-node-48).node--type-page .node__content .field--name-body {
    display: block;
    padding: 0;
    background: transparent;
    margin: 0;
    width: auto;
  }

  body:not(.page-node-48).node--type-page .node__content .field--name-body>p:first-of-type:first-letter {
    float: left;
    font: normal 18px/29px Open Sans;
    letter-spacing: 0;
    color: #000;
  }

  /* Team Uebersicht */
  .page-view-unser-team .featured-top h3 {
    display: none;
  }

  .page-view-unser-team .views-field-title,
  .page-view-unser-team .views-field-body a {
    font: bold 16px/24px Open Sans;
    letter-spacing: 0px;
  }

  .page-view-unser-team .views-field-body {
    font: normal 16px/24px Open Sans;
    letter-spacing: 0px;
  }

  .page-view-unser-team .views-row:not(:last-child) {
    margin-bottom: 30px;
  }

  /* Aktuelles */
  .view-aktuelles .views-field-title {
    padding: 20px 0 0 20px;
  }

  .view-aktuelles .views-field-body {
    padding: 0 20px;
  }

  .view-aktuelles .card-columns .card:not(:last-child) {
    margin-bottom: 40px;
  }

  .block-field-blocknodearticletitle .field--name-title {
    font: bold 20px/28px Open Sans;
    letter-spacing: 0.4px;
  }

  /* footer */
  .site-footer__top {
    flex-flow: column;
  }

  .site-footer__top .region:not(:first-child) {
    padding-top: 40px;
  }

  /* KW Allgemein */
  body.kw-kat-0 #kw h2 {
    font: 20px/27px Open Sans;
    letter-spacing: 0.4px;
  }

  .hauptseite_clickpfad {
    display: none;
  }

  #kw .featured-top {
    min-height: auto;
    background-color: transparent;
    margin-bottom: 0;
  }

  #kw .featured-top h2 {
    font: bold 18px/24px Open Sans;
    letter-spacing: 0px;
  }

  /* KW Startseite */
  .kw-kat-0 #page>.featured-top {
    display: none;
  }

  #kw .kurssuche-startseite {
    margin: 25px -50vw 25px -50vw;
  }

  #kw .recommendations-news .news h2,
  #kw .recommendations-news .recommendations h2 {
    margin-top: 25px;
  }

  /* KW Kursuebersicht */
  .kat-overview {
    display: none;
  }

  .kw-kursuebersicht {
    padding: 0;
  }

  .kw-kursuebersicht .kw-table-row:not(:last-child) {
    margin-bottom: 40px;
  }

  .kw-kursuebersicht .kw-table-row.alt1,
  .kw-kursuebersicht .kw-table-row.alt2 {
    background: transparent;
  }

  .kw-kursuebersicht .col-sm-1:last-child {
    display: block;
  }

  .kw-kursuebersicht .ampelbutton {
    background: #046ab3;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .kw-kursuebersicht .ampelbutton a {
    color: #fff;
  }

  .kw-kursuebersicht .ampelbutton .fa-shopping-cart,
  .kw-kursuebersicht .ampelbutton .fa-check {
    color: #fff;
  }

  .kw-kurs-show-details {
    display: block;
    height: 40px;
    border: 1px solid #046AB3;
    text-align: center;
    margin: 10px 0;
    padding: .375rem .75rem;
    font: 18px/24px Open Sans;
    vertical-align: middle;
  }

  a.cat-description-collapse-button {
    right: 35px;
    font-size: 36px;
  }

  /* KW Kursdetail */
  .kw-kursdetails h2 {
    font: bold 18px/24px Open Sans;
    letter-spacing: 0px;
  }

  .kw-kurs-container,
  .kw-kurs-container p {
    font: 16px/24px Open Sans;
    letter-spacing: 0.32px;
  }

  .kw-kursdetails .colortext {
    font: 18px/24px Open Sans;
  }

  /* KW Dozenten Uebersicht */
  #dozent-pagination {
    margin: 0;
  }

  .kw-kat-213 .content>ul.pagination {
    flex-direction: column;
  }

  .dozent-pagination-toggle {
    width: 100%;
    text-align: left;
    border: 1px solid #707070;
    border-radius: unset;
  }

  .dozent-pagination-toggle .fa-chevron-down {
    float: right;
    line-height: 24px;
  }

  /* KW Dozent Detail */
  .kw-dozkursliste-head,
  .kw-dozdetails h2.page-header {
    font: bold 16px/24px Open Sans;
    letter-spacing: 0.32px;
  }

  .kw-dozkursliste a {
    font: normal 16px/24px Open Sans;
    letter-spacing: 0.32px;
  }

  /* Mobile Service Icons */
  .mobile-service-icons-container {
    position: fixed;
    height: 60px;
    bottom: 0;
    width: 100%;
    background: #046AB3;
    z-index: 1100;
  }

  .mobile-service-icons {
    height: 100%;
  }

  .site-footer .content .mobile-service-icons a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    border: .1px solid #fff;
    color: #fff;
    font-size: 30px;
    text-decoration: none;
  }

  .mobile-service-icons .cart-items-count {
    position: absolute;
    top: 10px;
    right: 40px;
    background: #279D2D;
    border-radius: 50%;
    display: inline-block;
    width: 20px;
    height: 20px;
    font: 12px/20px Open Sans;
    text-align: center;
  }

  .mobile-service-icons .cart-items-count:empty {
    display: none;
  }
}