/*----- inludes -----*/
/*----- fonts -----*/
@font-face {
  font-family: 'TGP';
  src: url("webfonts/317739_0_0.eot");
  src: url("webfonts/317739_0_0.eot?#iefix") format("embedded-opentype"), url("webfonts/317739_0_0.woff2") format("woff2"), url("webfonts/317739_0_0.woff") format("woff"), url("webfonts/317739_0_0.ttf") format("truetype");
}
@font-face {
  font-family: 'TGPL';
  src: url("webfonts/317739_1_0.eot");
  src: url("webfonts/317739_1_0.eot?#iefix") format("embedded-opentype"), url("webfonts/317739_1_0.woff2") format("woff2"), url("webfonts/317739_1_0.woff") format("woff"), url("webfonts/317739_1_0.ttf") format("truetype");
}
@font-face {
  font-family: 'TGPB';
  src: url("webfonts/317739_2_0.eot");
  src: url("webfonts/317739_2_0.eot?#iefix") format("embedded-opentype"), url("webfonts/317739_2_0.woff2") format("woff2"), url("webfonts/317739_2_0.woff") format("woff"), url("webfonts/317739_2_0.ttf") format("truetype");
}
/*----- variables -----*/
/*----- styles -----*/
html, body {
  height: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
}

body {
  font-family: 'TGPL', 'Arial', sans-serif;
  font-weight: normal;
  font-size: 1.6rem;
  color: #444444;
  background-color: #FFFFFF !important;
}

html.nav-open,
html.nav-open body,
body.overlay-open {
  position: relative;
  overflow: hidden;
}

p {
  margin: 0 0 1.5rem 0;
}
p + ul {
  margin-top: -1rem;
}

img {
  max-width: 100%;
  height: auto;
}
.clickable {
  cursor: pointer;
}

h1 {
  font-family: 'TGP', 'Arial', sans-serif;
  font-weight: normal;
  color: #002f64;
  font-size: 2.8rem;
  border-bottom: 2px solid #002f64;
  margin: 0 0 3rem 0;
  padding: 0 0 1.5rem 0;
}
h1 span.subtitle {
  display: block;
  font-size: 60%;
}

h2 {
  font-family: 'TGPB', 'Arial', sans-serif;
  font-weight: normal;
  border: none;
  color: #000000;
  font-size: 2rem;
  padding: 0;
  margin: 0 0 0.5rem 0;
}
/* special h2 for home and contact */
.page-1 h2,
.page-8 h2 {
  font-family: 'TGP', 'Arial', sans-serif;
  font-weight: normal;
  color: #002f64;
  font-size: 2.8rem;
  border-bottom: 2px solid #002f64;
  margin: 0 0 2rem 0;
  padding: 0 0 1.5rem 0;
}

h3 {
  font-family: 'TGPB', 'Arial', sans-serif;
  font-size: 1.8rem;
  font-weight: normal;
  margin: 1.5rem 0 0.3rem 0;
}

.text-element h3,
.news-post h3 {
  margin-top: 3rem;
}

.main-content > .blockquote + .text-element + .text-element > *:first-child,
.news-post h3:first-child {
  margin-top: 0;
}

h4 {
  font-family: 'TGP', 'Arial', sans-serif;
  font-weight: normal;
  margin: 1.5rem 0 0.2rem 0;
}

ul, ol {
  padding: 0 0 0 2rem;
  margin: 0;
}

hr {
  border-width: 2px;
  margin: 1rem 0;
}

sup {
  font-size: 60%;
  padding: 0 0.2rem;
}

iframe {
  max-width: 100%;
  border: none;
  display: block;
  margin: 0 auto 3rem auto;
}
iframe.featherlight-inner {
  margin: 0;
}

a,
a:visited {
  font-family: 'TGP', 'Arial', sans-serif;
  color: #4e8abf;
  -webkit-transition: color 250ms ease;
  -o-transition: color 250ms ease;
  transition: color 250ms ease;
  text-decoration: none;
}
a.not-underlined {
  border-bottom: none !important;
}
/*.main-content a::after {
  content: "  \f08e";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  color: #002f64;
  font-size: 1.4rem;
}
.main-content a.btn::after {
  content: none;
}*/
.main-content a,
aside a {
  border-bottom: 1px solid #4e8abf;
}
.main-content h1 a:not(.external-link),
.main-content h2 a:not(.external-link),
.main-content h3 a:not(.external-link) {
  display: block;
  border-bottom: none;
}
.main-content h2 {
  font-family: 'TGPL', 'Arial', sans-serif;
  font-size: 2rem;
  color: #444;
  margin: 3rem 0 1.5rem 0;
  border-bottom: 1px solid #444;
  padding-bottom: 0.5rem;
}

a:hover,
a:active {
  color: #1a4b83;
  text-decoration: none;
}

a:focus {
  outline: none;
  text-decoration: none;
}

input:focus {
  outline: none;
}

a.box-link,
.textTeaser a.oov {
  display: block;
  position: absolute;
  background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  text-indent: -9999px;
  overflow: hidden;
  z-index: 10;
  border-bottom: none;
}

.zero-height {
  min-height: 0;
}

@media (min-width: 768px) {
  .main-content h2 {
    font-size: 2.4rem;
  }
}
@media (min-width: 992px) {
  h1 {
    font-size: 3.6rem;
  }
  .main-content h2 {
    font-size: 2.6rem;
  }
}

/*----- colors -----*/
.bg-ayu,
.bg-9,
.edu-col .edu.bg-9,
.bg-9 aside .acco-item header,
.bg-9 .jumbotron .jumbo-ov,
.bg-9 .jumbotron .usp-bar,
.bg-99,
.edu-col .edu.bg-99,
.bg-99 aside .acco-item header,
.bg-99 .jumbotron .jumbo-ov,
.bg-99 .jumbotron .usp-bar,
.bg-317,
.edu-col .edu.bg-317,
.bg-317 aside .acco-item header,
.bg-317 .jumbotron .jumbo-ov,
.bg-317 .jumbotron .usp-bar {
  background-color: #be3d7c;
}

@media (min-width: 768px) {
  .bg-9 .jumbo-ov .jumbo-ov-content .jumbo-text,
  .bg-99 .jumbo-ov .jumbo-ov-content .jumbo-text,
  .bg-317 .jumbo-ov .jumbo-ov-content .jumbo-text {
    color: #be3d7c;
  }
}

.bg-tcm,
.bg-10,
.bg-10 .jumbotron .jumbo-ov,
.bg-10 .jumbotron .usp-bar,
.edu-col .edu.bg-10,
.bg-10 aside .acco-item header {
  background-color: #008893;
}

@media (min-width: 768px) {
  .bg-10 .jumbo-ov .jumbo-ov-content .jumbo-text {
    color: #008893;
  }
}

.bg-nhk,
.bg-11,
.bg-11 .jumbotron .jumbo-ov,
.bg-11 .jumbotron .usp-bar,
.edu-col .edu.bg-11,
.bg-11 aside .acco-item header {
  background-color: #98a203;
}

@media (min-width: 768px) {
  .bg-11 .jumbo-ov .jumbo-ov-content .jumbo-text {
    color: #98a203;
  }
}

.bg-ktm,
.bg-214,
.bg-214 .jumbotron .jumbo-ov,
.bg-214 .jumbotron .usp-bar,
.edu-col .edu.bg-214,
.bg-214 aside .acco-item header {
  background-color: #ac0532;
}

@media (min-width: 768px) {
  .bg-214 .jumbo-ov .jumbo-ov-content .jumbo-text {
    color: #ac0532;
  }
}

.bg-mpr,
.bg-13,
.bg-13 .jumbotron .jumbo-ov,
.bg-13 .jumbotron .usp-bar,
.edu-col .edu.bg-13,
.bg-13 aside .acco-item header {
  background-color: #738448;
}

@media (min-width: 768px) {
  .bg-13 .jumbo-ov .jumbo-ov-content .jumbo-text {
    color: #738448;
  }
}

.bg-scm,
.bg-14,
.bg-14 .jumbotron .jumbo-ov,
.bg-14 .jumbotron .usp-bar,
.edu-col .edu.bg-14,
.bg-14 aside .acco-item header {
  background-color: #0088c9;
}

@media (min-width: 768px) {
  .bg-14 .jumbo-ov .jumbo-ov-content .jumbo-text {
    color: #0088c9;
  }
}

.bg-bkt,
.bg-70,
.bg-70 .jumbotron .jumbo-ov,
.bg-70 .jumbotron .usp-bar,
.edu-col .edu.bg-70,
.bg-70 aside .acco-item header,
.bg-15,
.bg-15 .jumbotron .jumbo-ov,
.bg-15 .jumbotron .usp-bar,
.edu-col .edu.bg-15,
.bg-15 aside .acco-item header {
  background-color: #d32d18;
}

@media (min-width: 768px) {
  .bg-70 .jumbo-ov .jumbo-ov-content .jumbo-text,
  .bg-15 .jumbo-ov .jumbo-ov-content .jumbo-text {
    color: #d32d18;
  }
}

.bg-eid,
.bg-16,
.bg-16 .jumbotron .jumbo-ov,
.bg-16 .jumbotron .usp-bar,
.edu-col .edu.bg-16,
.bg-16 aside .acco-item header,
.bg-161,
.bg-161 .jumbotron .jumbo-ov,
.bg-161 .jumbotron .usp-bar,
.edu-col .edu.bg-161,
.bg-161 aside .acco-item header {
  background-color: #0064ae;
}

@media (min-width: 768px) {
  .bg-16 .jumbo-ov .jumbo-ov-content .jumbo-text,
  .bg-161 .jumbo-ov .jumbo-ov-content .jumbo-text {
    color: #0064ae;
  }
}

/*----- buttons -----*/
button,
a.btn {
  border: none;
  padding: 0;
  margin: 0;
  background: none;
  outline: none;
  -webkit-appearance: none;
}

button.btn,
a.btn,
a.btn:visited,
span.btn {
  display: inline-block;
  font-size: 1.6rem;
  background-color: #002f64;
  color: #FFFFFF;
  border-radius: 0.5rem;
  padding: 0.5rem 1.3rem;
  -webkit-transition: background-color 250ms ease;
  -o-transition: background-color 250ms ease;
  transition: background-color 250ms ease;
}
button.btn-info,
a.btn-info,
a.btn-info:visited {
  background-color: #7896d1;
}
span.btn {
  background-color: #ccc;
}
a.btn.btn-disabled,
button.btn.btn-disabled {
  background-color: #E8E8E8;
  color: #444444;
  pointer-events: none;
}
button.btn.mt,
a.btn.mt,
span.btn.mt {
  margin-top: 1.5rem;
}

button.btn:hover,
button.btn:active,
a.btn:hover,
a.btn:active {
  background-color: #1a4b83;
  text-decoration: none;
}
button.btn-info:hover,
button.btn-info:active,
a.btn-info:hover,
a.btn-info:active {
  background-color: #92B0EB;
}

input[type="submit"] {
  border-radius: 0.5rem;
  -webkit-transition: background-color 250ms ease;
  -o-transition: background-color 250ms ease;
  transition: background-color 250ms ease;
}

button:focus {
  outline: none;
}

.main-content a.download[href*=".do"],
.main-content a.download[href*=".xls"],
.main-content a.download[href$=".pdf"] {
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
  background-color: #7896d1;
  color: #FFFFFF;
  border-radius: 0.5rem;
  margin: 0 0 0.5rem 3.5rem;
  padding: 0.4rem 1rem;
  border: none;
  -webkit-transition: background-color 250ms ease;
  -o-transition: background-color 250ms ease;
  transition: background-color 250ms ease;
}
.main-content a.download[href*=".do"]:hover,
.main-content a.download[href*=".do"]:active,
.main-content a.download[href*=".xls"]:hover,
.main-content a.download[href*=".xls"]:active,
.main-content a.download[href$=".pdf"]:hover,
.main-content a.download[href$=".pdf"]:active {
  background-color: #92B0EB;
  text-decoration: none;
}
.main-content a.download[href*=".do"]::before,
.main-content a.download[href*=".xls"]::before,
.main-content a.download[href$=".pdf"]::before {
  content: "\f0f6";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  position: absolute;
  top: -0.2rem;
  left: -3rem;
  margin-right: 0.8rem;
/*  width: 3rem;
  height: 3rem;*/
  color: #7896d1;
  font-size: 2.6rem;
  /*background: url(../img/icon_pdf.png) center center no-repeat transparent;*/
}
.main-content a.download[href*=".xls"]::before {
  content: "\f1c3";
}
.main-content a.download[href$=".pdf"]::before {
  content: "\f1c1";
}

h2 a.btn.more {
  float: right;
  margin-top: 0.3rem;
}
/*----- page-wrapper -----*/
.page-wrapper {
  padding-top: 6.2rem;
}
@media (min-width: 992px) {
  .page-wrapper {
    padding-top: 16.5rem;
  }
}

/*----- header -----*/
.pageheader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 301;
  background-color: #FFF;
}

.pageheader .top-bar,
.pageheader .navigation-bar {
  position: relative;
  z-index: 1;
}
.pageheader .top-bar {
  background: #d7e1ef;
  padding: 0.8rem 0;
}
.pageheader .top-bar .navbar-toggle {
  float: right;
}
.pageheader .navigation-bar {
  height: 0;
}

.pageheader .logo {
  display: block;
  width: 4.6rem;
  height: auto;
  margin: 0;
  float: left;
}

.no-jumbo .logo-wrap {
  display: none;
}
.no-jumbo .logo-wrap .logo {
  float: right;
}

.pageheader .phone {
  float: right;
  color: #FFF;
  text-align: center;
}
.pageheader .moodle img {
  margin-top: 13px;
}
.pageheader .moodle {
  width: 100px;
  display: none;
}
.pageheader .moodle a,
.pageheader .moodle_mobile a {
  width: 100px;
  height: 100%;
  display: block;
  position: absolute;
}
.pageheader .moodle_mobile a {
  width: 100%;
  transition: color 250ms ease;
}
.pageheader .moodle_mobile {
  display: none;
  background: #fff;
  display: flex;
  border-radius: 0.8rem;
  width: 4.6rem;
  height: 4.6rem;
  position: absolute;
  right: 15.8rem;
  justify-content: center;
  color: #fff;
}
.pageheader .moodle_mobile img {
  width: 30px;
}
.pageheader .moodle-tel {
  float: right;
  color: #FFF;
  display: flex;
  justify-content: end;
  text-align: end;
}
.pageheader .moodle-scrolled {
  float: right;
  display: none;
}
.scrolled .pageheader .moodle-scrolled {
  display: block;
}
.scrolled .pageheader .moodle-scrolled img {
  margin-top: 6px;
}
.scrolled .pageheader .navigation-bar .moodle-tel {
  display: none;
}
.pageheader .phone a {
  display: inline-block;
  font-size: 2.2rem;
  border-radius: 0.8rem;
  margin: 0 5rem 0 0;
  width: 4.6rem;
  padding: 1rem 0;
  background-color: #FFF;
  line-height: 2.6rem;

}
.pageheader .phone .fa {
  color: #002f64;
}

@media (min-width: 360px) {
  .pageheader .phone a {
    margin-right: 5.4rem;
  }
}

@media (min-width: 768px) {
  .pageheader .logo {
    width: 14.4rem;
  }
}

@media (min-width: 992px) {
  .pageheader {
    position: absolute;
  }
  .pageheader .navigation-bar {
    height: auto;
    background-color: #002f64;
  }
  .pageheader .logo {
    width: 23rem;
  }
  .pageheader .top-bar {
    z-index: 2;
    padding: 1.5rem 0;
  }
  .pageheader .top-bar .navbar-toggle {
    float: left;
    margin-left: 1rem;
  }
  .pageheader .phone a {
    font-size: 2.4rem;
    line-height: 3rem;
    margin: 0;
    padding: 1.6rem 0;
    color: #FFFFFF;
    width: 20rem;
    background-color: transparent;
  }
  .pageheader .phone .fa {
    color: #fff;
    padding-right: 0.5rem;
  }
  .no-jumbo .logo-wrap {
    margin-top: 1.4rem;
    display: block;
  }
  .pageheader .top-bar {
    background: #FFF;
  }
  .pageheader .moodle_mobile {
    display: none;
  }
  .pageheader .moodle:not(.moodle-scrolled) {
    display: block;
  }
  .scrolled .pageheader .phone i {
    display: none;
  }
  .scrolled .pageheader .phone a {
    width: 16rem;
  }
}

@media (min-width: 1200px) {
  .pageheader .top-bar,
  .pageheader .navigation-bar {
    max-width: 150rem;
    margin: 0 auto;
  }
}
@media (max-width: 991px) {
  .scrolled .pageheader .moodle-scrolled {
    display: none;
  }
}
/*----- navigation -----*/
nav.mainnav {
  float: left;
}
nav.mainnav ul.navbar-nav {
  /*height: 100%;*/
  margin: 0;
  padding: 3rem 0;
  background-color: rgba(255, 255, 255, 0.95);
}
nav.mainnav ul.navbar-nav > li {
  position: relative;
  list-style: none;
}
nav.mainnav ul.navbar-nav > li a,
nav.mainnav ul.navbar-nav > li .fa {
  display: block;
  color: #002f64;
}
nav.mainnav ul.navbar-nav > li a {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
nav.mainnav ul.navbar-nav > li a:hover,
nav.mainnav ul.navbar-nav > li a:focus {
  text-decoration: none;
}
nav.mainnav ul.navbar-nav > li > a {
  font-family: 'TGP', 'Arial', sans-serif;
  position: relative;
  color: #002f64;
  text-decoration: none;
  padding: 1rem 1.5rem;
  border-top: 1px solid #002f64;
}
nav.mainnav ul.navbar-nav > li:last-child > a {
  border-bottom: 1px solid #002f64;
}
nav.mainnav ul.navbar-nav > li .fa {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 2.4rem;
  line-height: 4.3rem;
  width: 4rem;
  height: 4.3rem;
  display: block;
  text-align: center;
  z-index: 1;
  -webkit-transition: transform 250ms ease;
  -o-transition: transform 250ms ease;
  transition: transform 250ms ease;
  cursor: pointer;
}
nav.mainnav ul.navbar-nav > li .fa.active {
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  -o-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
nav.mainnav ul.navbar-nav > li .fa::after {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  content: "";
  width: 3rem;
  height: 3rem;
/*  border: 1px solid #002f64;
  border-radius: 50%;*/
}
nav.mainnav ul.navbar-nav > li a.active,
nav.mainnav ul.navbar-nav > li a:active,
nav.mainnav ul.navbar-nav > li a:hover {
  background-color: #d7e1ef;
}
nav.mainnav ul.navbar-nav > li > ul {
  display: none;
  margin: 0;
  padding: 0;
}
nav.mainnav ul.navbar-nav > li > ul li {
  list-style: none;
}
nav.mainnav ul.navbar-nav > li > ul > li,
nav.mainnav ul.navbar-nav > li > ul > li > ul > li {
  position: relative;
}
nav.mainnav ul.navbar-nav > li > ul > li a {
  padding-left: 2.2rem;
  border-top: 1px solid #91a6be;
}
nav.mainnav ul.navbar-nav > li > ul > li ul {
  display: none;
  margin: 0;
  padding: 0;
  /*border-bottom: 1px solid #c7d4ed;*/
}
nav.mainnav ul.navbar-nav > li > ul > li > ul > li a {
  padding-left: 2.9rem;
}
nav.mainnav ul.navbar-nav > li > ul > li > ul > li > ul > li > a {
  padding-left: 3.6rem;
}
nav.mainnav ul.navbar-nav li.page-324 > .fa,
nav.mainnav ul.navbar-nav li.page-324 > ul {
  visibility: hidden !important;
}

.navbar-collapse {
  display: none;
  position: fixed;
  top: 6.2rem;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  transition: none;
  z-index: 112;
  background-color: rgba(150,150,150,0.5);
}
.navbar-header {
  position: relative;
  margin: 0.8rem 0;
  z-index: 111;
}
.nav-open .navbar-header {
  z-index: 113;
}

.c-hamburger {
  display: block;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  width: 4.6rem;
  height: 4.6rem;
  font-size: 0;
  text-indent: -9999px;
  appearance: none;
  box-shadow: none;
  border-radius: 0.8rem;
  border: none;
  cursor: pointer;
  transition: all 0.3s;
}
.nav-open .navigation-bar .c-hamburger {
  -moz-transform: translateY(-62px);
  -webkit-transform: translateY(-62px);
  -o-transform: translateY(-62px);
  -ms-transform: translateY(-62px);
  transform: translateY(-62px);
}
.c-hamburger:focus {
  outline: none;
}
.c-hamburger span {
  display: block;
  position: absolute;
  top: 50%;
  left: 0.8rem;
  right: 0.8rem;
  height: 0.3rem;
  background: #002f64;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.c-hamburger span::before,
.c-hamburger span::after {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 0.3rem;
  background-color: #002f64;
  content: "";
}
.c-hamburger span::before {
  top: -0.8rem;
}
.c-hamburger span::after {
  bottom: -0.8rem;
}
.c-hamburger--htx {
  background-color: #FFFFFF;
}
.c-hamburger--htx span {
  transition: background 0s 250ms;
}
.c-hamburger--htx span::before,
.c-hamburger--htx span::after {
  transition-duration: 250ms, 250ms;
  transition-delay: 250ms, 0s;
}
.c-hamburger--htx span::before {
  transition-property: top, transform;
}
.c-hamburger--htx span::after {
  transition-property: bottom, transform;
}
/* active state, i.e. menu open */
/*.c-hamburger--htx.is-active {
  background-color: #c7d4ed;
}*/
.c-hamburger--htx.is-active span {
  background: none;
}
.c-hamburger--htx.is-active span::before {
  top: 0;
  transform: rotate(45deg);
}
.c-hamburger--htx.is-active span::after {
  bottom: 0;
  transform: rotate(-45deg);
}
.c-hamburger--htx.is-active span::before,
.c-hamburger--htx.is-active span::after {
  transition-delay: 0s, 250ms;
}

/*@media (min-width: 768px) {
  .nav-open .navigation-bar .c-hamburger {
    -moz-transform: translateY(-96px);
    -webkit-transform: translateY(-96px);
    -o-transform: translateY(-96px);
    -ms-transform: translateY(-96px);
    transform: translateY(-96px);
  }
}*/

@media (min-width: 992px) {

  .navbar-collapse {
    background-color: transparent;
    display: block;
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
  }
  .navbar-header {
    margin: 0;
  }
  nav.mainnav ul.navbar-nav {
    position: relative;
    height: auto;
    margin: 0;
    padding: 0;
    background-color: transparent;
  }
  nav.mainnav ul.navbar-nav > li {
    float: left;
  }
  nav.mainnav ul.navbar-nav > li a {
    display: block;
  }
  nav.mainnav ul.navbar-nav > li > a {
    position: relative;
    font-size: 2.4rem;
    line-height: 2.4rem;
    margin: 0;
    color: #FFF;
    padding: 1.9rem 1.5rem;
    border: none;
  }
  nav.mainnav ul.navbar-nav > li:last-child > a {
    border-bottom: none;
  }
  nav.mainnav ul.navbar-nav > li > a.active,
  nav.mainnav ul.navbar-nav > li > a:active,
  nav.mainnav ul.navbar-nav > li > a:hover {
    background: transparent;
  }
  nav.mainnav ul.navbar-nav > li > a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 2rem;
    margin-top: -1rem;
    background-color: #d7e1ef;
  }
  nav.mainnav ul.navbar-nav > li > ul {
    display: none;
    position: absolute;
    min-width: 28rem;
    padding: 1.5rem 0;
    top: 6.2rem;
    left: 0;
    z-index: 201;
    background-color: rgba(255, 255, 255, 0.95);
    -webkit-transition: top 150ms ease;
    -o-transition: top 150ms ease;
    transition: top 150ms ease;
  }
  .no-jumbo nav.mainnav ul.navbar-nav > li > ul {
    background-color: rgba(250, 250, 250, 0.95);
  }
  nav.mainnav ul.navbar-nav > li > ul > li {
    position: relative;
    list-style: none;
    padding: 0;
  }
  nav.mainnav ul.navbar-nav > li > ul > li > a {
    position: relative;
    border-top: 1px solid #91a6be;
    padding: 0.7rem 3rem 0.7rem 1rem;
    -webkit-transition: background 250ms ease;
    -o-transition: background 250ms ease;
    transition: background 250ms ease;
  }
  nav.mainnav ul.navbar-nav > li > ul > li:last-child > a {
    border-bottom: 1px solid #91a6be;
  }
  nav.mainnav ul.navbar-nav > li > ul > li.sfHover > a,
  nav.mainnav ul.navbar-nav > li > ul > li > a.active,
  nav.mainnav ul.navbar-nav > li > ul > li > a:hover,
  nav.mainnav ul.navbar-nav > li > ul > li > a:active {
    background-color: #d7e1ef;
  }
  nav.mainnav ul.navbar-nav > li > ul > li .fa {
    position: absolute;
    top: 0;
    right: 1rem;
    color: #002f64;
    display: block;
    width: 2rem;
    height: 3.8rem;
    /*padding: 0 0 0 0.2rem;*/
    font-size: 2.8rem;
    line-height: 3.8rem;
    /* border-radius: 50%;
    border: 1px solid #002f64;*/
    text-align: center;
    -webkit-transition: all 250ms ease;
    -o-transition: all 250ms ease;
    transition: all 250ms ease;
  }
  nav.mainnav ul.navbar-nav > li > ul > li .fa::after {
    content: none;
  }
  nav.mainnav ul.navbar-nav > li > ul > li > ul,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > ul {
    display: none;
    position: absolute;
    min-width: 28rem;
    left: 100%;
    top: -1.5rem;
    margin: 0;
    padding: 1.5rem 0;
    z-index: 1;
    background-color: rgba(255, 255, 255, 0.95);
    border-bottom: none;
  }
  .no-jumbo nav.mainnav ul.navbar-nav > li > ul > li > ul,
  .no-jumbo nav.mainnav ul.navbar-nav > li > ul > li > ul > li > ul {
    background-color: rgba(250, 250, 250, 0.95);
  }
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > ul > li {
    list-style: none;
  }
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > a,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > ul > li > a {
    border-top: 1px solid #91a6be;
    padding: 0.7rem 3rem 0.7rem 1rem;
    -webkit-transition: border 250ms ease;
    -o-transition: border 250ms ease;
    transition: border 250ms ease;
  }
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li:last-child > a,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > ul > li:last-child > a {
    border-bottom: 1px solid #91a6be;
  }
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li.sfHover > a,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > a.active,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > a:hover,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > a:active,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > ul > li.sfHover > a,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > ul > li > a.active,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > ul > li > a:hover,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > ul > li > a:active {
    background-color: #d7e1ef;
  }
/*  nav.mainnav ul.navbar-nav > li > ul > li > a.active ~ .fa,
  nav.mainnav ul.navbar-nav > li > ul > li:hover > .fa,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li > a.active ~ .fa,
  nav.mainnav ul.navbar-nav > li > ul > li > ul > li:hover > .fa {
    background-color: #002f64;
    color: #FFFFFF;
  }*/
  nav.mainnav ul.navbar-nav > li:first-child a {
    padding-left: 0;
    /* border-top: none; */
  }
  nav.mainnav ul.navbar-nav > li:first-child a::before {
    content: none;
  }

  nav.mainnav ul.navbar-nav > li:first-child ul li a {
    padding-left: 10px;
  }

}

/*----- search -----*/
.search-courses {
  margin-bottom: 3rem;
}
/*.search-courses form .form-element {
  clear: both;
}*/
.search-courses form label {
  display: block;
  margin-top: 1rem;
}
.search-courses form input[type="text"] {
  width: 100%;
  background-color: #ecf3f6;
  border: none;
  height: 2.6rem;
  line-height: 2.6rem;
}
.search-courses form input[type="checkbox"] {
  display: block;
  float: left;
  margin-top: 0.5rem;
  margin-right: 1rem;
  border: none;
  background-color: #FFFFFF;
}
.search-courses form select {
  width: 100%;
  border: none;
  background-color: #ecf3f6;
  height: 2.6rem;
  line-height: 2.6rem;
}
.search-courses form select.date {
  width: 45%;
  float: left;
}
.search-courses form select.date:first-child {
  margin-right: 10%;
}
.search-courses form input[type="submit"] {
  background-color: #002f64;
  color: #FFFFFF;
  display: inline-block;
  border: none;
  padding: 0.5rem 1.5rem;
  margin-top: 2rem;
}
.search-courses form input[type="submit"] {
  background-color: #1a4b83;
}
.main-content .search-courses .checkbox label {
  float: left;
  margin-right: 2rem;
}

.pageheader .search-courses {
  position: relative;
  float: left;
  margin: 0 0 0 0.5rem;
}
.pageheader .search-courses button.open-search {
  display: block;
  color: #FFFFFF;
  padding: 1.4rem 1.5rem;
  margin: 0.5rem 0 0;
  border-radius: 0.8rem;
  width: 100%;
  text-align: left;
  background-color: #c7d4ed;
  -webkit-transition: all 250ms ease;
  -o-transition: all 250ms ease;
  transition: all 250ms ease;
}
.pageheader .search-courses button.open-search span {
  display: none;
}
.pageheader .search-courses button.open-search .fa {
  float: right;
}
.pageheader .search-courses button.close-search {
  display: block;
  width: 4rem;
  height: 4rem;
  color: #FFFFFF;
  border: 1px solid #FFFFFF;
  border-radius: 50%;
  float: right;
}
.pageheader .search-courses button.close-search .fa {
  color: #FFFFFF;
  font-size: 3.2rem;
}
.pageheader .search-courses form {
  position: absolute;
  top: 5.6rem;
  left: -5rem;
  background-color: #7999cf;
  height: 0;
  z-index: 100;
  padding: 0;
  border-radius: 0 0 0.7rem 0.7rem;
  overflow: hidden;
  width: 26.3rem;
  -webkit-transition: height 250ms ease;
  -o-transition: height 250ms ease;
  transition: height 250ms ease;
}
.pageheader .search-courses form .form-inner-wrap {
  padding: 2rem 1.5rem;
}
.pageheader .search-courses form p {
  clear: both;
  color: #FFFFFF;
  font-size: 4rem;
  line-height: 4.6rem;
  margin-bottom: 4rem;
}
.pageheader .search-courses.visible form {
  height: 61.5rem;
}
.pageheader .search-courses form label {
  color: #FFFFFF;
  margin-top: 1rem;
}
.pageheader .search-courses form input[type="text"] {
  background-color: #FFFFFF;
  width: 100%;
}
.pageheader .search-courses form select {
  width: 100%;
  background-color: #FFFFFF;
}
.pageheader .search-courses form select.date {
  width: 10rem;
  float: left;
}
.pageheader .search-courses form select.date:first-child {
  margin-right: 2rem;
}
.pageheader .search-courses form input[type="submit"] {
  width: 100%;
  margin-top: 6rem;
}

.pageheader .search-courses-form {
  position: absolute;
  right: 5.6rem;
  float: right;
  border-radius: 0.8rem;
  background-color: #FFFFFF;
  width: 4.6rem;
  -webkit-transition: width 250ms ease;
  -o-transition: width 250ms ease;
  transition: width 250ms ease;
}
.pageheader .search-courses-form input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #002f64;
  opacity: 1;
}
.pageheader .search-courses-form input::-moz-placeholder { /* Firefox 19+ */
  color: #002f64;
  opacity: 1;
}
.pageheader .search-courses-form input:-ms-input-placeholder { /* IE 10+ */
  color: #002f64;
  opacity: 1;
}
.pageheader .search-courses-form input:-moz-placeholder { /* Firefox 18- */
  color: #002f64;
  opacity: 1;
}
.pageheader .search-courses-form.open {
  margin: 0;
  z-index: 112;
  width: calc(100% - 6.5rem);
  padding-left: 1rem;
}
.pageheader .search-courses-form.sug-visible {
  border-radius: 0;
  border-bottom: 2px solid #FFFFFF;
}
.pageheader .search-courses-form #courseName {
  width: 0;
  color: #002f64;
  margin: 0;
  line-height: 4.6rem;
  text-align: left;
  border: none;
  background-color: transparent;
  float: left;
  padding: 0;
}
.pageheader .search-courses-form.open #courseName {
  display: block;
  width: calc(100% - 4.6rem);
}
.pageheader .search-courses-form.open.reset-visible #courseName {
  width: calc(100% - 8.6rem);
}
.pageheader .search-courses-form input[type="submit"] {
  display: block;
  float: right;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  color: #002f64;
  width: 4.6rem;
  height: 4.6rem;
  background-color: transparent;
  border: none;
  font-size: 2.2rem;
  text-align: center;
  padding: 0;
}
.pageheader .search-courses-form .reset-search {
  display: block;
  float: left;
  margin-top: 0.3rem;
  color: #002f64;
  opacity: 0;
  width: 0;
  height: 4rem;
  line-height: 4rem;
  text-align: right;
}
.pageheader .search-courses-form.open.reset-visible .reset-search {
  opacity: 1;
  width: 4rem;
}
.pageheader .search-courses-form #search-suggestions {
  position: absolute;
  top: 100%;
  margin: 2px 0 0 0;
  right: 0;
  background-color: #f8f8f8;
  z-index: 112;
  width: 100%;
  display: none;
}
.pageheader .search-courses-form #search-suggestions .inner-wrap {
  position: relative;
  max-height: 80vh;
  overflow-y: auto;
  bottom: 0;

}
.pageheader .search-courses-form #search-suggestions ul {
  margin: 0;
  padding: 0;
}
.pageheader .search-courses-form #search-suggestions ul li {
  font-family: 'TGP', 'Arial', sans-serif;
  list-style: none;
  padding: 0.5rem 1.5rem;
  cursor: pointer;
  color: #888;
  background-color: #f8f8f8;
  -webkit-transition: background-color 150ms;
  -o-transition: background-color 150ms;
  transition: background-color 150ms;
  font-size: 1.3rem;
  line-height: 1.2;
}
.pageheader .search-courses-form #search-suggestions ul li.title {
  background-color: #DDD;
  color: #555;
  border-top: 2px solid #FFF;
  cursor: auto;
}
.pageheader .search-courses-form #search-suggestions ul li:first-child {
  font-family: 'TGPL', 'Arial', sans-serif;
  border-bottom: 1px solid #ccc;
}
.pageheader .search-courses-form #search-suggestions ul li:not(.title):hover,
.pageheader .search-courses-form #search-suggestions ul li:not(.title).active {
  background-color: #E5E5E5;
}
/*.pageheader .search-courses-form #search-suggestions ul li:first-child:hover,
.pageheader .search-courses-form #search-suggestions ul li.active:first-child{
  background-color: #5F7DB8;
}*/
/*.pageheader .search-courses-form #search-suggestions ul li:first-child {
  margin-top: 1rem;
}
.pageheader .search-courses-form #search-suggestions ul li:last-child {
  margin-bottom: 1rem;
}*/
.pageheader .search-courses-form #search-suggestions button {
  display: block;
  margin: 1rem auto;
  width: 80%;
}


@media (min-width: 360px) {
  .pageheader .search-courses-form {
    right: 5.8rem;
  }
}

@media (min-width: 768px) {
/*  .pageheader .search-courses-form #search-suggestions .inner-wrap {
    max-height: 80vh;
  }*/
}

@media (min-width: 992px) {
  .pageheader .search-courses-form {
    background-color: #d7e1ef;
    position: relative;
    right: 0;
    left: auto;
    top: 0;
    float: right;
    width: 30rem !important;
    padding: 1.6rem 2rem;
    margin: 0;
  }
  .pageheader .search-courses-form #courseName {
    line-height: 4rem;
    width: calc(100% - 4rem);
    border: none;
    background-color: transparent;
    font-size: 2.2rem;
  }
  .pageheader .search-courses-form.reset-visible .reset-search {
    opacity: 1;
    width: 4rem;
  }
  .pageheader .search-courses-form.reset-visible #courseName {
    width: calc(100% - 8rem);
  }
  .pageheader .search-courses-form input[type="submit"] {
    width: 4rem;
    height: 4rem;
    font-size: 2.8rem;
    color: #002f64;
    text-align: center;
  }
  .pageheader .search-courses-form .reset-search {
    margin-top: 0;
    text-align: center;
  }
/*  .pageheader .search-courses-form #search-suggestions {
    height: auto;
    overflow-y: visible;
  }*/
  .pageheader .search-courses-form #search-suggestions ul li {
    font-size: 1.6rem;
    padding: 0.5rem 1.5rem;
  }
  .pageheader .search-courses {
    float: right;
    margin: 0;
    width: 26.3rem;
  }
  .pageheader .search-courses button.open-search {
    border-radius: 0 0 0.8rem 0.8rem;
    padding: 2.2rem 1.5rem 1rem 1.5rem;
    margin: 0;
  }
  .pageheader .search-courses button.open-search span {
    display: inline;
  }
  .pageheader .search-courses form {
    top: 7.2rem;
    right: auto;
    left: 0;
  }
  .pageheader .search-courses.visible button.open-search {
    border-radius: 0;
    color: #c7d4ed;
    padding-bottom: 2.4rem;
  }
}

@media (min-width: 992px) {
  .search-results .course-grid-wrap .course-col {
    width: 50%;
  }
}
@media (min-width: 1200px) {
  .search-results .course-grid-wrap .course-col {
    width: 33.33%;
  }
}

/*----- scrolled -----*/

.scrolled .pageheader {
  position: fixed;
}
.scrolled .pageheader .logo {
  height: 4.6rem;
  width: auto;
}
.scrolled .pageheader .search-courses-form {
  background: #FFFFFF;
}
.scrolled .navbar-collapse {
  display: none;
}
@media (max-width: 991px) {
  .nav-open .scrolled .pageheader,
  .nav-open .scrolled .pageheader .navigation-bar {
    height: 100%;
  }
  .scrolled .pageheader .navigation-bar {
    background-color: rgba(255, 255, 255, 0.95);
  }
  .nav-open .scrolled .pageheader .navigation-bar .navbar-toggle {
    display: none;
  }
  .scrolled nav.mainnav ul.navbar-nav {
    padding-top: 3rem;
  }
}
@media (min-width: 768px) {

}
@media (min-width: 992px) {
  .show-scrolled {
    display: none;
  }
  .scrolled .show-scrolled {
    display: block;
  }
  .scrolled .hide-scrolled {
    display: none;
  }
  .scrolled .pageheader .top-bar {
    padding: 1rem 0;
    background-color: #d7e1ef;
    z-index: 2;
  }
  .scrolled .pageheader .navigation-bar {
    position: absolute;
    top: -6.2rem;
    left: 50%;
    width: 100%;
    border-bottom: 1px solid #d7e1ef;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: top 250ms ease;
    -o-transition: top 250ms ease;
    transition: top 250ms ease;
  }
  .nav-visible .scrolled .pageheader .navigation-bar {
    top: 6.6rem;
  }
  .scrolled .pageheader .search-courses-form {
    padding: 1.1rem 1.5rem;
    width: 26rem;
  }
  .scrolled .pageheader .search-courses-form #courseName {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
  .scrolled .pageheader .search-courses-form input[type="submit"] {
    width: 4rem;
    height: 2.4rem;
    font-size: 2rem;
    line-height: 1;
  }
  .scrolled .pageheader .search-courses-form .reset-search {
    height: 2.4rem;
    line-height: 2.4rem;
  }
  .scrolled .pageheader .phone a {
    margin: 0;
    padding: 1rem 0;
    line-height: 2.6rem;
    font-size: 1.8rem;
  }
  .scrolled .pageheader .phone a,
  .scrolled .pageheader .phone a .fa {
    color: #002f64;
  }
  body:not(.scrolled) .navbar-collapse {
    display: block !important;
  }
}

/*----- registration -----*/

form.registration-courses-form h2 {
  border: medium none;
  color: #000000;
  cursor: pointer;
  font-size: 1.8rem;
  margin: 0;
  padding: 0.7rem 3.6rem 0.7rem 0;
  position: relative;
}
.registration-courses-form .table-responsive {
  margin-bottom: 30px;
}
.registration-courses-form fieldset {
  padding: 0;
  border: none;
}
.registration-courses-form fieldset.acco {
  border-bottom: 1px solid #c7d4ed;
  margin-bottom: 1.5rem;
}
.registration-courses-form fieldset.first {
  border-top: 1px solid #c7d4ed;
  margin-bottom: 0;
  margin-top: 1.5rem;
}
.registration-courses-form .form-element {
  clear: both;
  margin-bottom: 1rem;
}
.registration-courses-form label {
  display: block;
  width: 20rem;
}
.registration-courses-form .checkbox-element label {
  width: auto;
}
.registration-courses-form input {
  display: block;
  border: none;
  margin: 0;
  background-color: #ecf3f6;
  width: 100%;
}
.registration-courses-form input[readonly] {
  width: 100%;
  float: none;
  background-color: transparent;
}
.registration-courses-form input[type="checkbox"],
.registration-courses-form input[type="radio"] {
  display: inline-block;
  width: auto;
  margin: 0.5rem 1.5rem 0 0;
}
.registration-courses-form input[type="radio"] {
  margin-right: 1rem;
}
.registration-courses-form input[type="submit"] {
  background-color: #002f64;
  color: #FFFFFF;
  display: inline-block;
  border: none;
  padding: 0.5rem 1.5rem;
  margin-top: 2rem;
  width: auto;
}
.registration-courses-form input[type="submit"]:hover {
  background-color: #1a4b83;
}
.registration-courses-form .form-radio {
  float: left;
  margin-right: 2.5rem;
}
.registration-courses-form button.course-remove {
  display: none;
  padding: 0.5rem 0.7rem 0.2rem 0.7rem;
  color: #FFFFFF;
  background-color: #C7D4ED;
  -webkit-transition: background-color 250ms;
  -o-transition: background-color 250ms;
  transition: background-color 250ms;
}
.ca .registration-courses-form button.course-remove {
  display: block;
}
.registration-courses-form button.course-remove .fa {
  font-size: 2rem;
}
.registration-courses-form button.course-remove:hover {
  background-color: #7999CF;
}
.registration-courses-form input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #999;
  opacity: 1;
}
.registration-courses-form input::-moz-placeholder { /* Firefox 19+ */
  color: #999;
  opacity: 1;
}
.registration-courses-form input:-ms-input-placeholder { /* IE 10+ */
  color: #999;
  opacity: 1;
}
.registration-courses-form input:-moz-placeholder { /* Firefox 18- */
  color: #999;
  opacity: 1;
}

@media (min-width: 768px) {
  .registration-courses-form .form-element,
  div.csc-mailform form ol li {
    clear: both;
    margin-bottom: 1rem;
  }
  .registration-courses-form label,
  div.csc-mailform form label {
    float: left;
    width: 20rem;
  }
  .registration-courses-form input,
  .registration-courses-form textarea,
  div.csc-mailform form input,
  div.csc-mailform form textarea {
    float: left;
    width: 32rem;
  }
}

/*----- form -----*/

div.csc-mailform form fieldset {
  padding: 0;
  border: none;
}
div.csc-mailform form .form-element {
  clear: both;
  margin-bottom: 1rem;
}
div.csc-mailform form label {
  display: block;
  width: 20rem;
}
div.csc-mailform form .checkbox-element label {
  width: auto;
}
div.csc-mailform form input,
div.csc-mailform form textarea {
  display: block;
  border: none;
  margin: 0;
  background-color: #ecf3f6;
  width: 100%;
  padding: 0.5rem 1rem;
}
div.csc-mailform form input[readonly] {
  width: auto;
  float: none;
  background-color: transparent;
}
div.csc-mailform form input[type="checkbox"] {
  width: auto;
  margin: 0.5rem 1.5rem 0 0;
}
div.csc-mailform form input[type="submit"] {
  background-color: #002f64;
  color: #FFFFFF;
  display: inline-block;
  border: none;
  padding: 0.5rem 1.5rem;
  margin-top: 2rem;
  width: auto;
}
div.csc-mailform form input[required]::after {
  content: '*';
  display: block;
  position: absolute;
  left: -1.5rem;
  top: 0;
}
div.csc-mailform form input[type="submit"]:hover {
  background-color: #1a4b83;
}
div.csc-mailform form strong {
  text-transform: none;
  position: static;
  font-family: "TGPL","Arial",sans-serif !important;
}
div.csc-mailform form sup {
  line-height: 1;
  top: 0;
  font-size: 100%;
}
div.csc-mailform form fieldset ol {
  margin: 0;
  padding: 0;
}
div.csc-mailform form fieldset.fieldset-subgroup legend {
  font-family: "TGPB","Arial",sans-serif;
  font-size: 1.8rem;
  font-weight: normal;
  margin: 1.5rem 0 0.3rem;
  color: inherit;
  width: auto;
}
div.csc-mailform form fieldset.fieldset-subgroup em {
  display: none;
}
div.csc-mailform form fieldset.fieldset-subgroup ol {
  top: 0;
}
div.csc-mailform form fieldset.fieldset-subgroup li {
  padding: 0;
}
div.csc-mailform form ol li {
  list-style: none;
}

form.extended-search label {
  display: block;
}
form.extended-search input[type="text"] {
  display: block;
  border: none;
  margin: 0;
  background-color: #ecf3f6;
  width: 100%;
  height: 2.6rem;
  line-height: 2.6rem;
}
form.extended-search select {
  width: 100%;
  border: none;
  background-color: #ecf3f6;
  height: 2.6rem;
  line-height: 2.6rem;
}
form.extended-search input[type="submit"] {
  background-color: #002f64;
  color: #FFFFFF;
  display: inline-block;
  border: none;
  padding: 0.5rem 1.5rem;
  margin-top: 2rem;
  width: auto;
}

input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #FFF;
  opacity: 1;
}
input::-moz-placeholder { /* Firefox 19+ */
  color: #FFF;
  opacity: 1;
}
input:-ms-input-placeholder { /* IE 10+ */
  color: #FFF;
  opacity: 1;
}
input:-moz-placeholder { /* Firefox 18- */
  color: #FFF;
  opacity: 1;
}

> di[action*="tx_felogin_login"]v {
  display: none;
}

.input div[id$="preview"] {
  background-color: #f1f0ef;
  padding: 15px;
  border-radius: 5px;
  margin-bottom: 15px;
}
.filepond--root {
  font-size: 1.4rem;
}
.filepond--root .filepond--list-scroller {
  margin-bottom: 1.5em;
}
.filepond--root .filepond--credits[style] {
  margin: 0;
  right: 1em;
  bottom: 5px;
  top: auto;
  transform: translateY(0) !important;
  z-index: 10;
}

table.ext-registration {
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  form[action*="anmeldeformulare"] fieldset {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 15px;
    margin-bottom: 30px;
  }
}

@media (min-width: 992px) {
  .page-109 div.csc-mailform #field-1 {
    background: url(../img/cover_2020_form_bg.jpg) right 197px no-repeat transparent;
    background-size: 18% auto;
  }
  div.csc-mailform form ol li {
    width: 75%;
  }
}

/*----- messages & errors -----*/

.message {
  margin-bottom: 1.5rem;
  background-color: #ecf3f6;
  color: #002f64;
  padding: 1.5rem;
  display: none;
}
.message.error {
  background-color: #F2DEDE;
  color: #990000;
}
input[type="text"].parsley-error,
input[type="tel"].parsley-error,
input[type="email"].parsley-error,
input[type="date"].parsley-error {
  background-color: #F2DEDE !important;
}
.parsley-errors-list.filled {
  display: inline-block;
  margin-bottom: 1rem;
  background-color: #F2DEDE;
  color: #990000;
  padding: 0;
}
#parsley-id-99 {
  margin-top: 1rem;
  margin-bottom: 0;
}
.parsley-errors-list.filled li.parsley-custom-error-message {
  padding: 1.5rem;
  list-style: none;
}

/*----- jumbotron -----*/
.jumbotron {
  position: relative;
  overflow: hidden;
}
.jumbotron .jumbotron-slides-wrap {
  position: relative;
}
.jumbotron img,
.jumbotron video {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  object-fit: cover;
}
.jumbotron .jumbo-ov {
  background-color: #002f64;
  color: #FFF;
}
.jumbotron .jumbo-ov-content {
  position: relative;
  height: 100%;
}
.jumbotron .jumbo-ov-content .jumbo-text {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.jumbotron .jumbo-ov-content .jumbo-text h1,
.jumbotron .jumbo-ov-content .jumbo-text p.h1 {
  font-family: 'TGP', 'Arial', sans-serif;
  font-size: 2.8rem;
  line-height: 1.1;
  margin: 0 0 1.5rem 0;
  padding: 0;
  border: none;
  color: inherit;
}
.jumbo-ov .jumbo-ov-content .jumbo-text h1 .subtitle {
  font-family: 'TGPL', 'Arial', sans-serif;
  font-size: 1.8rem;
  margin-top: 1.5rem;
  line-height: 1.42857;
}
.jumbotron .jumbo-ov-content .jumbo-text h1 ~ p,
.jumbotron .jumbo-ov-content .jumbo-text p.h1 ~ p {
  font-size: 1.8rem;
  margin: 0;
}
.jumbotron .jumbo-ov-content .jumbo-text h1 ~ p:before,
.jumbotron .jumbo-ov-content .jumbo-text p.h1 ~ p:before {
  /* content: "\00BB"; */
  display: inline-block;
  padding-right: 0.5rem;
}
.jumbo-ov .jumbo-ov-content .jumbo-text span.br {
  display: none;
}
.jumbotron .infobox {
  position: absolute;
  bottom: calc(100% + 3rem);
  right: 1rem;
  width: 30%;
  background-color: #e95f55;
  color: #FFFFFF;
  padding: 1.5rem;
  border-radius: 1.5rem;
  z-index: 3;
}
.jumbotron .infobox.infobox-spez {
  width: 12rem;
  padding: 1rem;
  margin: 0;
  background-color: rgba(255,255,255,0.9);
  border: 0.5rem solid #e95f55;
  color: #e95f55;
  -moz-transform: rotate(-4deg);
  -webkit-transform: rotate(-4deg);
  -o-transform: rotate(-4deg);
  -ms-transform: rotate(-4deg);
  transform: rotate(-4deg);
}
.jumbotron .infobox.infobox-spez p {
  line-height: 1.1;
  margin-bottom: 0.5rem;
}
.jumbotron .infobox.infobox-spez *:last-child {
  margin-bottom: 0;
}
.jumbotron .infobox.infobox-spez p b {
  font-size: 130%;
}
.jumbotron .infobox h3 {
  font-family: 'TGPB', 'Arial', sans-serif;
  font-size: 1.6rem;
  margin: 0 0 0.8rem 0;
}
.jumbotron .infobox p {
  font-size: 1.4rem;
  margin-bottom: 1rem
}
.jumbotron .infobox *:last-child {
  margin-bottom: 0;
}
.jumbotron .infobox p.date {
  font-family: 'TGP', 'Arial', sans-serif;
  border-top: 2px solid #FFFFFF;
  padding-top: 1.5rem;
  margin: 0;
}
.jumbotron .jumbotron-slide {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.jumbotron .jumbotron-slide.slick-slide,
.jumbotron .jumbotron-slide:first-child {
  position: relative;
  z-index: 2;
}
.bx-viewport .slide {
  min-height: 1px;
  min-width: 1px;
}
.jumbotron .usp-bar {
  background-color: #002f64;
  color: #FFF;
  padding: 1rem 0;
}
.jumbotron .usp-bar .usp {
  color: #FFF;
  font-size: 1.8rem;
}
.jumbotron .usp-bar .usp-inner {
  position: relative;
}
.jumbotron .usp-bar .usp:first-child {
  border-left: none;
}
.jumbotron .usp-bar .usp a {
  font-family: 'TGPL', 'Arial', sans-serif;
  display: block;
  color: #FFF;
  line-height: 125%;
  border-top: 1px solid #d7e1ef;
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}
.jumbotron .usp-bar .usp a::after {
  content: "\f105";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  font-size: 3rem;
  line-height: 3.6rem;
  display: block;
  height: 3.6rem;
  position: absolute;
  right: 1rem;
  top: 50%;
  margin-top: -1.8rem;
  /*opacity: 0.7;*/
  -webkit-transition: right 250ms ease;
  -o-transition: right 250ms ease;
  transition: right 250ms ease;
}
.jumbotron .usp-bar .usp:hover a::after {
  right: 0.5rem;
  /*opacity: 1;*/
}

@media (max-width: 767px) {
  .jumbotron {
    background-color: #002f64;
  }
  .slider-controls {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .jumbotron .jumbo-ov-content .jumbo-text h1,
  .jumbotron .jumbo-ov-content .jumbo-text p.h1 {
    font-size: 3.5rem;
  }
  .jumbotron .jumbo-ov-content .jumbo-text h1 ~ p,
  .jumbotron .jumbo-ov-content .jumbo-text p.h1 ~ p {
    font-size: 2.2rem;
  }
  .jumbo-ov {
    position: absolute;
    top: 0;
    left: 50%;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 100%;
  }
  .jumbotron .jumbo-ov {
    background-color: transparent !important;
  }
  .jumbo-ov > div,
  .jumbo-ov > div > div {
    height: 100%;
  }
  .jumbo-ov .jumbo-ov-content {
    position: relative;
    height: 100%;
    margin-top: 0;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text {
    color: #002f64;
    margin-top: 1.5rem;
    width: 60%;
    display: inline-block;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text h1,
  .jumbo-ov .jumbo-ov-content .jumbo-text p.h1 {
    /*display: inline;*/
    font-family: 'TGP', 'Arial', sans-serif;
    font-size: 3.2rem;
    line-height: 6.4rem;
/*    padding: 1rem 2rem;
    background: rgba(255,255,255,0.9);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;*/
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text span.br {
    display: block;
    background: transparent;
    height: 0.7rem;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text h1 ~ p,
  .jumbo-ov .jumbo-ov-content .jumbo-text p.h1 ~ p {
    /*display: inline;*/
    font-size: 2rem;
    line-height: 4.1rem;
    padding: 0;
/*    padding: 0.8rem 2rem;
    background: rgba(255,255,255,0.9);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;*/
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text h1 .subtitle {
    font-size: 2rem;
    line-height: 4.1rem;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text .text-bg {
    padding: 1rem 1.5rem;
    background: rgba(255,255,255,0.9);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text h1 ~ p .text-bg,
  .jumbo-ov .jumbo-ov-content .jumbo-text p.h1 ~ p .text-bg,
  .jumbo-ov .jumbo-ov-content .jumbo-text h1 .subtitle > .text-bg {
    padding: 0.8rem 1rem;
  }

  .jumbotron .infobox {
    bottom: 1.5rem;
    right: 1.5rem;
    width: 20rem;
    margin: 0;
    padding: 2rem;
    z-index: 3;
  }
  .jumbotron .infobox h3 {
    font-size: 2rem;
  }
  .jumbotron .infobox p {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
  .jumbotron .infobox hr {
    margin: 1.5rem 0;
  }
  .jumbotron .infobox.infobox-spez {
    border-width: 0.8rem;
    bottom: 5rem;
    right: 4rem;  
    width: 15rem;
  }

  .slider-controls {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    z-index: 99;
    max-width: 1260px;
  }
  .slider-controls button {
    position: absolute;
    left: 0;
    display: block;
    width: 4rem;
    height: 4rem;
    background-color: rgba(255,255,255,0.7);
    padding: 0.4rem 0;
    text-align: center;
    border-radius: 2rem;
    -webkit-transition: background 250ms ease;
    -o-transition: background 250ms ease;
    transition: background 250ms ease;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .slider-controls button:hover {
    background-color: #f0f0f0;
  }
  .slider-controls button .fa {
    line-height: 1;
    font-size: 3rem;
  }
  .slider-controls button.prev {
    margin-left: 0.5rem;
    padding-right: 0.3rem;
  }
  .slider-controls button.next {
    left: auto;
    right: 0;
    margin-right: 0.5rem;
    padding-left: 0.3rem;
  }

  .jumbotron .usp-bar {
    padding: 1.5rem;
  }
  .jumbotron .usp-bar .usp {
    color: #FFF;
    font-size: 2.2rem;
    padding-top: 0;
    border-top: none;
  }
  .jumbotron .usp-bar .usp:nth-child(1) a,
  .jumbotron .usp-bar .usp:nth-child(2) a {
    border-top: none;
  }
  .jumbotron .usp-bar .usp a::after {
    font-size: 4rem;
    line-height: 4rem;
    display: block;
    height: 4rem;
    margin-top: -2rem;
  }

}

@media (min-width: 992px) {
  .jumbotron .infobox {
    width: 26.3rem;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text {
    margin-top: 3rem;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text h1,
  .jumbo-ov .jumbo-ov-content .jumbo-text p.h1 {
    font-size: 4rem;
    line-height: 7.2rem;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text h1 ~ p,
  .jumbo-ov .jumbo-ov-content .jumbo-text p.h1 ~ p,
  .jumbo-ov .jumbo-ov-content .jumbo-text h1 .subtitle {
    font-size: 2.4rem;
    line-height: 4.9rem;
    /*padding: 1rem 2rem;*/
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text h1 ~ p .text-bg,
  .jumbo-ov .jumbo-ov-content .jumbo-text p.h1 ~ p .text-bg {
    padding: 1rem 2rem;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text .text-bg {
    padding: 1rem 2rem;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text h1 ~ p .text-bg,
  .jumbo-ov .jumbo-ov-content .jumbo-text p.h1 ~ p .text-bg,
  .jumbo-ov .jumbo-ov-content .jumbo-text h1 .subtitle > .text-bg {
    padding: 0.8rem 2rem;
  }
  .jumbotron .usp-bar .usp {
    font-size: 2.4rem;
    border-left: 1px solid #d7e1ef;
    margin: 0;
  }
  .jumbotron .usp-bar .usp-inner {
    padding-left: 7px;
    padding-right: 7px;
  }
  .jumbotron .usp-bar .usp a {
    border: none;
    padding: 0;
  }
}

@media (min-width: 1200px) {
  .jumbotron .infobox h3 {
    font-size: 2.4rem;
  }
  .jumbotron .infobox p {
    font-size: 1.8rem;
  }
  .jumbotron .infobox.infobox-circle {
    width: 18rem;
    height: 18rem;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text {
    margin-top: 5rem;
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text h1,
  .jumbo-ov .jumbo-ov-content .jumbo-text p.h1 {
    font-size: 5.6rem;
    line-height: 9.1rem
  }
  .jumbo-ov .jumbo-ov-content .jumbo-text h1 ~ p,
  .jumbo-ov .jumbo-ov-content .jumbo-text p.h1 ~ p,
  .jumbo-ov .jumbo-ov-content .jumbo-text h1 .subtitle {
    font-size: 3.4rem;
    line-height: 5.9rem;
  }
  .jumbotron .usp-bar .usp {
    font-size: 2.8rem;
  }
}

/*----- breadcrumb -----*/
.breadcrumb {
  padding-top: 1.5rem;
}
.breadcrumb ul {
  padding: 0;
  margin: 0;
}
.breadcrumb ul li {
  list-style: none;
  float: left;
}
.breadcrumb ul li a, .breadcrumb ul li span {
  font-family: 'TGP', 'Arial', sans-serif;
  font-size: 1.6rem;
  display: block;
  color: #666666;
}
.breadcrumb ul li a {
  color: #999999;
  position: relative;
  margin-right: 3rem;
}
.breadcrumb ul li a::after {
  position: absolute;
  top: 0.2rem;
  right: -1.6rem;
  content: ">";
  font-size: 1.2rem;
  color: #666666;
  padding-left: 1.5rem;
}
.breadcrumb ul li a.active,
.breadcrumb ul li a:hover,
.breadcrumb ul li a:active {
  color: #666666;
}
.no-jumbo .breadcrumb {
  padding-top: 1.5rem;
}

@media (min-width: 992px) {
  .breadcrumb {
    padding-top: 2.5rem;
  }
}

/*----- main content -----*/
main {
  padding: 4rem 0;
}

.page-1 main,
.page-319 main {
  padding: 0;
}

@media (min-width: 768px) {
  main {
    padding: 6rem 0;
  }
}

/*----- home -----*/

.edu-list {
  margin: 3rem 0;
}
.edu-list .further-educations {
  border-bottom: 2px solid #002f64;
}
.edu-col .edu-links {
  margin-bottom: 1.5rem;
}
.edu-list h2 {
  font-family: 'TGPL', 'Arial', sans-serif;
  font-size: 2.6rem;
  line-height: 2.2;
  border: none;
  color: #002f64;
  margin: 0;
  padding-bottom: 0;
  cursor: pointer;
  padding-left: 8px;
  padding-right: 8px;
  position: relative;
  clear: both;
}
.edu-list h2::before,
.edu-list h2:last-of-type:after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background-color: #002f64;
  transition: opacity 250ms ease 400ms;
}
.edu-list h2.active:last-of-type:after {
  opacity: 0;
  transition-delay: 0ms;
}
.edu-list h2 span.title {
  display: block;
  padding-right: 4.5rem;
}
.edu-list h2 i.fa {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  margin-top: -1.8rem;
/*  border: 2px solid #002f64;
  border-radius: 50%;*/
  width: 3.6rem;
  height: 3.6rem;
  line-height: 3.2rem;
  text-align: center;
  border: none;
  -webkit-transition: transform 250ms ease;
  -o-transition: transform 250ms ease;
  transition: transform 250ms ease;
}

.edu-list h2 i.fa::before,
.edu-list h2 i.fa::after {
  content: "";
  display: block;
  position: absolute;
  width: 70%;
  height: 2px;
  background-color: #002f64;
  top: 50%;
  left: 50%;
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  -webkit-transition: all 250ms ease;
  -moz-transition: all 250ms ease;
  -ms-transition: all 250ms ease;
  -o-transition: all 250ms ease;
  transition: all 250ms ease;
}
.edu-list h2 i.fa::before {
  -moz-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  -o-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  -ms-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  transform: translateX(-50%) translateY(-50%) rotate(-90deg);
}
.edu-list h2.active i.fa::before {
  -moz-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  -o-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  -ms-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  transform: translateX(-50%) translateY(-50%) rotate(0deg);
}

.edu-list h3.edu-group {
  font-family: 'TGP', 'Arial', sans-serif;
  color: #002f64;
  font-size: 2.4rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  clear: both;
}
.edu-list h3.edu-group::after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background-color: #C7D4ED;
  margin-top: 1rem;
}

.edu-wrap > .row {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}
.edu-wrap > .row::after,
.edu-wrap > .row::before {
  content: none;
}
.edu-col {
  position: relative;
  /*float: left;*/
  width: 100%;
  min-height: 1px;
  padding-left: 8px;
  padding-right: 8px;
  margin-bottom: 1.5rem;
}
.ttb .edu-col {
  width: 50%;
}
.edu-col .edu {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  height: 100%;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  background-color: #002F64;
}
.edu-col .edu.textTeaser {
  padding: 1.5rem;
  background-color: #002f64;
  -webkit-transition: background 250ms ease;
  -o-transition: background 250ms ease;
  transition: background 250ms ease;
}
.edu-col .edu.textTeaser.teaserBg-1 {
  background-color: #6582a2;
}
.edu-col .edu.textTeaser.teaserBg-2 {
  background-color: #ecf3f6;
}
.edu-col .edu.textTeaser:hover {
  background-color: #003b7e;
}
.edu-col .edu.textTeaser.teaserBg-2:hover {
  background-color: #d1e6ee;
}
.edu-col .edu > a {
  display: block;
}

.edu-col .edu .edu-title {
  position: absolute;
  bottom: 0;
  padding: 1.2rem 1rem;
  left: 0;
  width: 100%;
  background-color: inherit;
  z-index: 2;
  border-radius: 0 0 1rem 1rem;
}
.edu-col .edu h3 {
  font-family: 'TGPB', 'Arial', sans-serif;
  color: #FFFFFF;
  margin: 0 0 0.5rem 0;
}
.edu-col .edu h3 i.fa {
  display: none;
  opacity: 0;
  float: right;
  font-size: 2rem;
  color: #FFFFFF;
  line-height: 1;
  -webkit-transition: opacity 250ms ease;
  -o-transition: opacity 250ms ease;
  transition: opacity 250ms ease;
}
.edu-col .edu .edu-text {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 50%;
  color: #FFFFFF;
  padding: 1rem 2.5rem 1rem 1rem;
  border-radius: 0 0 1rem 1rem;
  background-color: inherit;
  z-index: 1;
  opacity: 0.9;
  -webkit-transition: all 250ms ease;
  -o-transition: all 250ms ease;
  transition: all 250ms ease;
}
.edu-col .edu:hover .edu-text {
  opacity: 1;
}
.edu-col .edu .edu-text p {
  display: none;
  opacity: 1;
  margin: 0;
}

.edu-col .edu.textTeaser h3 {
  margin: 0;
  padding-right: 1rem;
}
.edu-col .edu.textTeaser p {
  padding: 1rem 1rem 0 0;
  margin: 1rem 0 0 0;
  border-top: 1px solid #FFF;
  color: #FFF;
}
.edu-col .edu.textTeaser::after,
.edu-col .edu .edu-text::after {
  content: "\f105";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  font-size: 2.2rem;
  line-height: 1;
  color: #FFF;
  position: absolute;
  right: 1.4rem;
  bottom: 1.8rem;
  /*opacity: 0.7;*/
  -webkit-transition: all 250ms ease;
  -o-transition: all 250ms ease;
  transition: all 250ms ease;
}

.edu-col .edu.textTeaser:hover::after,
.edu-col .edu:hover .edu-text::after {
  /*opacity: 1;*/
  right: 1rem;
}

.page-1 .edu-col .edu.textTeaser::after,
.page-1 .edu-col .edu .edu-text::after {
  right: 1rem;
}
.page-1 .edu-col .edu.textTeaser:hover::after,
.page-1 .edu-col .edu:hover .edu-text::after {
  right: 0.7rem;
}



/*body:not(.page-1) .edu-wrap.tt {
  border-bottom: 1px solid #444;
}*/
/*body:not(.page-1) .edu-col .edu.textTeaser h3 {
  padding: 0;
  margin: 0;
}*/
/*body:not(.page-1) .edu-col .edu.textTeaser p {
  padding: 1rem 0 0 0;
  margin: 1rem 0 0 0;
  border-top: 1px solid #FFF;
  color: #FFF;
}*/
body:not(.page-1) .edu-col .edu.textTeaser.teaserBg-2 h3,
body:not(.page-1) .edu-col .edu.textTeaser.teaserBg-2 p,
body.page-1 .ov-content .edu-col .edu.textTeaser.teaserBg-2 h3,
body.page-1 .ov-content .edu-col .edu.textTeaser.teaserBg-2 p {
  color: #000;
  border-color: #000;
}
body:not(.page-1) .edu-col .edu.textTeaser.teaserBg-2::after,
body.page-1 .ov-content .edu-col .edu.textTeaser.teaserBg-2::after {
  color: #000;
}

.latest-list h2 {
  font-family: 'TGPL', 'Arial', sans-serif;
  font-size: 2.8rem;
  border-bottom: 2px solid #002f64;
  color: #002f64;
  margin: 0;
  padding: 0 0 1.5rem 0;
}
.latest-list .item {
  position: relative;
  padding: 0.5rem 4.5rem 0.5rem 0;
  border-bottom: 1px solid #002f64;
}
.latest-list .item i.fa {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  color: #002f64;
/*  border: 2px solid #002f64;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;*/
  margin-top: -2rem;
  font-size: 4rem;
  line-height: 1;
  text-align: center;
  padding-left: 0.3rem;
  -webkit-transition: right 250ms ease;
  -o-transition: right 250ms ease;
  transition: right 250ms ease;
}
.latest-list .item h3 {
  font-family: 'TGPB', 'Arial', sans-serif;
  font-size: 2rem;
  color: #002f64;
  margin: 0 0 0.1rem 0;
}
.latest-list .item p {
  color: #3374b5;
  font-size: 1.6rem;
  margin: 0;
}
.latest-list .item:hover i.fa {
  right: 0;
}

.cur-info {
  padding: 3rem 0;
  background-color: #ecf3f6;
}
.cur-info .next-courses .course span.cat {
  display: inline-block;
  color: #FFFFFF;
  padding: 0.1rem 0.5rem 0 0.5rem;
  border-radius: 0.3rem;
  margin: 0.3rem 1rem 0 0;
  font-size: 1.6rem;
}
.cur-info .info-evenings {
  margin-top: 4.5rem;
}
.cur-info .info-evenings .ife p.detail {
  color: #002f64;
  line-height: 2.1rem;
}

.cur-news {
  padding: 3rem 0;
}
.cur-news .grid-item:nth-child(n+7) {
  display: none;
}

.hps {
  margin-top: 3rem;
}
.hps h2 {
  font-family: 'TGPL', 'Arial', sans-serif;
  font-size: 2.8rem;
  border-bottom: 2px solid #002f64;
  margin: 0;
  padding: 0 0 1.5rem 0;
}
.hps .hps-entry {
  position: relative;
}
.hps .hps-entry h3 {
  font-family: 'TGPB', 'Arial', sans-serif;
  position: absolute;
  color: #FFFFFF;
  left: 3rem;
  bottom: 3rem;
  z-index: 1;
  margin: 0;
}

.grid {
  margin-top: 3rem;
  opacity: 0;
  -webkit-transition: opacity 250ms ease;
  -o-transition: opacity 250ms ease;
  transition: opacity 250ms ease;
}
.grid.arranged {
  opacity: 1;
}
.grid-item {
  margin-bottom: 3rem !important;
  max-width: 100%;
}
.grid-item.hidden {
  display: none !important;
}
.grid-item .inner-wrap {
  position: relative;
  border-radius: 1.5rem;
  overflow: hidden;
}
.grid-item .fa-thumb-tack {
  display: none;
}
.grid-item .fa-thumb-tack::before {
  display: block;
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.grid-item[data-sort^="1"] .fa-thumb-tack {
  display: block;
}
.grid-item .inner-wrap > .fa {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 3rem;
  height: 3rem;
  font-size: 1.8rem;
  line-height: 3rem;
  color: #FFF;
  background-color: #002F64;
  text-align: center;
  z-index: 1;
}
.grid-item .date {
  font-size: 1.2rem;
  font-weight: 400;
  color: #b0b0b0;
}
.grid-item .pinned {
  display: none;
}
.grid-item[data-sort^="1"] .pinned {
  display: inline;
}
.grid-item h2 {
  font-size: 2rem;
}
.grid-item h3 {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
.grid-item .img-wrap {
  position: relative;
}
.grid-item .text-wrap {
  padding: 1.5rem;
  background-color: #ecf3f6;
  overflow: hidden;
}
.grid-item .text-wrap a {
  position: relative;
  z-index: 11;
}
.grid-item .text-wrap p {
  font-size: 1.4rem;
}
.grid-item .text-wrap p.maincat {
  font-family: 'TGPB', 'Arial', sans-serif;
  margin-bottom: 0.5rem;
}
.grid-item .text-wrap img {
  width: 7.5rem;
}
.grid-item .author {
  border-top: 1px solid #8097b2;
  margin: 1.5rem 0 0 0;
  padding-top: 1rem;
  display: none;
}
.grid-item .counter {
  float: left;
  margin-right: 2rem;
}
.grid-item .counter i {
  display: block;
  font-size: 2rem;
  margin-right: 1rem;
  margin-bottom: 0;
  float: left;
  color: #b0b0b0;
}
.grid-item .counter .count {
  display: block;
  float: left;
  color: #333;
}
.main-filter {
  display: none;
  text-align: left;
}
.course-grid-wrap .main-filter {
  display: block;
  float: left;
}
.main-filter button,
.type-switch button {
  padding: 0.5rem 1.3rem;
  background-color: #E8E8E8;
  min-width: 4.5rem;
  float: left;
  margin-right: 0.3rem;
  border-radius: 0.8rem;
  -webkit-transition: all 250ms ease;
  -moz-transition: all 250ms ease;
  -ms-transition: all 250ms ease;
  -o-transition: all 250ms ease;
  transition: all 250ms ease;
}
.type-switch {
  display: none;
}
.type-switch .title {
  clear: both;
  margin-top: 1.5rem;
}
.main-filter button.external-feed {
  float: left;
  margin-top: 0.3rem;
  clear: both;
}
.main-filter button.external-feed + button.external-feed {
  clear: none;
}
.main-filter button.active,
.main-filter button:hover,
.type-switch button.active,
.type-switch button:hover {
  background-color: #002f64;
  color: #FFFFFF;
}
.aside-filter {
  margin-top: 3rem;
  opacity: 0;
  display: none;
  -webkit-transition: opacity 250ms ease;
  -o-transition: opacity 250ms ease;
  transition: opacity 250ms ease;
}
.aside-filter.arranged {
  opacity: 1;
}
.aside-filter > *:first-child {
  margin-top: 0;
}
.aside-filter button {
  padding: 0.7rem 0.5rem;
  font-size: 1.3rem;
  line-height: 1;
  background-color: #DC95B7;
  color: #FFF;
  border-radius: 0.3rem;
  margin: 0 0.2em 0.2rem 0;
  float: left;
  -webkit-transition: background 250ms ease;
  -moz-transition: background 250ms ease;
  -ms-transition: background 250ms ease;
  -o-transition: background 250ms ease;
  transition: background 250ms ease;
}
.aside-filter button:hover,
.aside-filter button.active {
  background-color: #be3d7c;
}
.aside-filter .group-12 button {
  background-color: #73BEC4;
}
.aside-filter .group-12 button:hover,
.aside-filter .group-12 button.active {
  background-color: #008893;
}
.aside-filter .group-83 button {
  background-color: #B3BA9E;
}
.aside-filter .group-83 button:hover,
.aside-filter .group-83 button.active {
  background-color: #74824E;
}
.aside-filter .group-author button {
  background-color: #C7CC75;
}
.aside-filter .group-author button:hover,
.aside-filter .group-author button.active {
  background-color: #98A203;
}
.aside-filter .category-group button.inactive {
  cursor: not-allowed;
  background-color: #e8e8e8;
}
.aside-filter .acco-item {
  color: #333;
}
.aside-filter .acco-item .acco-content {
  background-color: #f8f8f8;
}
.aside-filter .acco-item header {
  background-color: #e8e8e8;
}
.aside-filter .acco-item h2 {
  color: #333;
  border-color: #333;
}
.aside-filter .acco-item header h2 i.fa::before,
.aside-filter .acco-item header h2 i.fa::after {
  background-color: #333;
}
.aside-filter .acco-item .acco-content {
  border-color: #333;
}

.show-filter-wrap {
  margin-bottom: 1.5rem;
}

.no-results {
  margin-top: 3rem;
  padding: 1.5rem;
  background-color: #f8f8f8;
}

.blogImages-wrap {
  position: relative;
  margin: 3rem 0 4.5rem 0;
}
.blogImages p.image-description {
  font-style: italic;
  margin-top: 1.5rem;
}

.home-footer {
  padding: 3rem 0;
  background-color: #ecf3f6;
}
.home-footer h1,
.home-footer h2 {
  font-family: 'TGPL', 'Arial', sans-serif;
  font-size: 2.8rem;
  border-bottom: 2px solid #002f64;
  padding: 0 0 1.5rem 0;
  margin: 1.5rem 0 1rem 0;
}

@media (max-width: 479px) {
  .grid-item {
    width: 100%;
  }
  .page-1.edu-col:nth-child(odd) {
    padding-right: 7px;
  }
  .page-1.edu-col:nth-child(even) {
    padding-left: 7px;
  }
}

@media (min-width: 480px) {
  .edu-col .edu .edu-title {
    padding: 1.2rem 2rem;
  }
}

@media (min-width: 480px) and (max-width: 991px) {
  .edu-col .edu .edu-text {
    top: 65%;
    height: 35%;
  }
}

@media (min-width: 768px) {
  .cur-info,
  .cur-news,
  .home-footer {
    padding: 6rem 0;
  }
  .edu-list {
    margin: 6rem 0;
  }
  .edu-list h2 {
    font-size: 3.2rem;
  }
  .edu-list h2 i.fa {
    margin-top: -2rem;
    width: 4rem;
    height: 4rem;
    line-height: 3.8rem;
  }
  .edu-col .edu .edu-title p {
    font-size: 1.8rem;
  }
  .edu-col .edu h3 i.fa {
    display: block;
  }
  .ttb .edu-col {
    position: relative;
    width: 33.33%;
  }
  .tt .edu-col,
  .be-1 .ov-content .tt .edu-col {
    width: 50%
  }
  .cur-info .next-courses .course span.cat {
    float: left;
  }
  .cur-news .grid .grid-item {
    display: block;
  }
}

@media (min-width: 992px) {
  .edu-col .edu .edu-text {
    padding: 2rem 2.5rem 2rem 2rem;
  }
  .edu-col .edu .edu-text p {
    display: block;
  }

  .hps,
  .cur-info .info-evenings {
    margin-top: 0;
  }

  .main-filter,
  .aside-filter {
    display: block;
  }
  .main-filter button.external-feed {
    float: right;
    margin-right: 0;
    margin-left: 0.3rem;
    clear: none !important;
  }

}

@media (min-width: 1200px) {
  .ttb .edu-col {
    width: 25%;
  }
  .be-1 .tt .edu-col {
    width: 25%;
  }
}

/*----- ausbildungen -----*/

.intro {
  font-size: 2rem;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.intro p {
  margin: 0;
}

.text-wrapped {
  padding: 1.5rem;
  background-color: #ecf3f6;
  border-radius: 1rem;
}
.text-wrapped .table-responsive {
  border-bottom: 1px solid #444;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
.text-wrapped > *:first-child {
  margin-top: 0;
}
.text-wrapped > *:last-child {
  margin-bottom: 0;
}

.gallery {
  margin-top: 3rem;
  padding-bottom: 1.5rem;
}
.gallery .ps-img > div {
  display: none;
  cursor: pointer;
  margin-bottom: 1.5rem;
}
.gallery .ps-img > div:nth-child(-n+2) {
  display: block;
}
.gallery ul {
  padding: 0;
  margin: 0;
}
.gallery ul li {
  list-style: none;
  float: left;
  margin-right: 1.5rem;
  cursor: pointer;
}
.gallery figure {
  display: none;
}
.gallery img {
  border-radius: 1rem;
}
.pswp__caption__center {
  font-family: 'TGP', 'Arial', sans-serif;
  text-align: center;
  font-size: 1.4rem;
  color: #e8e8e8;
}
.pswp__ui--fit .pswp__caption {
  background-color: rgba(0,0,0,0.7);
}

.acco-item {
  border-bottom: 1px solid #666666;
  border-top: 1px solid #666666;
  margin-top: 1.5rem;
}
.acco-item.disabled {
  display: none;
}
.acco-item + .acco-item {
  border-top: none;
  margin-top: 0;
}
/*.acco-item.first {
  border-top: 1px solid #666666;
}*/
.acco-item header h2 {
  position: relative;
  font-family: 'TGPB', 'Arial', sans-serif;
  font-size: 1.8rem;
  margin: 0;
  padding: 0.7rem 3.6rem 0.7rem 0;
  border: none;
  color: #000000;
  cursor: pointer;
}
.acco-content h2 {
  font-family: 'TGPB', 'Arial', sans-serif;
  border: none;
  color: #000000;
  font-size: 1.8rem;
  padding: 0;
  margin: 2.5rem 0 0.8rem 0;
}
.acco-content *:first-child {
  margin-top: 0;
}
.acco-item .acco-content {
  padding: 1rem 0;
  font-size: 1.6rem;
  max-width: 85rem;
}
.acco-item .acco-content.full-width {
  max-width: none;
}
.acco-item .acco-content dl {
  padding: 0;
  margin: 0 0 1.5rem 0;
}
.acco-item .acco-content dl dt {
  font-family: 'TGPB', 'Arial', sans-serif;
}
.acco-item .acco-content dl dd {
  margin: 0;
}
.acco-item h2 i.fa {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -1.5rem;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  text-align: center;
  border: none;
}
.acco-item h2 i.fa::before,
.acco-item h2 i.fa::after {
  content: "";
  display: block;
  position: absolute;
  width: 70%;
  height: 2px;
  background-color: #000;
  top: 50%;
  left: 50%;
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  -webkit-transition: all 250ms ease;
  -moz-transition: all 250ms ease;
  -ms-transition: all 250ms ease;
  -o-transition: all 250ms ease;
  transition: all 250ms ease;
}
.acco-item h2 i.fa::before {
  -moz-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  -o-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  -ms-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  transform: translateX(-50%) translateY(-50%) rotate(-90deg);
}
.acco-item.active h2 i.fa::before {
  -moz-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  -o-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  -ms-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  transform: translateX(-50%) translateY(-50%) rotate(0deg);
}

aside {
  margin-top: 3rem;
}
aside .btn {
  position: relative;
  display: block;
  font-family: 'TGPB', 'Arial', sans-serif;
  font-size: 1.8rem;
  padding: 1rem 1.5rem;
  border-radius: 1rem;
  margin-bottom: 1rem;
  width: 100%;
  text-align: left;
}
aside .btn > .fa {
  position: absolute;
  left: 1.5rem;
  top: 50%;
  margin-top: -1rem;
  line-height: 2rem;
}
aside .btn > .fa + .link-text {
  padding-left: 3.5rem;
  display: inline-block;
}
aside .btn + h2 {
  margin-top: 3rem;
}
aside .btn[href*="persoenlicher-stundenplan"],
aside .btn[href*="kennenlernen-und-anmelden"] {
  display: none;
}
.tree-level-4 aside .btn[href*="persoenlicher-stundenplan"],
.tree-level-4 aside .btn[href*="kennenlernen-und-anmelden"] {
  display: block;
}
aside .acco-item {
  color: #FFFFFF;
  border: none;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
aside .acco-item header {
  background-color: #0064ae;
  border-radius: 1rem;
}
aside .acco-item.active header {
  border-radius: 1rem 1rem 0 0;
}
aside .acco-item h2 {
  position: relative;
  padding: 1rem 4rem 1rem 1.5rem;
  margin: 0;
  font-size: 1.8rem;
  color: #FFFFFF;
}
aside .acco-item h2 i.fa {
  right: 1rem;
}
aside .acco-item h2 i.fa::before,
aside .acco-item h2 i.fa::after {
  background-color: #FFFFFF;
}
aside .acco-item .acco-content {
  border-top: none;
  padding: 1.5rem;
  background-color: #ecf3f6;
  color: #19171c;
  border-radius: 0 0 1rem 1rem;
}
aside .acco-item .acco-content h3 {
  color: #19171c;
  border-bottom: 1px solid #19171c;
  padding-top: 1.5rem;
  margin: 1.5rem 0 0.5rem 0;
}
aside .acco-item .acco-content h3:first-child {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}
.main-content ul.ce-menu,
aside .acco-item .acco-content ul {
  padding: 0;
  margin: 0;
}
.main-content ul.ce-menu {
  padding-left: 0.3rem;
}
.main-content ul.ce-menu li,
aside .acco-item .acco-content ul li {
  position: relative;
  list-style: none;
  padding-left: 1rem;
}
.main-content ul.ce-menu li {
  padding-left: 1.7rem;
}
.page-100 .main-content ul.ce-menu li {
  padding-bottom: 0.7rem;
}
.main-content ul.ce-menu li::before,
aside .acco-item .acco-content ul li::before {
  content: "\f105";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  color: #4e8abf;
  position: absolute;
  left: 0;
  top: 0;
}
/*aside .acco-item .acco-content a {
  color: rgba(255, 255, 255, 0.8);
  -webkit-transition: color 250ms ease;
  -o-transition: color 250ms ease;
  transition: color 250ms ease;
  border-bottom: 1px dotted #FFF;
}
aside .acco-item .acco-content a:hover,
aside .acco-item .acco-content a:active {
  color: white;
  text-decoration: none;
}*/

.sidebar > *:first-child {
  margin-top: 0;
}

ul.educations {
  padding: 0;
  margin: 0;
}
ul.educations li {
  list-style: none;
  float: left;
  display: block;
}
ul.educations li a {
  display: block;
  background-color: #C7D4ED;
  padding: 0.5rem;
  color: #FFF;
  border-bottom: 0;
  border-radius: 0.5rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  -webkit-transition: background-color 250ms ease;
  -o-transition: background-color 250ms ease;
  transition: background-color 250ms ease;
}
ul.educations li a:active,
ul.educations li a:hover {
  background-color: #aab8d9;
}

@media (min-width: 768px) {
  .intro {
    font-size: 2.4rem;
  }
  .text-wrapped table.contenttable td {
    font-size: 1.8rem;
  }
  .gallery .ps-img > div:nth-child(-n+3) {
    display: block;
  }
  .acco-item .acco-content dt {
    float: left;
    clear: both;
    width: 18rem;
  }
  .acco-item .acco-content dd {
    overflow: hidden;
  }
}

@media (min-width: 992px) {
  .intro {
    font-size: 2.6rem;
  }
  aside {
    margin-top: 0;
    padding-left: 3rem;
  }
  .gallery .ps-img > div:nth-child(-n+4) {
    display: block;
  }
}

@media (min-width: 1200px) {
  aside {
    padding-left: 0;
  }
}


/*----- contact -----*/
#map-canvas {
  width: 100%;
  height: 30rem;
}
.page-8 .main-content p {
  font-size: 2rem;
}
.page-8 .main-content ul {
  margin: 0 0 1.5rem 0;
  padding: 0;
}
.page-8 .main-content ul li {
  list-style: none;
}
.page-8 .main-content ul li a {
  font-size: 2rem;
}

@media (min-width: 992px) {
  #map-canvas {
    height: 60rem;
  }
}

/*----- table -----*/

table {
  width: 100%;
  border-collapse: collapse;
}
table th {
  font-family: 'TGP', 'Arial', sans-serif;
  font-weight: normal;
  padding: 0.5rem;
  text-align: left;
}
table td {
  font-size: 1.6rem;
  padding: 0.5rem;
}
table td.alignR,
table th.alignR {
  text-align: right;
}
table td.align-left {
  text-align: left;
}
table td.align-right {
  text-align: right;
}
table td.align-center {
  text-align: center;
}

table.contenttable {
  margin-bottom: 1.5rem;
}
table.contenttable td {
  font-size: 1.6rem;
  vertical-align: top;
}
table.contenttable td:first-child {
  padding-left: 0;
}

table.table-striped {
  margin-bottom: 1.5rem;
}
table.table-striped thead th {
  border-bottom: 1px solid #444;
}
table.table-striped tbody tr:nth-child(odd) {
  background-color: #f3f3f3;
}

table.module th {
  font-size: 1.2rem;
  text-align: right;
  color: #000000;
  border-bottom: 2px solid #e6e6e6;
  vertical-align: bottom;
}
table.module tbody td {
  font-size: 1.2rem;
  padding: 0.2rem 0.5rem;
  border-bottom: 1px solid #e6e6e6;
  white-space: nowrap;
  -webkit-transition: background-color 250ms, color 250ms;
  -o-transition: background-color 250ms, color 250ms;
  transition: background-color 250ms, color 250ms;
}
table.module tbody td + td {
  white-space: normal;
  max-width: 9rem;
}
table.module tbody td + td + td {
  text-align: right;
}
table.module tbody td:last-child {
  display: none;
}
table.module tbody tr:hover td {
  background-color: #f8f8f8;
  color: #333;
  cursor: pointer;
}
table.module tfoot td {
  font-family: 'TGP', 'Arial', sans-serif;
  font-size: 1.2rem;
  color: #000000;
  padding-top: 0.5rem;
  text-align: right;
  white-space: nowrap;
}
table.module tfoot td:first-child {
  text-align: left;
}

table.registration th,
table.ext-registration th {
  color: #000000;
  border-bottom: 2px solid #e6e6e6;
}
table.registration tbody td,
table.ext-registration tbody td {
  font-size: 1.4rem;
  border-bottom: 1px solid #e6e6e6;
}
table.registration tbody td[align="right"] input,
table.ext-registration tbody td[align="right"] input {
  text-align: right;
}
table.registration tbody td:last-child,
table.registration tfoot td:last-child,
table.ext-registration tbody td:last-child {
  width: 3rem;
}
table.registration tbody td input[readonly] {
  width: 0;
  padding: 0;
  display: inline;
}
table.registration tbody td:first-child,
table.ext-registration tbody td:first-child {
  min-width: 15rem;
}
table.registration tbody td:first-child + td,
table.ext-registration tbody td:first-child + td  {
  min-width: 12rem;
  width: 25%;
}
table.registration tbody td:first-child + td + td,
table.ext-registration tbody td:first-child + td + td {
  min-width: 8rem;
  width: 10%;
}
table.registration tbody td:first-child + td + td + td,
table.ext-registration tbody td:first-child + td + td + td {
  white-space: nowrap;
  min-width: 8rem;
  width: 10%;
}
table.registration tfoot td {
  font-family: "TGP","Arial",sans-serif;
  font-weight: normal;
  font-size: 1.4rem;
  padding-top: 1rem;
  color: #000000;
  border-bottom: 2px solid #666;
}
@media (max-width: 576px) {
  table.registration tbody td:first-child,
  table.registration tbody td:first-child + td,
  table.ext-registration tbody td:first-child,
  table.ext-registration tbody td:first-child + td {
    min-width: calc(50vw - 65px);
  }
}
@media (max-width: 480px) {
  table.registration tbody td:first-child,
  table.registration tbody td:first-child + td,
  table.ext-registration tbody td:first-child,
  table.ext-registration tbody td:first-child + td {
    min-width: calc(50vw - 50px);
  }
}

.expenses-wrap {
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #e6e6e6;
}

table.expenses td {
  color: #666666;
}
table.expenses td:last-child {
  text-align: right;
}
table.expenses tr:nth-last-child(2) td {
  font-family: 'TGP', 'Arial', sans-serif;
  color: #000000;
  border-top: 1px solid #666666;
  border-bottom: 1px solid #666666;
}
table.expenses tr:last-child td {
  font-size: 1.6rem;
  text-align: left;
  padding-top: 0.5rem;
}

table.courses th {
  border-bottom: 1px solid #012c5f;
  color: #888;
  padding: 0.5rem 0.2rem;
}
table.courses p {
  margin: 0;
}
table.courses tr.expand-child td {
  padding: 0;
  border: none;
}
table.courses td {
  white-space: nowrap;
  border: 0;
  border-bottom: 1px solid #e6e6e6;
  padding: 0.7rem 0.2rem 0.3rem 0.2rem;
  vertical-align: top;
  font-size: 1.4rem;
  -webkit-transition: background-color 250ms, color 250ms;
  -o-transition: background-color 250ms, color 250ms;
  transition: background-color 250ms, color 250ms;
}
table.courses td:first-child {
  width: 40%;
  min-width: 18rem;
}
table.courses td:first-child + td {
  width: 25%;
  min-width: 12rem;
}
table.courses td:first-child + td + td,
table.courses td:first-child + td + td + td {
  width: 15%;
  min-width: 10rem;
}
table.courses td:last-child {
  width: 5%;
  min-width: 5rem;
}
table.courses tbody tr.data:hover td {
  background-color: #f8f8f8;
  color: #333;
  cursor: pointer;
}
table.courses tr.expand-child td .slide-toggle {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 500ms, height 500ms;
  -o-transition: max-height 500ms, height 500ms;
  transition: max-height 500ms, height 500ms;
}
table.courses tr.expand-child.visible td .slide-toggle {
  max-height: 220px;
  display: block;
}
table.courses tr.expand-child td .slide-toggle .inner-toggle {
  padding: 0.5rem 0.2rem;
}
table.courses tr.visible.subscribe {
  border-bottom: 1px solid #333;
  border-collapse: separate;
}
table.courses tr.detail-title td {
  color: #888;
}
table.courses tr.data td:hover {
  cursor: pointer;
}
table.courses tr.data.active td,
table.courses tr.data.active:hover td,
table.courses tr.detail-data td {
  background-color: #ebeef3;
  color: #333;
}
table.courses tr.detail-data td {
  background-color: #f8f8f8;
}
table.courses tr.detail-data td:first-child {
  white-space: normal;
}
table.courses tr.detail-data a {
  border-bottom: none;
}
table.courses tr.detail-data img {
  opacity: 0.6;
  width: 4rem;
  height: 4rem;
}
/*table.courses td a {
  font-size: 1.6rem;
}*/
table.courses tr.data .show-detail {
  text-align: right;
  opacity: 0.6;
}
table.courses tr.data i.fa {
  background-color: #012c5f;
  color: #FFFFFF;
  border-radius: 50%;
  width: 2.2rem;
  height: 2.2rem;
  font-size: 2rem;
  line-height: 2.2rem;
  text-align: center;
  -webkit-transition: transform 250ms ease;
  -o-transition: transform 250ms ease;
  transition: transform 250ms ease;
}
/*table.courses tr.data.active {
  border-top: 1px solid #333;
}*/
table.courses tr.data.active i.fa {
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  -o-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
table.courses tr.subscribe td {
  border: 0;
}
table.courses tr.subscribe td .slide-toggle > div > span {
  display: inline-block;
  margin: 0 1rem 0 0;
  line-height: 2.3rem;
  padding: 0.4rem 1rem;
  float: left;
}
table.courses tr.subscribe td .slide-toggle > div > a {
  float: left;
}
table.courses tr.subscribe td .slide-toggle > div > a:last-child {
  clear: both;
  margin-top: 0.5rem;
}
table.courses tr.subscribe td .slide-toggle .free-available {
  line-height: 2.3rem;
  padding: 0.4rem 0 0.4rem 1rem;
  border-left: 1px solid #ccc;
}
table.courses tr.subscribe td .slide-toggle .check-wrap {
  float: left;
  border-radius: 0.5rem;
  background-color: #999;
  margin-left: 0;
  font-size: 1.6rem;
  cursor: pointer;
  padding: 0;
}
table.courses tr.subscribe td .slide-toggle .check-wrap label {
  display: inline-block;
  padding: 0.4rem 1rem;
  color: #FFF;
  cursor: pointer;
}
#course-subscribe-container {
  position: fixed;
  bottom: -150px;
  padding: 1.5rem;
  left: 1.5rem;
  background-color: rgba(255,255,255,0.9);
  border: 1px solid #bbb;
  color: #333;
  z-index: 401;
}
#course-subscribe-container.behind {
  z-index: 300;
}
.nav-open #course-subscribe-container {
  display: none;
}
#course-subscribe-container p {
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
  font-family: 'TGP';
}
#course-subscribe-container button {
  display: block;
  position: absolute;
  top: -5.1rem;
  left: -1px;
  width: 5rem;
  height: 5rem;
  background-color: rgba(121,153,207,0.9);
  color: #FFF;
  font-size: 2.4rem;
  border-radius: 0.8rem 0.8rem 0 0;
}
#course-subscribe-container button .cnt-courses {
  position: absolute;
  font-size: 1rem;
  color: #FFFFFF;
  background-color: #E95F55;
  display: block;
  border-radius: 50%;
  height: 1.7rem;
  right: -0.5rem;
  padding: 0.2rem;
  position: absolute;
  top: -0.5rem;
  width: 1.7rem;
}
a#course-subscribe {
  display: inline-block;
}
a.book-course.selected {
  background-color: #CCCCCC;
  color: #FFFFFF;
  cursor: default;
}

table.sortable th.header:not(.sorter-false) {
  cursor: pointer;
}
table.sortable th.tablesorter-headerAsc > div::after {
  content: "\f107";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  font-size: 1.4rem;
  padding-left: 0.5rem;
}
table.sortable th.tablesorter-headerDesc > div::after {
  content: "\f106";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  font-size: 1.4rem;
  padding-left: 0.5rem;
}

.table-responsive {
  overflow-x: scroll;
}
.table-responsive::-webkit-scrollbar {
  -webkit-appearance: none;
}
.table-responsive::-webkit-scrollbar:vertical {
  width: 12px;
}
.table-responsive::-webkit-scrollbar:horizontal {
  height: 12px;
}
.table-responsive::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, .5);
  border-radius: 10px;
  border: 2px solid #ffffff;
}
.table-responsive::-webkit-scrollbar-track {
  border-radius: 10px;  
  background-color: #ffffff; 
}

@media (min-width: 768px) {
  table.module th {
    font-size: 1.4rem;
  }
  table.module tbody td {
    font-size: 1.4rem;
    padding: 0.5rem;
    max-width: auto !important;
  }
  table.module tbody td + td {
    white-space: nowrap;
    max-width: none;
  }
  table.module tfoot td {
    font-size: 1.4rem;
  }
}

@media (min-width: 992px) {
  table.courses tr.subscribe td .slide-toggle > div > a:last-child {
    clear: none;
    margin-top: 0;
    float: right;
  }

  .table-responsive {
    overflow-x: visible;
  }
}

/*----- courses grid -----*/

.course-grid {
  display: flex;
  flex-wrap: wrap;
  /*overflow: hidden;*/
  margin-top: 1.5rem;
}
.course-grid::after,
.course-grid::before {
  content: none;
}
.course-col {
  padding: 0 0.8rem;
  margin-bottom: 1.5rem;
  z-index: 1;
  width: 100%;
}
.course-col .inner-wrap {
  padding: 0 1.5rem 1.5rem 1.5rem;
  background-color: #ecf3f6;
  color: #000;
  border-radius: 1rem;
  transition: background 250ms ease;
}
.course-col.active {
  z-index: 9;
}
.course-col.active .inner-wrap {
  background-color: #d1e6ee;
}
.course-grid .course-col h3 {
  font-family: 'TGPB', 'Arial', sans-serif;
  color: #000;
  height: 9.5rem;
  /*overflow: hidden;*/
  margin: 0;
  padding-top: 1.5rem;
  padding-right: 3rem;
  position: relative;
  cursor: pointer;
  transition: color 250ms ease;
  overflow-y: auto;
  overflow-x: hidden;
}
.course-grid .course-col h3:hover {
  color: #4e8abf;
}
.course-grid .course-col h3 .typ {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0.5rem 0.6rem;
  color: #4e8abf;
  font-size: 1.6rem;
  z-index: 2;
}
i.fa.show-more {
  position: absolute;
  top: 1.2rem;
  right: -0.5rem;
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  text-align: center;
  border: none;
  -webkit-transition: transform 250ms ease;
  -o-transition: transform 250ms ease;
  transition: transform 250ms ease;
}
i.fa.show-more::before,
i.fa.show-more::after {
  content: "";
  display: block;
  position: absolute;
  width: 50%;
  height: 2px;
  background-color: #000;
  top: 50%;
  left: 50%;
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  -webkit-transition: all 250ms ease;
  -moz-transition: all 250ms ease;
  -ms-transition: all 250ms ease;
  -o-transition: all 250ms ease;
  transition: all 250ms ease;
}
i.fa.show-more::before {
  -moz-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  -o-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  -ms-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  transform: translateX(-50%) translateY(-50%) rotate(-90deg);
}
.course-grid .course-col.active h3 i.fa.show-more::before,
button.active i.fa.show-more::before {
  -moz-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  -o-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  -ms-transform: translateX(-50%) translateY(-50%) rotate(0deg);
  transform: translateX(-50%) translateY(-50%) rotate(0deg);
}
.course-grid .course-col h3:hover i.fa::before,
.course-grid .course-col h3:hover i.fa::after {
  background-color: #4e8abf;
}
.course-col .course-info {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 1rem 0;
  font-size: 88%;
}
.course-col .more-info {
  border-top: none;
  display: none;
}
.course-col .info-row {
  clear: both;
}
.course-col .info-row b {
  display: block;
  float: left;
  width: 6.4rem;
}
.course-col .info-row .value {
  float: left;
  width: calc(100% - 6.4rem);
}
.course-col .info-row img {
  width: 4rem;
  height: auto;
}
.course-col .info-row .label-info {
  margin: 1rem 0.5rem 0 0;
  display: block;
  float: left;
  border-bottom: none;
}
.course-col .actions {
  clear: both;
  margin-top: 1rem;
}
.course-col .actions .btn {
  float: none;
  width: 100%;
  margin-top: 0.5rem;
}
.course-col .actions .btn .fa {
  float: right;
  font-size: 2rem;
  line-height: 1;
}
.course-col .tipr_content {
  background-color: #999;
}
button.open-all {
  position: relative;
  padding: 0.5rem 3rem 0.5rem 1.3rem;
  background-color: #ecf3f6;
  font-family: 'TGPB', 'Arial', sans-serif;
  color: #000;
  min-width: 4.5rem;
  float: right;
  border-radius: 0.8rem;
  -webkit-transition: all 250ms ease;
  -moz-transition: all 250ms ease;
  -ms-transition: all 250ms ease;
  -o-transition: all 250ms ease;
  transition: all 250ms ease;
}
button.open-all .show-more {
  top: 0;
  right: 0;
}

@media (min-width: 620px) {
  .course-col {
    width: 50%;
  }

/*  .course-col:nth-child(2n+1) {
    clear: both;
  }*/
}
@media (min-width: 992px) {
  .ov-content .course-col,
  .be-2 .course-col {
    width: 33.33%;
  }
}
@media (min-width: 1200px) {
  .course-col {
    width: 33.33%;
  }
/*  .course-col:nth-child(2n+1) {
    clear: none;
  }
  .course-col:nth-child(3n+1) {
    clear: both;
  }*/
  .ov-content .course-col,
  .be-2 .course-col {
    width: 25%;
  }
/*  .ov-content .course-col:nth-child(3n+1),
  .be-2 .course-col:nth-child(3n+1) {
    clear: none;
  }
  .ov-content .course-col:nth-child(4n+1),
  .be-2 .course-col:nth-child(4n+1) {
    clear: both;
  }*/
}


/*----- pager -----*/

.pager {
  display: none;
  margin-top: 1.5rem;
}
.pager button.btn {
  width: 3rem;
  background-color: #f8f8f8;
  border: 1px solid #ccc;
  color: #444;
  transition: all 250ms ease;
}
.pager button.btn.disabled {
  border-color: #efefef;
  background-color: #efefef;
  cursor: auto;
}
.pager button.btn:hover {
  background-color: #e8e8e8;
}
.pager button.btn.disabled:hover {
  background-color: #efefef;
}
.pager button.btn i.fa {
  color: #777;
}
.pager button.btn.disabled i.fa {
  color: #aaa;
}
.pager span.pagedisplay {
  font-size: 1.4rem;
  line-height: 3rem;
  padding: 0 1rem;
}
.isotope-pager.pager button.btn {
  padding: 0.9rem 1.5rem;
  width: auto;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}
.isotope-pager.pager button.btn.active {
  color: #FFF;
  border-color: #7896d1;
  background-color: #7896d1;
}
.pager-info {
  display: none;
  padding-top: 1.5rem;
}

.pager-table table {
  overflow: hidden;
}
.pager-table thead td {
  background-color: #FFFFFF;
}
.pager-table tbody {
  position: relative;
}

.pager-nav {
  padding: 0;
  margin-top: 1.5rem;
}
.pager-nav li {
  list-style: none;
  float: left;
  margin-right: 1rem;
}
.pager-nav li a {
  display: block;
  padding: 0.5rem 1rem;
  border: 1px solid #ccc;
  -webkit-transition: background-color 250ms;
  -o-transition: background-color 250ms;
  transition: background-color 250ms;
  width: 4.2rem;
  margin-bottom: 1rem;
  text-align: center;
}
.pager-nav li a:hover,
.pager-nav li a:active,
.pager-nav li a.active {
  background-color: #eee;
}

.startlist-action .pager,
.startlist-action .pager-info {
  display: none !important;
}

/*----- blockquotes -----*/

.main-content blockquote {
  margin: 0;
  max-width: 80%;
}
.main-content blockquote p {
  font-size: 2.6rem;
  color: #012969;
  padding: 0;
  margin: 6rem 0 0 0;
}
.main-content blockquote p::before {
  content: "\00AB";
}
.main-content blockquote p::after {
  content: "\00BB";
}
.main-content blockquote + p {
  font-family: 'TGP', 'Arial', sans-serif;
  color: #000000;
  margin-bottom: 6rem;
}
.main-content .blockquote {
  margin: 3rem 0;
  padding: 3rem;
  background-color: #ecf3f6;
  border-radius: 1rem;
}
.main-content .blockquote img {
  margin-bottom: 3rem;
  margin-top: 0.6rem;
}
.main-content .blockquote blockquote p {
  margin: 0;
}
.main-content .blockquote blockquote + p {
  margin: 1rem 0 0 0;
}
.main-content .blockquote .video-wrap {
  width: 40.9rem;
  margin-bottom: 3rem;
  max-width: 100%;
}
.main-content .blockquote .video-wrap img {
  float: none;
  margin: 0;
}
.main-content .blockquote .video-wrap a.play {
  border-bottom: none;
  display: block;
  position: relative;
}
.main-content .blockquote .video-wrap a.play::before {
  content: "\f04b";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  display: block;
  font-size: 2.8rem;
  line-height: 7rem;
  color: rgba(0,0,0,0.6);
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -3.5rem;
  margin-left: -3.5rem;
  width: 7rem;
  height: 7rem;
  background-color: rgba(255,255,255,0.7);
  text-align: center;
  border-radius: 50%;
  padding-left: 5px;
  -webkit-transition: background 250ms linear;
  -moz-transition: background 250ms linear;
  -ms-transition: background 250ms linear;
  -o-transition: background 250ms linear;
  transition: background 250ms linear;
}
.main-content .blockquote .video-wrap:hover a.play::before {
  background-color: rgba(255,255,255,0.9);
}
p.legend {
  font-size: 1.4rem;
  margin-top: 3rem;
}
p.legend.mb {
  margin-top: 1.5rem;
  margin-bottom: 3rem;
}

@media (min-width: 480px) {
  .main-content .blockquote img {
    float: left;
    margin-right: 3rem;
    margin-bottom: 0;
  }
  .main-content .blockquote .blockquote-text {
    overflow: hidden;
  }
}

@media (min-width: 768px) {
  .main-content blockquote {
    max-width: 100%;
  }
  .main-content .blockquote .video-wrap {
    float: left;
    margin-right: 3rem;
    margin-bottom: 0;
    max-width: 50%;
  }
}

/*----- team -----*/

.team h2 {
  font-family: 'TGPB', 'Arial', sans-serif;
  color: #002f64;
  margin: 1rem 0 0.2rem 0;
  border: none;
  font-size: 1.8rem;
  padding: 0;
}
.team h2.info {
  cursor: pointer;
}
.team .info p {
  font-size: 1.6rem;
  margin: 0 0 1rem;
}
.team .info *:last-child {
  margin-bottom: 0;
}
.team p.job {
  color: #3374b5;
  margin: 0;
}
.team p.job span.job-line{
  display: block;
}
.team p.email a {
  display: block;
  width: max-content;
}
.team .img-wrap {
  overflow: hidden;
}
.team img.info {
  cursor: pointer;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
  will-change: transform
}
.team img.info:hover {
  -moz-transform: scale3d(1.07,1.07,1.07);
  -webkit-transform: scale3d(1.07,1.07,1.07);
  -o-transform: scale3d(1.07,1.07,1.07);
  -ms-transform: scale3d(1.07,1.07,1.07);
  transform: scale3d(1.07,1.07,1.07);
}
.team div.info {
  display: none;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #666666;
}
.team .team-col {
  margin-bottom: 1.5rem;
}

@media (max-width: 479px) {
  .team-col {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .team-col:nth-child(2n+1) {
    clear: both;
  }
}

@media (min-width: 992px) {
  .team-col:nth-child(2n+1) {
    clear: none;
  }
  .team-col:nth-child(3n+1) {
    clear: both;
  }
}

@media (min-width: 1200px) {
  .team-col:nth-child(3n+1) {
    clear: none;
  }
  .team-col:nth-child(4n+1) {
    clear: both;
  }
}


/*----- portrait -----*/

.portrait {
  overflow: hidden;
}
.portrait h2 {
  font-family: 'TGPB', 'Arial', sans-serif;
  color: #002f64;
  margin: 1rem 0 0.2rem 0;
  border: none;
  font-size: 1.8rem;
  padding: 0;
}
.portrait .info p {
  font-size: 1.6rem;
  margin: 0 0 1rem;
}
.portrait .info *:last-child {
  margin-bottom: 0;
}
.portrait p.job span.job-line{
  display: block;
}
.portrait .img-wrap {
  position: relative;
  overflow: hidden;
}
.portrait .img-wrap .slick-arrow {
  position: absolute;
  top: 50%;
  left: 10px;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  z-index: 50;
  text-indent: -9999px;
  overflow: hidden;
  opacity: 0.8;
  text-shadow: 0 0 2px #AAA;
  transition: opacity 250ms ease;
}
.portrait .img-wrap .slick-arrow:hover {
  opacity: 1;
}
.portrait .img-wrap .slick-arrow.slick-next {
  left: auto;
  right: 10px;
}
.portrait .img-wrap .slick-arrow::after {
  display: block;
  content: "\f137";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  font-size: 3rem;
  width: 100%;
  line-height: 1;
  color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  text-indent: 0;
  z-index: 51;
}
.portrait .img-wrap .slick-arrow.slick-next::after {
  content: "\f138";
}
.portrait img.info {
  position: relative;
  z-index: 2;
  cursor: pointer;
  transition: opacity 250ms ease;
}
.portrait .img-wrap:not(.slick-initialized) img.info + img,
.portrait .img-wrap:not(.slick-initialized) img.info + img + img,
.portrait .img-wrap:not(.slick-initialized) img.info + img + img + img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.portrait div.info {
  display: none;
  padding-top: 1rem;
}
.portrait .portrait-col {
  margin-bottom: 1.5rem;
}
.portrait .portrait-col > div {
  position: relative;
}
.portrait .portrait-col .close {
  display: none;
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 3rem;
  color: #FFF;
  width: 30px;
  height: 30px;
  z-index: 51;
  opacity: 0.8;
  text-shadow: 0 0 2px #AAA;
  transition: opacity 250ms ease;
}
.portrait .portrait-col .close:hover {
  opacity: 1;
}
.portrait .portrait-col.open .close {
  display: block;
}

@media (max-width: 479px) {
  .portrait-col {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .portrait-col:nth-child(2n+1) {
    clear: both;
  }
}

@media (min-width: 992px) {
  .portrait-col:nth-child(2n+1) {
    clear: none;
  }
  .portrait-col:nth-child(3n+1) {
    clear: both;
  }
}

@media (min-width: 1200px) {
  .portrait-col:nth-child(3n+1) {
    clear: none;
  }
  .portrait-col:nth-child(4n+1) {
    clear: both;
  }
}

/*----- overlay -----*/

.overlay {
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 301;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  text-align: center;
}
.overlay .ov-outer-wrap {
  position: relative;
  display: inline-block;
  margin: 1.5rem;
  padding: 6rem 0;
  width: 100%;
  max-width: calc(100vw - 3rem);
  background-color: #FFFFFF;
  text-align: left;
}
.overlay .ov-content .main-content {
  opacity: 0;
  padding: 0 1.5rem;
}
.overlay .ov-close {
  position: sticky;
  position: -webkit-sticky;
  float: right;
  margin-top: -4.5rem;
  margin-right: 1.5rem;
  top: 0;
  -moz-box-shadow: 0 0 2px rgba(255,255,255,0.7);
  -webkit-box-shadow: 0 0 2px rgba(255,255,255,0.7);
  box-shadow: 0 0 2px rgba(255,255,255,0.7); 
  z-index: 10;
}
.overlay .ov-close.scroll {
  position: fixed;
  right: auto;
}
.overlay .ov-close:hover .close-icon {
  background-color: #002f64;
}
.overlay .ov-close:hover .close-icon::before,
.overlay .ov-close:hover .close-icon::after {
  background-color: #FFFFFF;
}
.be-2 .sidebar h2,
.overlay:not(.news) .sidebar h2 {
  font-family: 'TGP', 'Arial', sans-serif;
  border: none;
  color: #000000;
  font-size: 2rem;
  padding: 0;
  margin: 0 0 0.5rem 0;
}
/*.overlay:not(.news) h3 {
  font-family: 'TGP', 'Arial', sans-serif;
}*/
.overlay .fa.fa-spin {
  display: block;
  text-align: center;
  margin: 0 auto;
  font-size: 4rem;
}
.overlay .main-content > .actions {
  float: right;
}
.overlay .main-content > .actions + .socialshare {
  clear: none;
}
.directlink {
  display: none;
}
.overlay a.directlink {
  background-color: #7896d1;
  color: #FFF;
}
.overlay a.directlink:hover,
.overlay a.directlink:active {
  background-color: #92B0EB;
}
@media (max-width: 619px) {
  .overlay .ov-content .socialshare {
    margin-top: 9rem;
  }
}
@media (min-width: 480px) {
  .overlay .ov-content .main-content {
    padding: 0 3rem;
  }
}

@media (min-width: 768px) {
  .overlay .ov-outer-wrap {
    max-width: none;
    width: auto;
    margin: 3rem 0;
  }
}

/*----- news -----*/

.main-content .news-post + .actions {
  float: right;
  margin-top: 6rem;
}
.main-content .news-post + .actions + .socialshare {
  clear: none;
  float: left;
  margin-top: 6rem;
}
.text-img-wrap {
  margin-top: 30px;
  margin-bottom: 30px;
}
.text-img-wrap img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-bottom: 15px;
}
.text-img-wrap .text-wrap {
  overflow: hidden;
}
.text-img-wrap .text-slice {
  position: relative;
  overflow: hidden;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.text-img-wrap .text-slice button.show-more,
.text-img-wrap .text-slice button.show-less {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: block;
  padding: 20px 0 5px;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,1+100 */
  background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
  transition: all 250ms ease;
}
.text-img-wrap .text-slice button.show-more:hover {
  padding-bottom: 0;
}
.text-img-wrap .text-slice button.show-less {
  padding-top: 5px;
  padding-bottom: 5px;
  bottom: -5px;
}
.text-img-wrap .text-slice button.show-less:hover {
  bottom: 0;
}
.text-img-wrap .text-slice button.show-less i {
  transform: rotate(180deg);
}
.text-img-wrap .text-wrap .text-slice > *:first-child {
  margin-top: 0;
}
.text-img-wrap .text-wrap .text-slice > *:last-child {
  margin-bottom: 0;
}
@media (min-width: 400px) {
  .text-img-wrap img {
    max-width: 30%;
  }  
  .text-img-wrap.type-0 img {
    float: left;
    margin-right: 20px;
  }
  .text-img-wrap.type-1 img {
    float: right;
    margin-left: 20px;
  }
}
@media (min-width: 768px) {
  .main-content .news-post .tt.edu-wrap {
    max-width: 720px;
    margin: 0 auto;
  }  
}
@media (min-width: 992px) {
  .main-content .news-post .tt.edu-wrap {
    max-width: 83.33333%;
  }  
}
@media (min-width: 992px) {
  .main-content .news-post .tt.edu-wrap {
    max-width: 83.33333%;
  }  
}
@media (min-width: 1200px) {
  .main-content .news-post .tt.edu-wrap {
    max-width: 66.66667%;
  }  
}

/*----- fachbücher -----*/

.grid.fachbuecher-grid {
  margin-top: 1.5rem;
}
.grid-item.fachbuch {
  margin-bottom: 1.5rem !important;
  width: 100%;
}
.fachbuch .inner-wrap {
  background-color: transparent;
  padding: 1.5rem 0;
  border-bottom: 2px solid #e8e8e8;
  border-radius: 0;
}
.fachbuch .img-wrap {
  width: 6rem;
  margin-right: 1rem;
  float: left;
}
.grid-item.fachbuch .text-wrap p.author-name {
  margin: 0 0 0.3rem 0;
  font-size: 90%;
  color: #777;
}
.grid-item.fachbuch h3 {
  font-size: 1.8rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.fachbuch .text-wrap {
  padding-left: 0;
  padding: 0;
  background-color: transparent;
}
.fachbuch .text-wrap .comments {
  font-style: italic;
  color: #666;
}
.fachbuch.grid-item .text-wrap p {
  font-size: 1.4rem;
}
.fachbuch .text-wrap p.info {
  clear: both;
  margin: 0;
}
.fachbuch .text-wrap p.info b {
  display: block;
  float: left;
  width: 10rem;
}
.fachbuch .text-wrap p.info .value {
  float: left;
  width: calc(100% - 10rem);
}
.fachbuch .text-wrap .btn {
  margin-top: 1.5rem;
}
.category-group select {
  max-width: 100%;
}

a.google-search {
  border: none;
  margin-left: 0.5rem;
  padding-left: 0.8rem;
  border-left: 1px solid #999;
}
@media (min-width: 480px) {
  .fachbuch .img-wrap {
    width: 8rem;
    margin-right: 1.5rem;
  }
  .grid-item.fachbuch h3 {
    font-size: 2rem;
  }
  .fachbuch.grid-item .text-wrap p {
    font-size: 1.6rem;
  }
}
@media (min-width: 992px) {
  .fachbuch .img-wrap {
    width: 13rem;
  }
  .fachbuch .text-wrap {
    width: calc(100% - 14.5rem);
    float: left;
    padding-top: 0;
    padding-bottom: 0;
  }
}

/*----- brochure -----*/

a.brochure {
  display: block;
  position: relative;
  background-color: #ec645b;
  color: #FFF;
  border-radius: 1.5rem;
  padding: 20rem 1.5rem 1.5rem 1.5rem;
  margin: 9.2rem auto 0 auto;
  border-bottom: none;
  text-align: center;
  max-width: 27rem;
}
aside a.brochure {
  margin-top: 9.2rem;
  margin-bottom: 1.5rem;
}
a.brochure::after {
  content: "\f105";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  font-size: 3rem;
  line-height: 1;
  color: #FFF;
  position: absolute;
  right: 1rem;
  bottom: 1.5rem;
  /*opacity: 0.7;*/
  -webkit-transition: all 250ms ease;
  -o-transition: all 250ms ease;
  transition: all 250ms ease;
}
a.brochure img {
  position: absolute;
  top: -5.7rem;
  left: 50%;
  max-width: 80%;
  -moz-transform: rotate(5deg) translateX(-50%);
  -webkit-transform: rotate(5deg) translateX(-50%);
  -o-transform: rotate(5deg) translateX(-50%);
  -ms-transform: rotate(5deg) translateX(-50%);
  transform: rotate(5deg) translateX(-50%);
}
a.brochure i,
a.brochure em {
  font-family: 'TGPL', 'Arial', sans-serif;
  font-style: normal;
  font-size: 3rem;
  line-height: 1.1;
  display: block;
  text-align: left;
}
@media (min-width: 480px) {
  a.brochure {
    margin-top: 7.2rem;
  }
}
@media (min-width: 992px) {
  aside a.brochure {
    margin-top: 0;
  }
}

/*----- socialshare -----*/

.socialshare {
  margin-top: 3rem;
}
.socialshare-content {
  display: flex;
  align-items: center;
}
.socialshare a,
.socialshare button {
  font-size: 3.2rem;
  line-height: 1 !important;
  display: flex;
  align-items: center;
  margin-right: 0.8rem;
  color: #002f64;
  border-bottom: 0 !important;
}
.socialshare button {
  font-size: 3rem;
}
.socialshare a:hover,
.socialshare button:hover {
  color: #003b7e;
}
.socialshare i {
  vertical-align: text-top;
}
.socialshare a:has(svg) {
  background-color: #002f64;
  border-radius: 6px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: background-color 250ms ease;
}
.socialshare a > svg {
  width: 22px;
  height: 22px;
}
.socialshare .copy-container .value {
  display: none;
}

/*----- icons -----*/

.close-icon {
  position: relative;
  display: block;
  width: 4rem;
  height: 4rem;
  padding: 1rem;
  overflow: hidden;
  text-indent: -9999px;
  z-index: 1;
  background-color: #ecf3f6;
  -webkit-transition: background 250ms ease;
  -o-transition: background 250ms ease;
  transition: background 250ms ease;
}

.close-icon::before, .close-icon::after {
  content: '';
  position: absolute;
  height: 2px;
  width: 50%;
  top: 50%;
  left: 50%;
  margin-left: -1rem;
  margin-top: -1px;
  background: #002f64;
  z-index: 2;
  -webkit-transition: background 250ms ease;
  -o-transition: background 250ms ease;
  transition: background 250ms ease;
}

.close-icon::before {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

.close-icon::after {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

i.fa.acco-arrow {
  border: 1px solid #000000;
  border-radius: 50%;
  color: #000000;
  font-size: 2rem;
  height: 2.6rem;
  line-height: 2.4rem;
  margin-top: -1.3rem;
  position: absolute;
  right: 0;
  text-align: center;
  top: 50%;
  transition: transform 250ms ease 0s;
  width: 2.6rem;
}
/*@media (max-width: 767px) {
  .activeMobile i.fa.acco-arrow,
  .active i.fa.acco-arrow {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }
}

@media (min-width: 768px) {
  .active i.fa.acco-arrow {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    -o-transform: rotate(-180deg);
    transform: rotate(-180deg);
  }
}*/

/*----- footer -----*/

.pagefooter {
  background-color: #002f64;
  padding: 3rem 0;
  position: relative;
}
.pagefooter .footer-col {
  margin-bottom: 1.5rem;
}
.pagefooter .footer-col h3 {
  color: #FFFFFF;
  margin: 0 0 1rem 0;
  font-size: 1.6rem;
}
.pagefooter .footer-col h3 a {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}
.pagefooter .footer-col h3 a:hover {
  text-decoration: underline;
}
.pagefooter .footer-col p {
  font-size: 1.6rem;
  color: #b1c3e2;
}
.pagefooter .footer-col ul {
  padding: 0;
  margin: 0;
}
.pagefooter .footer-col ul li {
  list-style: none;
  line-height: 1.1;
  padding-bottom: 0.5rem;
}
.pagefooter .footer-col a {
  font-size: 1.6rem;
  color: #b1c3e2;
}
.pagefooter .footer-col a.socialmedia {
  font-size: 3rem;
  margin-right: 4px;
}
.pagefooter .footer-col a.socialmedia:last-child {
  margin-right: 0;
}
.pagefooter .footer-col a.socialmedia:has(svg) {
  background-color: #b1c3e2;
  border-radius: 4px;
  width: 26px;
  height: 26px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: background-color 250ms ease;
}
.pagefooter .footer-col a.socialmedia > svg {
  width: 20px;
  height: 20px;
}
.pagefooter .footer-col a.socialmedia:has(svg):hover {
  background-color: #FFFFFF;
}
.pagefooter .footer-col a:hover,
.pagefooter .footer-col a:active {
  text-decoration: none;
  color: #FFFFFF;
}
.pagefooter .footer-col:nth-child(7) {
  clear: both;
}
.pagefooter .footer-col.google-search {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.pagefooter .fa-phone::before,
.fa-info-circle::before {
  position: relative;
  top: 1px;
}

@media (min-width: 768px) {
  .pagefooter {
    padding: 6rem 0;
  }
  .pagefooter .footer-col:nth-child(3) {
    clear: both;
  }
  .pagefooter .footer-col:nth-child(6) {
    clear: both;
  }
}

@media (min-width: 992px) {
  .pagefooter .footer-col:nth-child(2n+1) {
    clear: none;
  }
  .pagefooter .footer-col:nth-child(7) {
    clear: none;
  }
  .pagefooter .footer-col.google-search {
    position: static;
    width: 50%;
  }
}

/*----- cta-bar -----*/

.cta-bar {
  color: #FFFFFF;
}
.cta-bar-inner {
  padding-bottom: 4rem;
  margin-bottom: 4rem;
  border-bottom: 2px solid #d7e1ef;
}
.cta-bar h3 {
  font-family: 'TGPL','Arial',sans-serif;
  font-size: 200%;
  margin-top: 0;
  margin-bottom: 2rem;
}
.cta-bar p {
  padding-left: 5.5rem;
  position: relative;
  margin: 0 0 0.8rem 0;
}
.cta-bar p .fa {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  background: #d7e1ef;
  color: #002f64;
  margin-top: -2.1rem;
  overflow: hidden;
  width: 4rem;
  line-height: 4rem;
  font-size: 3rem;
  text-align: center;
  border-radius: 0.8rem;
}
.cta-bar a {
  color: #b1c3e2;
}
.cta-bar a:hover {
  color: #FFFFFF;
}

@media (min-width: 992px) {
  .cta-bar p {
    margin-bottom: 0;
  }
}

/*----- DIV -----*/

p.targets {
  margin: 0;
}

.actions {
  margin-top: 3rem;
}
.actions .btn {
  margin-right: 1rem;
  float: left;
}

.courses-table,
.modules-table {
  margin-top: 3rem;
}

/*----- google search -----*/

.gsc-control-cse.gsc-control-cse-de {
  padding: 0;
  background-color: #002F64;
  border: none;
}
.gsc-control-cse.gsc-control-cse-de form {
  margin: 0;
}
.gsc-control-cse.gsc-control-cse-de table td {
  padding: 0; 
}
.gsc-control-cse.gsc-control-cse-de table td.gsc-input {
  padding: 0 12px 0 0;
}
.cse input.gsc-search-button, input.gsc-search-button {
  border: none;
  display: block;
}

/*----- shop -----*/

body .aimeos.catalog-filter,
body .aimeos .catalog-stage-navigator,
body .aimeos .catalog-stage-breadcrumb,
body .aimeos .catalog-list-type,
body .aimeos .pagination,
body .aimeos.locale-select,
body .aimeos .catalog-social,
body .aimeos .basket-mini-product,
body .aimeos .basket-mini-product .basket-toggle,
body .aimeos .catalog-session-seen,
body .aimeos .product .stock-list,
body .aimeos .catalog-actions .actions-button-watch,
body .aimeos .catalog-actions .actions-button-favorite,
body .main-content .aimeos .price-item span.taxrate,
body .aimeos .common-summary-detail .code {
  display: none;
}
body .aimeos a:not(.btn):hover,
body .aimeos a:not(.btn):active {
  color: #1a4b83;
}
body .aimeos a:not(.btn):link,
body .aimeos a:not(.btn):visited {
  border-bottom: none;
  color: #002f64;
  text-transform: none;
  font-weight: 400;
  -webkit-transition: color 400ms ease;
  -moz-transition: color 400ms ease;
  -ms-transition: color 400ms ease;
  -o-transition: color 400ms ease;
  transition: color 400ms ease;
}
body .aimeos .standardbutton {
  border-bottom: none;
  color: #FFFFFF !important;
  background-color: #C6D5EB;
  border: none;
  border-radius: 1rem;
  font-size: 1.6rem;
  min-width: 16rem;
  -webkit-transition: background 400ms ease;
  -moz-transition: background 400ms ease;
  -ms-transition: background 400ms ease;
  -o-transition: background 400ms ease;
  transition: background 400ms ease;
}
body .aimeos button.standardbutton {
  min-width: 16rem;
}
body .aimeos .standardbutton:hover,
body .aimeos .standardbutton:active {
  background-color: #c7d4ed;
}
body .aimeos .btn-action {
  background-color: #002f64;
  border-radius: 1rem;
  font-size: 1.6rem;
  -webkit-transition: background 400ms ease;
  -moz-transition: background 400ms ease;
  -ms-transition: background 400ms ease;
  -o-transition: background 400ms ease;
  transition: background 400ms ease;
}
body .aimeos .btn-action:hover,
body .aimeos .btn-action:active{
  background-color: #1a4b83;
}
body .aimeos.account-history .standardbutton {
  max-width: none;
  min-width: auto;
}
body .aimeos.account-history .header, 
body .aimeos.account-watch .header, 
body .aimeos.account-favorite .header, 
body .aimeos .basket-related-bought .header, 
body .aimeos.catalog-session .header, 
body .aimeos.catalog-detail .header {
  color: #002f64;
  border-color: #002f64;
  padding: 0.5rem 0;
  text-transform: none;
  margin-bottom: 2rem;
}
body .aimeos.catalog-detail .header.description {
  pointer-events: none;
  margin-bottom: 0;
}
body .aimeos .account-watch .watch-item h3, 
body .aimeos .account-favorite .favorite-item h3, 
body .aimeos .basket-related-bought .product h3, 
body .aimeos .catalog-detail-bought .product h3, 
body .aimeos .catalog-detail-bundle .product h3, 
body .aimeos .catalog-detail-suggest .product h3, 
body .aimeos .catalog-session-seen .seen-item h3, 
body .aimeos .catalog-session-pinned .pinned-item h3 {
  text-transform: none;
}
body .aimeos .catalog-session-pinned h2 {
  margin-top: 10px;
}
body .aimeos .product-list {
  padding: 0;
  justify-content: center;
}
body .aimeos .product-list .badges {
  display: none
}
body .aimeos .product-list .product {
  margin-bottom: 1.5rem;
  border-bottom: none;
}
body .aimeos .product-list .product .text-list h2 {
  font-family: 'TGPB','Arial',sans-serif;
  text-transform: none;
  border: none;
  font-size: 2rem;
  margin: 1rem 0 0 0;
}
body .aimeos .product-list .product .text-list .text-item {
  color: #777;
  margin-bottom: 0.5rem;
  height: auto;
  overflow: visible;
}
body .aimeos .price-list {
  font-family: 'TGPB','Arial',sans-serif;
  color: #333;
  margin: 0 auto;
}
body .aimeos .price-list .price-item {
  font-weight: 500;
}
body .aimeos .price-list .quantity {
  display: none;
}
body .aimeos .basket-related-bought .media-list,
body .aimeos .catalog-detail-bought .media-list,
body .aimeos .catalog-detail-bundle .media-list,
body .aimeos .catalog-detail-suggest .media-list,
body .aimeos .catalog-session-seen .media-list,
body .aimeos.catalog-list .media-list,
body .aimeos.catalog-list a .media-item {
  background: transparent;
  width: auto;
  height: auto;
  text-align: center;
}
body .aimeos.catalog-list a .media-list img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}
body .aimeos .product-list .addbasket input, 
body .aimeos .catalog-detail-basket .group input {
  width: 6rem;
}
body .aimeos .product-list .addbasket input, 
body .aimeos .catalog-detail-basket .group input {
  border: none;
  background-color: #eeeeee;
  border-radius: 1rem 0 0 1rem;
}
body .aimeos .addbasket button.standardbutton {
  background-color: #e95f55;
}
body .aimeos .product .stockitem {
  margin: 0;
}
body .aimeos .product .list-items {
  text-align: left;
}
body .aimeos .catalog-detail-basic {
  margin: 0;
}
body .aimeos .catalog-detail-basic h1.name {
  text-transform: none;
}
body .aimeos.catalog-detail .catalog-actions .actions-button {
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 150%;
}
body .aimeos.catalog-detail .catalog-actions .actions-button-pin::before {
  content: "\f08d";
}
body .aimeos.basket-mini {
  margin-bottom: 3rem;
  border-radius: 1rem;
  background-color: #e8e8e8;
}
body .aimeos.basket-mini a {
  display: block;
}
body .aimeos.basket-mini > a::before {
  color: #002f64;
}
body .aimeos.basket-mini .basket-mini-main {
  padding-left: 1rem;
  color: #002f64;
  line-height: 2.6rem;
}
body .aimeos .basket-mini-main .quantity {
  position: static;
  font-size: 100%;
  display: inline-block;
}
body .aimeos .common-summary-detail .quantity input {
  background-color: #eeeeee;
  border: none;
  width: 6rem;
}
body .aimeos .product-list .addbasket button, 
body .aimeos .catalog-detail-basket .group button {
  border-radius: 0 1rem 1rem 0;
  font-size: 2rem;
  font-weight: 400;
}
body .aimeos .common-summary-detail {
  margin: 10px;
  border: none;
  background-color: #eee;
  max-width: 100%;
}
body .aimeos .checkout-confirm-detail {
  margin-top: 3rem;
}
body .aimeos .common-summary-detail thead,
body .aimeos .common-summary-detail tr.total {
  background-color: #f8f8f8;
}
body .aimeos .common-summary-detail .total {
  font-weight: bold;
}
body .aimeos .checkout-confirm-basic ul.attr-list {
  list-style: none;
}
body .aimeos .header {
  margin: 0;
}
body .aimeos .common-summary-detail .basket {
  padding: 0.8rem 2.4rem;
}
body .aimeos .catalog-detail-basket .articleitem .price-item {
  font-weight: 600;
  font-size: 2rem;
}
body .aimeos .catalog-detail-basket .addbasket .group {
  display: flex;
}
body .aimeos .catalog-detail-basket .addbasket .btn-action {
  width: auto;
}
body .aimeos .catalog-detail-image {
  width: 340px;
  float: none;
  margin: 0 auto;
}
body .aimeos .catalog-detail-image .image-single .item,
body .aimeos .catalog-detail-image .image-single {
  width: 280px;
  cursor: pointer;
}
body .aimeos .catalog-detail-image .image-single {
  /*height: 480px;*/
  padding-bottom: 0;
}
body .aimeos .catalog-detail-image .thumbs-vertical {
  float: left;
  /*height: 480px;*/
}
body .aimeos .catalog-detail-image .thumbs .item {
  height: 0;
  padding-bottom: 120%;
  border: none;
  margin-bottom: 5px;
}
body .aimeos .catalog-detail-additional .content {
  display: block !important;
  padding: 0;
}
body .aimeos .catalog-detail-additional .header {
  pointer-events: none;
  cursor: auto;
}
body .aimeos .catalog-detail-additional .header::after {
  content: none;
}
body .aimeos .account-watch .media-item,
body .aimeos .account-favorite .media-item,
body .aimeos .basket-related-bought .media-item,
body .aimeos .catalog-detail-bought .media-item,
body .aimeos .catalog-detail-bundle .media-item,
body .aimeos .catalog-detail-suggest .media-item,
body .aimeos .catalog-session-seen .media-item,
body .aimeos .catalog-session-pinned .media-item {
  width: 100%;
  padding-bottom: 120%;
}
body .aimeos .account-watch .watch-item, 
body .aimeos .account-favorite .favorite-item, 
body .aimeos .basket-related-bought .product, 
body .aimeos .catalog-detail-bought .product, 
body .aimeos .catalog-detail-bundle .product, 
body .aimeos .catalog-detail-suggest .product, 
body .aimeos .catalog-session-seen .seen-item, 
body .aimeos .catalog-session-pinned .pinned-item {
  margin: 0 0 2rem 0;
  width: 100%;
  max-width: 280px;
}
body .aimeos .account-watch .watch-item .modify, 
body .aimeos .account-favorite .favorite-item .modify, 
body .aimeos .basket-related-bought .product .modify, 
body .aimeos .catalog-detail-bought .product .modify, 
body .aimeos .catalog-detail-bundle .product .modify, 
body .aimeos .catalog-detail-suggest .product .modify, 
body .aimeos .catalog-session-seen .seen-item .modify, 
body .aimeos .catalog-session-pinned .pinned-item .modify {
  width: 4rem;
  background-color: rgba(255,255,255,0.5);
}
body .aimeos .catalog-detail-image,
body .aimeos .catalog-detail-image .image-single,
body .aimeos .catalog-detail-image .image-single .item,
body .aimeos .catalog-detail-image .image-thumbs,
body .aimeos .catalog-detail-image .thumbs {
  max-width: 100%;
}
body .aimeos .product .text-list {
  max-width: none;
  text-align: center;
}
body .aimeos .product .text-list h2 {
  height: auto;
  max-width: none;
}
body .aimeos .product .offer {
  text-align: center;
}
body .aimeos .account-history-list .history-item {
  border: none;
  background-color: #eeeeee;
  margin: 1rem 0;
  padding: 1rem;
}
body .aimeos .common-summary .header,
body .aimeos .common-summary-detail .header {
  border-color: #333;
}
body .aimeos .common-summary-detail .header {
  padding: 0.8rem 1.6rem;
}
body .aimeos .common-summary-detail .details .product-name {
  letter-spacing: 0;
}
body .aimeos .common-summary-detail .product-item .image img {
  width: 96px;
  height: auto;
}
body .aimeos .common-summary-detail .product-item .minibutton {
  display: inline-block;
  margin-top: -8px;
}
body .aimeos .common-summary-detail .product-item .value {
  text-align: center;
}
body .aimeos .common-summary-detail .action .delete::after {
  font: normal normal normal 14px/1 FontAwesome;
      font-size: 14px;
  font-size: 100%;
  content: "\f014";
}
body .aimeos .basket-standard-coupon {
  display: none;
}
body .aimeos .checkout-standard-delivery .item, 
body .aimeos .checkout-standard-payment .item {
  border-color: #e8e8e8;
  margin: 0 0 2rem 0;
}
body .aimeos-container {
  border: none;
}
body .aimeos-overlay {
  background-color: #000;
  opacity: 0.8;
}
body .aimeos.checkout-standard li.form-item {
  margin: 0;
  padding: 0;
}
body .aimeos .checkout-standard-address .item-address .header {
  padding: 1rem;
}
body .aimeos.checkout-standard .form-list {
  padding: 15px;
}
body .aimeos.checkout-standard .form-list input:not([type="radio"]):not([type="checkbox"]),
body .aimeos.checkout-standard .form-list select {
  width: 100%;
  border: none;
  background-color: #ecf3f6;
  padding: 0.3rem;
  margin: 0;
  font-weight: 300;
}
body .aimeos.checkout-standard .form-list input::placeholder {
  opacity: 0;
  visibility: hidden;
}
body .aimeos.checkout-standard .languageid,
body .aimeos.checkout-standard .customerref {
  display: none;
}
body .aimeos .common-summary-service .item .item-icons,
body .aimeos .common-summary-service .item .item {
  margin: 0;
}
body .aimeos .common-summary .content {
  margin: 0;
}
body .aimeos .common-summary-service .item h4 {
  font-size: 1.4rem;
  display: block;
  margin: 0.5rem 0 0 0;
}

body .aimeos .checkout-standard-summary .coupon,
body .aimeos .common-summary-additional .coupon {
  display: none;
}
body .aimeos .common-summary-additional .comment {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}
body .aimeos .checkout-standard-summary-option {
  margin: 1.5rem 1rem;
}
body .aimeos .checkout-standard-summary-option {
  border: 1px solid #D0D0D0;
}
body .aimeos .common-summary-additional,
body .aimeos .common-summary-service {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
body .aimeos.checkout-standard .item-service .description h2 {
  padding-top: 1rem;
}
body .aimeos.checkout-standard h3,
body .aimeos.account-history h3 {
  font-size: 1.8rem;
}
body .aimeos.checkout-standard .item h4 {
  font-size: 1.6rem;
}
body .aimeos.checkout-standard .comment {
  height: auto;
}
body .aimeos .btn-action {
  border: none;
}
body .aimeos .error-list,
body .aimeos .common-summary .error, 
body .aimeos .common-summary-detail .error {
  border: 2px solid #e95f55;
  background-color: #f8f8f8;
}
.page-330 .breadcrumb {
  display: none;
}

form[action*="tx_felogin_login"] fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
form[action*="tx_felogin_login"] legend {
  display: none;
}
form[action*="tx_felogin_login"] label {
  width: 100%;
}
form[action*="tx_felogin_login"] input {
  display: block;
  border: none;
  margin: 0;
  background-color: #ecf3f6;
  width: 100%;
}
form[action*="tx_felogin_login"] input[type="submit"],
form:has(.felogin-hidden) input[type="submit"] {
  background-color: #002f64;
  color: #FFFFFF;
  display: inline-block;
  border: none;
  padding: 0.5rem 1.5rem;
  margin-top: 2rem;
  margin-bottom: 0.5rem;
  width: auto;
}
form[action*="tx_felogin_login"] input[type="submit"]:hover,
form:has(.felogin-hidden) input[type="submit"]:hover {
  background-color: #1a4b83;
}

#address-delivery-list .header {
  position: relative;
}
#address-delivery-list .item-address > .header::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  cursor: pointer;
}

.aimeos.checkout-confirm .item.customerref {
  display: none;
}

@media (min-width: 480px) {
  body .aimeos .list-items .product:nth-child(2n+1) {
    clear: left;
  }
}
@media (min-width: 670px) {
  body .aimeos .catalog-detail-image {
    float: left;
    margin: 0;
  }
}
@media (min-width: 992px) {
  body .aimeos .list-items .product:nth-child(2n+1) {
    clear: none;
  }
  body .aimeos .list-items .product:nth-child(3n+1) {
    clear: left;
  }
}
@media (min-width: 1200px) {
  body .aimeos .catalog-detail-image {
    width: 420px;
  }
  body .aimeos .catalog-detail-image .image-single .item,
  body .aimeos .catalog-detail-image .image-single {
    width: 360px;
  }
}

/*----- media queries -----*/

#media-test {
  display: none;
}

@media (min-width: 480px) and (max-width: 767px) {
  .col-xx-6 {
    width: 50%;
  }
}

@media (min-width: 1200px) {
  .jumbotron-slides-wrap,
  .jumbotron .usp-bar,
  .cur-info,
  .home-footer,
  .pagefooter {
    max-width: 150rem;
    margin: 0 auto;
    overflow: hidden;
  }
}

/*----- print -----*/

.visible-print {
  display: none !important; 
}

@media print {
  @page {
    size: 210mm 297mm;
    margin: 15mm;
  }
/*  html, body {
      width: 210mm;
      height: 297mm;
  }*/
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; 
  }

  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  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; 
  }

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

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

  main {
    margin-top: 60px !important;
  }

  .page-wrapper {
    padding-top: 0 !important;
  }

  .pageheader {
    position: static !important;
  }
  .pageheader .logo {
    width: 180px !important;
    max-width: 180px !important;
    height: 57px !important;
    margin-right: 20px;
    float: right;
  }

  .navbar {
    display: none; 
  }

  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important; 
  }

  .label {
    border: 1px solid #000; 
  }

  .table {
    border-collapse: collapse !important; 
  }
  .table td,
  .table th {
    background-color: #fff !important; 
  }

  .acco-content {
    display: block !important;
  }

  table.courses tr.expand-child td .slide-toggle {
    max-height: none !important;
  }
  table.courses tr.subscribe td {
    border-bottom: 1px solid #333 !important;
  }

  main > .container > .row > div {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }

  body.overlay-open {
    overflow: visible !important;
  }
  .overlay-open .page-wrapper {
    display: none !important
  }
  .overlay-open .overlay {
    position: static !important;
    height: auto !important;
    width: 100% !important;
    overflow: visible !important;
  }
  .overlay-open .overlay .ov-outer-wrap,
  .overlay-open .overlay .ov-inner-wrap {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .course-grid {
    display: block !important;
  }

  .course-col {
    position: relative !important;
    display: block !important;
    width: 50% !important;
    left: 0 !important;
    top: 0 !important;
    float: left;
  }
  .course-col .more-info {
    display: block !important;
  }

  .grid.fachbuecher-grid {
    position: static !important;
    height: auto !important;
  }

  .fachbuecher-grid .fachbuch {
    position: static !important;
    top: 0 !important;
    left: 0 !important;
    page-break-inside: avoid;
  }

  .table-responsive {
    overflow: visible !important;
  }

  .visible-print {
    display: block !important; 
  }

  .hidden-print {
    display: none !important; 
  }

}

/*----- new -----*/

.page-316 .socialshare header,
.page-317 .socialshare header,
.page-318 .socialshare header {
  display: none;
}
.page-316 .socialshare.acco-item,
.page-317 .socialshare.acco-item,
.page-318 .socialshare.acco-item {
  background-color: #e8e8e8;
}
.page-316 .socialshare.acco-item a,
.page-317 .socialshare.acco-item a,
.page-318 .socialshare.acco-item a {
  color: #999;
}
.page-316 .socialshare.acco-item a:hover,
.page-316 .socialshare.acco-item a:active,
.page-317 .socialshare.acco-item a:hover,
.page-317 .socialshare.acco-item a:active,
.page-318 .socialshare.acco-item a:hover,
.page-318 .socialshare.acco-item a:active {
  color: #333;
}
.page-316 .socialshare .acco-content,
.page-317 .socialshare .acco-content,
.page-318 .socialshare .acco-content {
  display: block !important;
  border-radius: 1rem;
  padding: 0.7rem 1.5rem;
  border-top: none;
}
.page-316 .pageheader .search-courses-form,
.page-317 .pageheader .search-courses-form,
.page-318 .pageheader .search-courses-form,
.page-319 .pageheader .search-courses-form {
  background-color: #e95f55;
}
.page-317 .edu-list {
  margin-top: 0;
}
.page-316 .breadcrumb,
.page-317 .breadcrumb {
  padding-top: 2rem;
}
.page-316 .breadcrumb ul li span,
.page-317 .breadcrumb ul li span {
  border-bottom: 1px solid #666;
}
.page-316 aside a.btn[href*="broschuere-bestellen"],
.page-317 aside a.btn[href*="broschuere-bestellen"] {
  background-color: #e95f55;
  margin-top: 17rem;
  position: relative;
}
.page-316 aside a.btn[href*="broschuere-bestellen"]::before,
.page-317 aside a.btn[href*="broschuere-bestellen"]::before {
  position: absolute;
  left: 0;
  top: -17rem;
  content: "";
  display: block;
  background-color: #FFFFFF;
  height: 17rem;
  width: 100%;
  background: url(../img/cover_katalog.png) center center no-repeat transparent;
  background-size: auto 100%;
}
.page-317 .edu-col {
  width: 50%;
}
.page-317 .edu-col .edu.textTeaser {
  padding-right: 2.5rem;
}
.page-317 .edu-col .edu.textTeaser::after {
  content: "\f105";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  font-size: 2rem;
  display: block;
  color: #FFFFFF;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  margin-top: -1.2rem;
  line-height: 2.4rem;
}
/*.page-319 .edu-list h2:not(.active)::after {
  content: none;
}*/
.edu-list a.btn-lg {
  padding: 1rem 1.5rem;
  display: inline-block;
  margin: 0 0 3rem 0;
  background-color: #e95f55;
}

.page-319 .edu-list h2::before {
  content: none;
}
.page-319 .edu-list h2::after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background-color: #002f64;
  margin-bottom: 2rem;
}
.page-319 .main-content .search-courses-form {
  position: relative;
  z-index: 99;
  top: -15rem;
  border-radius: 1.5rem;
  background-color: #f8f8f8;
  border: 5px solid #e95f55;
  /*border-bottom: 5px solid #e95f55;*/
  width: 100%;
  -webkit-transition: all 250ms ease;
  -o-transition: all 250ms ease;
  transition: all 250ms ease;
  padding: 1rem 3rem;
  /*opacity: 0.9;*/
}
/*.page-319 .main-content .search-courses-form.open {
  position: absolute;
  top: 5.6rem;
  left: 1.5rem;
  margin: 0;
  z-index: 102;
  width: calc(100% - 3rem);
  padding-left: 1rem;
  border-radius: 0 0 1rem 1rem;
}*/
.page-319 .main-content .search-courses-form.sug-visible {
  border-radius: 0;
  border-bottom: 2px solid #FFFFFF;
}
.page-319 .main-content .search-courses-form #courseName {
  width: calc(100% - 4.5rem);
  color: #e95f55;
  margin: 0;
  font-size: 3rem;
  line-height: 4.5rem;
  text-align: left;
  border: none;
  background-color: transparent;
  -webkit-transition: width 250ms ease;
  -o-transition: width 250ms ease;
  transition: width 250ms ease;
  float: left;
  padding: 0;
  display: block;
}
.page-319 .main-content .search-courses-form input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #e95f55;
  opacity: 1;
}
.page-319 .main-content .search-courses-form input::-moz-placeholder { /* Firefox 19+ */
  color: #e95f55;
  opacity: 1;
}
.page-319 .main-content .search-courses-form input:-ms-input-placeholder { /* IE 10+ */
  color: #e95f55;
  opacity: 1;
}
.page-319 .main-content .search-courses-form input:-moz-placeholder { /* Firefox 18- */
  color: #e95f55;
  opacity: 1;
}
.page-319 .main-content .search-courses-form input[type="submit"] {
  display: block;
  float: left;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  color: #e95f55;
  width: 4.5rem;
  height: 4.5rem;
  background-color: transparent;
  border: none;
  font-size: 2.8rem;
  text-align: center;
  padding: 0;
}
.page-319 .main-content .search-courses-form #search-suggestions {
  position: absolute;
  top: 100%;
  margin: 2px 0 0 0;
  right: 0;
  background-color: #f8f8f8;
  z-index: 100;
  width: 100%;
  height: 13.2rem;
  overflow-y: scroll;
  display: none;
}
.page-319 .main-content .search-courses-form #search-suggestions ul {
  margin: 0;
  padding: 0;
}
.page-319 .main-content .search-courses-form #search-suggestions ul li {
  font-family: 'TGP', 'Arial', sans-serif;
  list-style: none;
  padding: 0.5rem 1.5rem;
  cursor: pointer;
  color: #999;
  background-color: #f8f8f8;
  -webkit-transition: background-color 250ms color 250ms;
  -o-transition: background-color 250ms color 250ms;
  transition: background-color 250ms color 250ms;
}
.page-319 .main-content .search-courses-form #search-suggestions ul li:first-child {
  font-family: 'TGPL', 'Arial', sans-serif;
  border-bottom: 1px solid #bbb;
  color: #aaa;
}
.page-319 .main-content .search-courses-form #search-suggestions ul li:hover,
.page-319 .main-content .search-courses-form #search-suggestions ul li.active {
  background-color: #ccc;
  color: #FFF;
}
.page-319 .pageheader .search-courses-form {
  display: none;
}
.page-319 .pageheader .phone {
  display: block;
}
@media (max-width: 549px) {
  .page-316 table.courses,
  .page-316 table.courses thead,
  .page-316 table.courses tbody,
  .page-316 table.courses tr {
    display: block;
    width: 100%;
    clear: both;
  }
  .page-316 table.courses tr th {
    display: block;
    width: 25%;
    float: left;
  }
  .page-316 table.courses tr td {
    text-align: left;
    width: 100% !important;
    min-width: auto !important;
    display: block;
    border: none;
    white-space: normal;
  }
  .page-316 table.courses tr.visible td {
    min-height: 3rem;
  }
  .page-316 table.courses tr td[property="name"] {
    font-family: 'TGPB','Arial',sans-serif;
  }
  .page-316 table.courses tr:not(.expand-child) td:last-child {
    border-bottom: 1px solid #e6e6e6;
  }
  .page-316 table.courses tr.data {
    position: relative;
  }
  .page-316 table.courses tr.detail-data td:first-child + td .slide-toggle::before {
    content: "\f05a";
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    display: block;
    width: 4rem;
    height: 3rem;
    font-size: 2.2rem;
    color: #333;
    padding-left: 0.5rem;
  }
  .page-316 table.courses tr.detail-data td:first-child + td .inner-toggle {
    display: none;
    position: absolute;
    z-index: 1;
    background-color: #eee;
  }
  .page-316 table.courses tr.detail-data td:first-child + td .slide-toggle:hover .inner-toggle {
    display: block;
  }
  .page-316 table.courses tr.data td {
    padding: 0.4rem 0.5rem 0.2rem 0.5rem;
  }
  .page-316 table.courses tr.data button.show-detail {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
  }
  .page-316 table.courses tr.expand-child {
    display: block;
    width: 60%;
    float: left;
    clear: none;
  }
  .page-316 table.courses tr.expand-child td .slide-toggle .inner-toggle {
    padding: 0.5rem;
  }
  .page-316 table.courses tr.detail-title {
    width: 40%;
  }
  .page-316 table.courses tr.expand-child.subscribe {
    width: 100%;
    float: none;
    clear: both;
  }

  .page-316 table.module,
  .page-316 table.module thead,
  .page-316 table.module tbody,
  .page-316 table.module tr {
    display: block;
    width: 100%;
    clear: both;
  }
  .page-316 table.module tbody tr {
    border-bottom: 1px solid #e6e6e6;
  }
  .page-316 table.module tr th {
    display: none;
    width: 100%;
    float: left;
  }
  .page-316 table.module tr th:last-child {
    display: block;
  }
  .page-316 table.module tr th:first-child,
  .page-316 table.module tr th:first-child + th {
    display: none;
  }
  .page-316 table.module tbody tr td {
    width: 100%;
    min-width: auto !important;
    display: block;
    border: none;
    white-space: normal;
  }
  .page-316 table.module tbody tr td:first-child {
    width: 3rem;
    float: left;
  }
  .page-316 table.module tbody tr td:first-child + td {
    width: calc(100% - 3rem);
    float: left;
    font-family: 'TGPB','Arial',sans-serif;
  }
  .page-316 table.module tbody tr td:first-child + td + td,
  .page-316 table.module tbody tr td:first-child + td + td + td,
  .page-316 table.module tbody tr td:last-child {
    display: none;
  }
  .page-316 table.module tfoot {
    display: block;
  }
  .page-316 table.module tfoot tr td {
    font-family: 'TGPB','Arial',sans-serif;
    display: block;
    float: left;
    width: 50%;
  }
  .page-316 table.module tfoot tr td:first-child + td,
  .page-316 table.module tfoot tr td:first-child + td + td {
    display: none;
  }
}
@media (min-width: 992px) {
  body.page-318 .edu-col {
    float: left;
    width: 25%;
  }
}


/*.jumbotron h1 {
  position: relative;
  bottom: 0;
  z-index: 50;
  border: none;
  line-height: 1;
  font-size: 2.4rem;
  margin: 1rem 0 1.2rem 0;
  padding: 0;
}
.jumbotron h1 span.title,
.jumbotron h1 span.subtitle {
  display: inline;
  background-color: #FFFFFF;
  padding: 0.5rem 0;
  box-shadow: 10px 0 0 #FFFFFF, -10px 0 0 #FFFFFF;
  box-decoration-break: clone;
}
.jumbotron h1 span.title {
  margin-bottom: 0.5rem;
  line-height: 1.3;
}
.jumbotron h1 span.subtitle {
  font-size: 55%;
}


.jumbotron-link-wrap {
  margin: 0.5rem 0;
}
.jumbotron-link-wrap a.btn {
  background-color: #e95f55;
  margin-right: 0.5rem;
}
.jumbotron-link-wrap a.btn:hover,
.jumbotron-link-wrap a.btn:active {
  background-color: #d8544a;
}
@media (min-width: 480px) {
  .jumbotron h1 {
    position: absolute;
    font-size: 3rem;
    margin-bottom: 3rem;
    line-height: 0.8;
    max-width: 60%;
    margin: 0 0 2rem 0;
  }
}
@media (min-width: 768px) {
  .jumbotron h1 {
    font-size: 3.6rem;
    margin: 0 0 4rem 0;
  }
  .jumbotron h1 span.subtitle {
    font-size: 2.6rem;
  }
  .jumbotron-link-wrap {
    position: absolute;
    left: 1.5rem;
    bottom: 1.5rem;
    z-index: 2;
    margin: 0;
  }
  .jumbotron-link-wrap a.btn {
    padding: 1rem 1.5rem;
    margin-right: 0.5rem;
  }
}
@media (min-width: 992px) {
  .jumbotron h1 {
    font-size: 5.5rem;
  }
  .jumbotron h1 span.subtitle {
    font-size: 2.6rem;
  }

}*/



.social-proof {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.social-proof-inner {
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: #ecf3f6;
  border-radius: 1.5rem;
}
.social-proof h3 {
  padding-left: 5rem;
  margin-bottom: 1.5rem;
  position: relative;
}
.social-proof h3 .fa {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -2.2rem;
  font-size: 3.4rem;
  line-height: 4rem;
}

/*----- plugins -----*/

/**
 * @info Custom Imageless CSS Skinning for Checkboxes and Radiobuttons
 * @author Martin Ivanov
 * @web http://wemakesites.net
 * @blog http://acidmartin.wordpress.com/
 * @twitter https://twitter.com/wemakesitesnet
 */
 
:root .css3-radios label,
:root .css3-radios input[type="radio"] + span,
:root .css3-radios input[type="radio"] + span::before,
:root .css3-checkboxes label,
:root .css3-checkboxes input[type="checkbox"] + span,
:root .css3-checkboxes input[type="checkbox"] + span::before
{
  display: inline-block;
  vertical-align: middle;
}

:root .css3-radios,
:root .css3-checkboxes
{
  position: relative;
}

:root .css3-radios label *,
:root .css3-checkboxes label *
{
  cursor: pointer;
}

:root .css3-radios input[type="radio"],
:root .css3-checkboxes input[type="checkbox"]
{
  opacity: 0;
  position: absolute;
}

/*:root .css3-radios input[type="radio"] + span,
:root .css3-checkboxes input[type="checkbox"] + span
{
  font: normal 11px/14px Arial, Sans-serif;
  color: #333;
}*/

:root .css3-radios label:hover span::before,
:root .css3-checkboxes label:hover span::before
{
  -moz-box-shadow: 0 0 2px #ccc;
  -webkit-box-shadow: 0 0 2px #ccc;
  box-shadow: 0 0 2px #ccc;
}

/*:root .css3-radios label:hover span,
:root .css3-checkboxes label:hover span
{
  color: #000;
}*/

:root .css3-radios input[type="radio"] + span::before,
:root .css3-checkboxes input[type="checkbox"] + span::before
{
  content: "";
  width: 12px;
  height: 12px;
  margin: 0 4px 0 0;
  border: solid 1px #a8a8a8;
  line-height: 12px;
  text-align: center;
   
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
   
  background: #f6f6f6;
  background: -moz-radial-gradient(#f6f6f6, #dfdfdf);
  background: -webkit-radial-gradient(#f6f6f6, #dfdfdf);
  background: -ms-radial-gradient(#f6f6f6, #dfdfdf);
  background: -o-radial-gradient(#f6f6f6, #dfdfdf);
  background: radial-gradient(#f6f6f6, #dfdfdf);
}

:root .css3-radios input[type="radio"]:checked + span::before,
:root .css3-checkboxes input[type="checkbox"]:checked + span::before
{
  color: #666;
}

:root .css3-radios input[type="radio"]:disabled + span,
:root .css3-checkboxes input[type="checkbox"]:disabled + span
{
  cursor: default;
   
  -moz-opacity: .4;
  -webkit-opacity: .4;
  opacity: .4;
}

:root .css3-checkboxes input[type="checkbox"] + span::before
{
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
}

:root .css3-radios input[type="radio"]:checked + span::before
{
  content: "\2022";
  font-size: 24px;
}

:root .css3-checkboxes input[type="checkbox"]:checked + span::before
{
  content: "\2714";
  font-size: 12px;
}

/*----- loading -----*/

.cssload-spin-box {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  opacity: 1;
  box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
    -o-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
    -ms-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
    -webkit-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
    -moz-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  animation: cssload-spin ease infinite 4.6s;
    -o-animation: cssload-spin ease infinite 4.6s;
    -ms-animation: cssload-spin ease infinite 4.6s;
    -webkit-animation: cssload-spin ease infinite 4.6s;
    -moz-animation: cssload-spin ease infinite 4.6s;
  -webkit-transition: opacity 250ms linear;
  -moz-transition: opacity 250ms linear;
  -ms-transition: opacity 250ms linear;
  -o-transition: opacity 250ms linear;
  transition: opacity 250ms linear;
}

img.lazy.loaded + .cssload-spin-box {
  opacity: 0;
}

@keyframes cssload-spin {
  0%,
  100% {
    box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  }
  25% {
    box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
  }
  50% {
    box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
  }
  75% {
    box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}

@-o-keyframes cssload-spin {
  0%,
  100% {
    box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  }
  25% {
    box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
  }
  50% {
    box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
  }
  75% {
    box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}

@-ms-keyframes cssload-spin {
  0%,
  100% {
    box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  }
  25% {
    box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
  }
  50% {
    box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
  }
  75% {
    box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}

@-webkit-keyframes cssload-spin {
  0%,
  100% {
    box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  }
  25% {
    box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
  }
  50% {
    box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
  }
  75% {
    box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}

@-moz-keyframes cssload-spin {
  0%,
  100% {
    box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
  }
  25% {
    box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
  }
  50% {
    box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
  }
  75% {
    box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
  }
}