/* FONTS */
@font-face {
    font-family: "Lato";
    src: url("../fonts/Lato-Regular.ttf");
}
@font-face {
    font-family: "Roboto Slab";
    src: url("../fonts/RobotoSlab-Regular.woff2");
}
/* FONTS END */

/* BASICS */
body {
    background-color: #FFFFFF;
    font-family: Roboto Slab;
    font-weight: normal;
    font-style: normal;
    color: #4f4f4f;
    font-size: 18px;
}

a:link, a:visited {
    color: #000000;
    text-decoration: none;
}

a:hover, a:active  {
    color: #4f4f4f;
}

/* Headlines */
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
}

h1 {
    font-size: 12px;
    margin-top: 40px;
}

h2 {
    font-size: 2.6em;
    margin: 1.6em 0 1.1em;
    color: #FFB71D;
    line-height: 1.2;
    letter-spacing: 4px;
    font-weight: 700;
}

h2.special {
    color: #4f4f4f;
}

h2.shy {
    font-size: 18px;
    color: #4f4f4f;
    margin: 0;
    letter-spacing: normal;
}

h3 {
    font-size: 1.6em;
    margin-bottom: 1.7em
    font-weight: 700;
}

h4 {
    margin-bottom: 1.4em
    margin-bottom: 1.7em
    font-weight: 700;
}

h5 {
    font-size: 1.2em;
    margin-bottom: 1.7em
    font-weight: 600;
}

h6 {
    margin-bottom: 1.7em
    font-weight: 600;
}


#headline {
    margin: 0;
}
/*
 * Clip the child element
 */
.main-headline {
    overflow: hidden;
}
/*
 * Extra markup is needed to make it work with text align
 */
.main-headline > * {
    display: inline-block;
    position: relative;
    /* font-size: 48px; */
}
/*
 * 1. Center vertically
 * 2. Make the element as large as possible. It's clipped by the container.
 * 3. Style
 */
.main-headline > ::before,
.main-headline > ::after {
    content: "";
    /* 1 */
    position: absolute;
    top: calc(50% - (calc(0.2px + 0.05em) / 2));
    /* 2 */
    width: 2000px;
    /* 3 */
    border-bottom: calc(0.2px + 0.05em) solid #e5e5e5;
}
.main-headline > ::before {
    right: 100%;
    margin-right: calc(5px + 0.3em);
}
.main-headline > ::after {
    left: 100%;
    margin-left: calc(5px + 0.3em);
}

.main-headline-span {
    font-size: 108px;
    font-weight: 700;
}
/* Headlines End */
/* BASICS END */


/* NAVIGATION */
#main_nav {
	background-color: #FFFFFF;
}

#nav_layout {
	margin: 0 auto;
}

/* Main Navigation Links */
#main_nav a:link, #main_nav a:visited {
    color: #4f4f4f;
    text-decoration: none;
}

#main_nav a:hover, #main_nav a:active {
    color: #000000;
}
/* Main Navigation Links End */
/* NAVIGATION END */


/* CONTAINER SPECIFIC */
#content {

}

#table_elterninformationen {
    margin: 60px auto 0;
}

#table_elterninformationen td {
    vertical-align: top;
}
/* CONTAINER SPECIFIC END */


/* IMAGES WITH HOVER OVERLAY */
.svg-hover-box {
  position: relative;
  display: inline-block;
  overflow: hidden;
}

.svg-rectangle {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.rotate svg {
transition: .8s ease;
transform: rotateZ(-53deg);
transform-origin: top right;
}

.rotate:hover svg {
transform: rotateZ(0deg);
transition: .3s ease;
}

.hover-bar-caption {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    padding: 0.3em 2em;
    color: #FFFFFF;
    text-align: right;
}

.carousel-box {
    position: relative;
    max-width: 1440px;
    max-height: 720px;
}

.carousel-caption {
    font-size: 4em;
    font-weight: 700;
    position: absolute;
    top: 45%;
    left: 0;
    width: 100%;
    height: 100%;
    color: #FFFFFF;
    text-align: center;
}

.carousel-top-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.carousel-main-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.svg-hover-box {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.svg-rectangle span {
    font-size: 1.4em;
    font-weight: 700;
    align-self: flex-end;
}

#form_table ul {
    margin: 0;
    padding: 0;
}

#form_table li {
    float: left;
    list-style: none;
    margin-right: 10px;
}

/* IMAGES WITH HOVER OVERLAY END */

/* FOOTER */
footer {
	background-color: #FFFFFF;
}

#footer_layout {
	margin: 0 auto;
    font-family: Roboto Slab;
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    line-height: 36px;
    color: #000000;
}

#footer_map {
    margin: 60px 0 40px;
}

footer a:link, footer a:visited {
    color: #000000;
    text-decoration: none;
}

footer a:hover, footer a:active {
    color: #4f4f4f;
}
/* FOOTER END */