/* =========================================================
Stylesheet - Schwimmschule Dinkelsbühl
File:   styles.css
Date:   2022-05-20
========================================================== */

/*===========================================================
Farben:
Türkis #02b3c4
Blau (Schirft) #305882

========================================================== */

@font-face { font-family: Roboto;
             src: url('../font/Roboto-Regular.ttf'); }

@font-face { font-family: AgencyFBRegular;
             src: url('../font/AGENCYR.TTF'); }
                  
/* =========================================================
============ Default styles ================================
========================================================== */

/* Der *-Selektor überschreibt alle Browser-default-Werte mit 0 */
* {
    margin: 0px;
    padding: 0px;
}
a:link, a:visited {
    color: #717171;
}
a:hover, a:active {
    color: #000;
}
/* Border + padding ist in der Größe inklusive */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.clear {
    clear: both;
}
.auto-trennung {
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

/* =========================================================
============ Generell styles ===============================
========================================================== */
body {
    font-family: "Roboto", Verdana, "Arial",sans-serif;
}   
html, body {
  height:100%;
  width: 100%;
  color: #305882;
  font-size: 16px;
}

ul li {
    margin-left: 25px;
}   

h1 {
    font-size: 2rem;
}          

h2 {
    font-size: 1.5rem;
}

.einskomma5 {
    font-size: 1.5rem;
    text-align: left;
}
/* =========================================================
============ Header   ======================================
========================================================== */
#header {
    background: #fff;
    max-width: 1500px;
    width: 90%;
    padding: 20px 0;
    margin: auto;
    display: -webkit-flex; /* Safari */
    -webkit-align-items: flex-end; /* Safari 7.0+ */
    display: flex;
    align-items: flex-end;
}
#header .header-title  {
    float: left;
    display: block;
    display: -webkit-flex; /* Safari */
    -webkit-align-items: flex-end; /* Safari 7.0+ */
    display: flex;
    align-items: flex-end;
    text-transform: uppercase;
    color: #305882;
    font-size: 1.7rem;
}
#header .nav {
    float: right;
    margin-left: auto;
    margin-right: 0;
}
#header ul {
    float: right;
    padding: 0 20px 10px 20px;
}
#header ul li {
    float: left;
    list-style-type: none;
    background-color: #02b3c4;
    width: 10.5rem;
    text-align: center;
    text-transform: uppercase;
}
#header a {
    color: #fff;
    text-decoration: none;
}
/* Header Big */
#header-big-aussen {
    background-image: url(../images/schwimmschule_dinkelsbuehl.png);
    background-size: 100% 100%;
    margin-top: 60px;
}
#header-big {
    max-width: 1500px;
    width: 90%;
    margin: auto;
}
#header-big .header-big-col1 {
    float: left;
    margin-top: 100px;
}
#header-big .header-big-col2 {
    float: left;
    margin-left: 5%;
    margin-top: 25px;
}
#header-big .header-big-col3 {
    float: left;
    margin-left: 10px;
    margin-top: 60px;
    margin-bottom: -70px;
}
#header-big .header-big-col4 {
    float: left;
    margin-left: -30px;
    margin-top: -70px;
}
#header-big a {
    text-decoration: none;
    color: #fff;
}
.baby, .schwanger, .kinder {
    width: 350px;
    padding: 12px 0 12px 15px;
    background: #02b3c4;
    color: #fff;
    margin-bottom: 15px;
}
.baby {
    background-image: url(../images/kinder.png);
    background-image: url(../images/yoga.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 95%;
}
.schwanger {
    background-image: url(../images/schwanger.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 95%;
}
.kinder {
    background-image: url(../images/baby.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 95%;
}


/* =========================================================
============ Mitte  ========================================
========================================================== */
.main-container {
    max-width: 1500px;
    width: 100%;
    padding: 10px 0;
    line-height: 24px;
    text-align: justify;
    margin: 80px auto 10px;
}

.main-container .headline {
    font-size: 2.4rem;
    margin-bottom: 28px;
}

.main-container p {
    margin-bottom: 12px;
}

#site_index .main-container ul {
    margin-top: 6px;
    margin-bottom: 6px;
}

.siegel {
    float: left;
    width: 20%;
}
.text-neben-siegel {
    float: left;
    width: 80%;
}



/* =========================================================
============ Datenschutz/Impressum =========================
========================================================== */
#site_datenschutz h1 {
    margin-top: 20px;
}
#site_datenschutz h2 {
    margin-top: 25px;
}
#site_datenschutz h3 {
    margin-top: 18px;
}
#site_impressum h4, #site_datenschutz h4 {
	margin-top: 12px; 
}
.headline-impressum {
    font-size: 1.2rem;
    font-weight: bold;
}
/* =========================================================
============ Footer =========================================
========================================================== */
#footer {
    max-width: 1500px;
    font-size: 1.1rem;
    width: 100%;
    color: #fff;
    background: #02b3c4;
    padding: 20px;
    margin: auto;
    display: -webkit-flex; /* Safari */
    -webkit-align-items: flex-start; /* Safari 7.0+ */
    display: flex;
    align-items: flex-start;
}
.footer-col1 {
    float: left;
    width: 20%;
}
.footer-col2 {
    float: left;
    width: 25%;
}
.footer-col3 {
    float: left;
    width: 25%;
}
.footer-col4 {
    float: right;
    width: 30%;
}

.footer-nav {
    float: right;
    width: 100%;
    text-align: right;
}
.footer-col4 ul {
    float: right;
}
.footer-col4 ul li {
    float: left;
    list-style-type: none;
    margin-left: 3px;
}
.footer-col4 a {
    color: #fff;
    text-decoration: none;
}

.footer-nummer {
    font-size: 1.5rem;
    margin-top: 8px;
}
.webue {
	margin: 6px auto 0;
	text-align: center;
	font-size: 0.9rem;
	color: #000;
	margin-bottom: 12px;
}
.webue a {
	color: #000;
}

/* =========================================================
============ Off canvas ====================================
========================================================== */

* {
  box-sizing: border-box;
}

#nav {
  -moz-transition: all 0.8s;
  -o-transition: all 0.8s;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  position: fixed;
  z-index: 4;
  overflow: visible;
  height: 100%;
  top: 0;
  left: -250px;
  width: 250px;
  background-color: rgba(22, 65, 148, 0.8);
  color: #fff;
}
#nav:target {
  left: 0;
}
#nav:target #openNav {
  -moz-transition: all 0.2s 0s;
  -o-transition: all 0.2s 0s;
  -webkit-transition: all 0.2s;
  -webkit-transition-delay: 0s;
  transition: all 0.2s 0s;
  left: -45px;
}
#nav h3 {
  margin: 26px 12px 14px 42px;
  text-transform: uppercase;
  letter-spacing: .025em;
  font-size: 1.25em;
}
#nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#nav li {
  margin: 0;
  padding: 5px 0;
  border-top: 1px solid #ffffff;
}
#nav li a {
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  font-size: 1.02em;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: .1em;
  color: #fff;
  display: block;
  padding: 5.6px 12px;
  margin: 0;
}
#nav li a:hover {
  background: #ff2025;
  background: #114294;
}

.toggle-nav {
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  text-indent: -119988px;
  overflow: hidden;
  text-align: left;
  text-transform: capitalize;
  display: block;
  top: 20px;
  --left: 6px;
  right: 20px;
  height: 24px;
  width: 32px;
  padding: 0;
  margin: 0;
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  z-index: 3;
}
.toggle-nav:hover {
  color: #ff0000;
  border-color: #ff0000;
  color: #114294;
  border-color: #114294;
}
.toggle-nav:before, .toggle-nav:after {
  position: absolute;
  content: '\00a0';
  display: block;
  width: 100%;
  height: 0;
}

#openNav {
  -moz-transition: all 0.2s 0.6s;
  -o-transition: all 0.2s 0.6s;
  -webkit-transition: all 0.2s;
  -webkit-transition-delay: 0.6s;
  transition: all 0.2s 0.6s;
  position: fixed;
  border-bottom: 4px solid;
  color: #000;
  z-index: 1;
}
#openNav:hover {
  color: #ff0000;
  color: #114294;
}
#openNav:before {
  top: 0;
  border-bottom: 4px solid;
}
#openNav:after {
  top: 50%;
  border-bottom: 4px solid;
}

#closeNav {
  position: absolute;
  width: 200px;
  z-index: 5;
  color: #fff;
}
#closeNav:hover {
  color: #ff2025;
}
#closeNav:before, #closeNav:after {
  width: 21px;
  top: 42%;
  left: 0;
}
#closeNav:before {
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-bottom: 4px solid;
}
#closeNav:after {
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-bottom: 4px solid;
}

html {
  --font-size: 62.5%;
}

.content {
  max-width: 600px;
  margin: 0 auto;
  padding: 42px 12px;
} 
.off-canvas {
    display: none;
}
.oben-nicht {
    display: none;
}

/* =========================================================
============ Responsive  ===================================
========================================================== */
@media (max-width: 1600px) {
#header-big .header-big-col2 {
    margin-left: 3%;
}
#header-big .header-big-col4 {
    margin-left: -45px;
}
}
@media (max-width: 1550px) {
.main-container {
	width: 90%;
}
}

@media (max-width: 1500px) {
#header-big .header-big-col2 {
    margin-left: 1%;
}
#header-big .header-big-col2 img, #header-big .header-big-col3 img, #header-big .header-big-col4 img {
    width: 75%;
}
#header-big .header-big-col2 {
    margin-left: 20px;
}
#header-big .header-big-col3 {
    margin-left: -70px;
}
#header-big .header-big-col4 {
    margin-left: -155px;
}
}


@media (max-width: 1450px) {
#header .nav {
    width: 60%;
}
.main-container .right-column .right-column-text {
    min-height: 260px;
	width: 80%;
}
}

@media (max-width: 1300px) {
#header-big .header-big-col2 {
    margin-left: 1%;
}
#header-big .header-big-col2 img, #header-big .header-big-col3 img, #header-big .header-big-col4 img {
    width: 60%;
}
#header-big .header-big-col2 {
    margin-left: 15px;
}
#header-big .header-big-col3 {
    margin-left: -115px;
}
#header-big .header-big-col4 {
    margin-left: -235px;
    margin-top: -55px;
}
#header-big .header-big-col1 {
    margin-top: 50px;
}
}


@media (max-width: 1200px) {
.left-container ul {
    margin-left: 0;
}
#header .nav {
    width: 100%;
}
}



@media (max-width: 1125px) {
.dummy-field {
    display: none;
}
.main-container .right-column .right-column-text {
	width: 96%;
}
.rechte-spalte {
    float: none;
    margin-left: 0;
	margin-top: 25px;
}
.linke-spalte {
    float: none;
}
#header-big .header-big-col2, #header-big .header-big-col3, #header-big .header-big-col4 {
    display: none;
}
#header-big .header-big-col1 {
    margin-top: 20px;
}
.main-container {
	margin-top: 30px;
}
}



@media (max-width: 1000px) {
#header .logo {
    width: 45%;
}
#header .nav {
    width: 55%;
}
#header .logo .logo-img {
    width: 16%;
} 
}




@media (max-width: 999px) {
.off-canvas {
    display: block;
}
.off-canvas .name-im-header {
    display: none;
}
#header .nav {
    display: none;
}
.oben-nicht {
    display: block;
}
.off-canvas ul li ul li {
    padding-left: 20px !important;
}
.unten-nicht {
	display: none;
}
.footer-nav ul {
	display: none;
}
.main-container {
    width: 90%;
}
.siegel {
    width: 30%;
}
.siegel img {
    width: 90%;
}
.text-neben-siegel {
    width: 70%;
}
#header-big-aussen {
    margin-top: 20px;
}
#header .header-title {
    font-size: 1.5rem;
}
.footer-col1, .footer-col2, .footer-col3, .footer-col4 {
    float: none;
    width: 100%;
}
.footer-col2, .footer-col3, .footer-col4 {
    margin-bottom: 15px;
}
.footer-col1 {
    display: none;
}
#footer {
    display: block;
    text-align: center;
}
.baby, .schwanger, .kinder {
    width: 300px;
}
.main-container .headline {
    font-size: 1.8rem;
}
.main-container a {
    text-align: left;
}



.main-container .left-column {
    width: 100%;
    float: none;
}
.main-container .right-column {
    width: 100%;
    float: none;
}
.main-container .right-column .right-column-img {
    margin-left: 0;
	border-left: none;
	border-top: none;
	margin-top: 20px;
}
.main-container .right-column .right-column-img img {
	border-left: none;
	border-top: none;
}
#header .logo .logo-img {
    width: 18%;
} 
.main-container .right-column .right-column-text {
    margin-top: 55px;
}
}

@media (max-width: 700px) {
body {
}
#header .logo .logo-img {
    width: 22%;
} 
.rechte-liste {
    float: none;
    margin-left: 0;
}
.linke-liste {
    float: none;
}
.linke-spalte iframe {
	width: 100%;
}
.siegel {
    width: 50%;
	float: none;
	margin-bottom: 20px;
}
.siegel img {
    width: 90%;
}
.text-neben-siegel {
    width: 100%;
	float: none;
}
}


@media (max-width: 600px) {
#header .logo .logo-img {
    width: 30%;
} 
}



@media (max-width: 500px) {
#header .logo .logo-img {
    width: 40%;
} 
}

@media (max-width: 360px) {
}
