@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@1,500&display=swap');

:root {
    --main-color: #133aff;
    --light-text-color: white;
    --dark-text-color: #25252e;
    --background-color: white;
    --light-highlight-color: #13b0ff;
    --dark-highlight-color: #0025DF;
    --max-width: 1500px;
    --font: "Montserrat", sans-serif;
    --normal-font-weight: 500;
    --bold-font-weight:600;
    --extra-bold-weight:800;
    --font-size: 16px;
    --h1-size: 25px;
    --h2-size: 20px;
    --dark-background-color: #13b0ff;
    --small-font-size: 14px;
}

html {
    background-color: var(--background-color);
    font-family: Raleway;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
    padding: 0;
}

.navbar{
    display: none;
}

.hbox, .fbox{
    width: 100%;
    background-color: var(--main-color);
}

header, a.cta, nav {
    background-color: var(--main-color);
}

.button p{
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--font-size);
    color: var(--light-text-color);
}

.button a:hover{
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    color: var(--light-text-color);
}

.logo {
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--h1-size);
    color: var(--light-text-color);
    text-decoration: none;
    padding-left: 1%;
}

h1 {
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--h1-size);
    color: var(--dark-text-color);
    text-decoration: none;
}

nav{
    width: 100%;
    background-color: var(--main-color);
    align-items: center;
    margin-left: auto; 
    margin-right: auto;
}

nav ul{
    float: center;
}

nav ul li{
    float: left;
    list-style: none;
    position: relative;
}

nav ul li a{
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    color: var(--light-text-color);
    text-decoration: none;
    padding: 28px;
    display: block;
}

nav ul li a:hover{
    background-color: var(--light-highlight-color);
} 

nav ul li ul{
    display: none;
    position: absolute;
    background-color: var(--light-highlight-color);
    padding: 7px;
    border-radius: 0px 0px 12px 12px;
}

nav ul li:hover ul{
    display: block;
}

nav ul li ul li a{
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    padding: 16px 20px;
    border-radius: 10px;
    color: var(--light-text-color);
}

nav ul li ul li a:hover{
    background-color: var(--dark-highlight-color);
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: var(--max-width);
    margin-left: auto; 
    margin-right: auto;
}

.hbox {
    position:sticky;
    top: 0px;
    z-index:999;
}

.button {
    padding-right: 1%;
}

button {
    padding: 9px 25px;
    background-color: var(--light-highlight-color);
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease 0s;
}

button:hover {
    background-color: var(--dark-highlight-color);
}

.bbody {
    width: 100%;
    background-color: var(--background-color);
}

.picture{
    background-color: var(--background-color);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    max-width: var(--max-width);
    margin-left: auto; 
    margin-right: auto;
    overflow: hidden;

}

img{
    position:relative;
    left:50%;
    transform:translate(-50%,0%);
    overflow: hidden;
}

.rand {
    background-color: var(--main-color);
    width: 100%;
    height: 5px;
}

column {
    float:left;
}

.left {
    width: 70%
}

.right {
    width: 30%
}

.row{
    background-color: var(--background-color);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    max-width: var(--max-width);
    margin-left: auto; 
    margin-right: auto;
    padding-top: 1%;
    padding-bottom: 2%;
}

.left p{
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    color: var(--dark-text-color);
    text-decoration: none;
    padding: 0.5% 1.5%;
    padding-right: 3%;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto; 
	text-align: justify;
    flex-direction: column;
}

.bmain {
    background-color: var(--background-color);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    margin-left: auto; 
    margin-right: auto;

}

.main {
    background-color: var(--background-color);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    max-width: var(--max-width);
    margin-left: auto; 
    margin-right: auto;
    padding: 2%;

}

.main p{
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    color: var(--dark-text-color);
    text-decoration: none;
    padding: 0.5%;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto; 
	text-align: justify;
    flex-direction: column;
}

.Urow {
    display: flex;
}

.Ucolumn {
    flex: 50%;
    padding: 0px;
}

.Preusse, .Koppe{
    padding: 50px;
}

.right p{
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    color: var(--dark-text-color);
    text-decoration: none;
    padding: 0.5% 1.5%;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto; 
	text-align: justify;
    flex-direction: column;
}

#rcorners1 {
    border-radius: 15px;
    background: var(--dark-background-color);
    width: auto;
    height: auto;
    padding: 4%;
    margin: 5% 2%;
}

#rcorners1 h2{
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--h2-size);
    color: var(--light-text-color);
    text-decoration: none;
    padding: 0.5% 1.5%;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto; 
	text-align: justify;
    flex-direction: column;
}

#rcorners1 p{
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    color: var(--light-text-color);
    text-decoration: none;
    padding: 0.5% 1.5%;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto; 
	text-align: justify;
    flex-direction: column;
}

.anmeldung {
    margin:auto;
    width: 100%;
}

.programm_head {
    text-align: center;
    margin:auto;
    width: 100%;
}

.programm_head h1{
    font-weight: var(--bold-font-weight);
    font-size: 35px;
}

.programm_head p{
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--font-size);
    text-align: center;
}

.programm_head date{
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    text-align: center;
}

.programm{
    text-align: left;
    margin: auto;
    width:100%;
}

.programm h2, .programm h3{
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--font-size);
}

.programm h4{
    font-family: var(--font);
    font-weight: 500;
    font-size: var(--font-size);
    margin-top: 5px;
}

.programm p{
    vertical-align: top;
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
}

body p:last-child { margin-bottom: 0em; }

.space{
    margin-top: 20px;
}

.space2{
    margin-top: 5px;
}

.space3{
    margin-top: 60px;
}

td{
    width: 15%;
    vertical-align: top;
}

table{
    width:100%;
    align-items: left;
}

.mod{
    text-align: end;
    margin: auto;
}

h4.mod{
    font-family: var(--font);
    font-style: italic;
}

.text{
    text-align: left;
    margin: auto;
    padding-left: 5%;
    padding-right: 5%;
    max-width: var(--max-width);
}

.text p, .kosten p{
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    color: var(--dark-text-color);
    text-decoration: none;
}

.text h1{
    text-align: left;
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: 30px;
    color: var(--dark-text-color);
    text-decoration: none;
}

.text h2, .kosten h2, .gallerie h2{
    text-align: left;
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: 25px;
    color: var(--dark-text-color);
    text-decoration: none;
}

.text h3, .kosten h3{
    text-align: left;
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: 20px;
    color: var(--dark-text-color);
    text-decoration: none;
}

.text h4{
    text-align: left;
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--font-size);
    color: var(--dark-text-color);
    text-decoration: none;
}

.text p2, .kosten p2{
    vertical-align: top;
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--font-size);
}

.text ul{
    list-style-position: outside;
    padding-left: 30px;
}

.text li{
    text-align: left;
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    color: var(--dark-text-color);
    text-decoration: none;
    padding-bottom: 5px;
}

.kosten{
    padding-left: 5%;
    padding-right: 5%;
    max-width: var(--max-width);
}

.kostenpad{
    padding-left: 5%;
	width: max-content;
}

.kosten li{
    display: inline-block;
}

.kosten a{
    text-align: right;
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--font-size);
    color: var(--main-color);
    text-decoration:underline;
}

.skript p, .pdf p, .skript p, .reflinks p{
    text-align: left;
    font-weight: var(--normal-font-weight);
    font-size: var(--small-font-size);
    color: var(--dark-text-color);
    font-family: var(--font);
    font-style: italic;
}

.bericht {
    text-align: center;
    margin: auto;
    padding-left: 5%;
    padding-right: 5%;
    max-width: var(--max-width);
    padding-top: 2%;
    padding-bottom: 2%;
}

.pdf li{
    display: inline-block;
    margin: 0 10px;
}

.bericht h1{
    text-align: left;
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: 30px;
    color: var(--main-color);
    text-decoration: none;
}

.pdf a, .gallerie a{
    text-align: right;
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--h2-size);
    color: var(--main-color);
    text-decoration:underline;
}

.referate{
    padding-left: 5%;
}

.reflist{
    padding-left: 20px;
}

.referate h2, .referate h3{
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--h2-size);
    color:var(--dark-text-color);
}

.referate h3{
    color:crimson;
}

.referate a{
    text-align: right;
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--h2-size);
    color: var(--dark-text-color);
    text-decoration:underline;
}

.referate p, .li1, .li2, .vor p, .gallerie p{
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--font-size);
    color: var(--dark-text-color);
}

.ul1, .ul2{
    padding-left: 30px;
}

.skript li{
    display: inline-block;
}

.skripts{
    width:250px;
}

.reflink li{
    display: inline-block;
}

.reflinks{
    width:250px;
    padding-left: 10px;
}

.reflinksa{
    white-space: nowrap;
}

.reflink a{
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    color: var(--dark-text-color);
    text-decoration: underline;
    padding-left: 20px;
}

.vor a{
    font-family: var(--font);
    font-weight: var(--bold-font-weight);
    font-size: var(--font-size);
    color: var(--dark-text-color);
    text-decoration: underline;
    display: flex;
    padding-bottom: 5px;
}

.vor p{
    padding-bottom: 5px;
}

.vor, .vora2 {
    padding-left: 20px;
}

.gallerie {
    width: 100%;
}

.gallerie h2, .gallerie p{
    text-align: center;
}

.gallerie li{
    list-style: none;
    display: inline;
}

.gnach a{
    vertical-align: right;
    float: right;
}

.rowg {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 4px;
}

.columng {
    -ms-flex: 25%;
    flex: 25%;
    max-width: 25%;
    padding: 0 4px;
}

.columng img {
    margin-top: 8px;
    vertical-align: middle;
    width: 100%;
}

footer {
    padding-top: 20px;
    padding-bottom: 30px;
    text-align: center;
    max-width: var(--max-width);
    margin-left: auto; 
    margin-right: auto;
}

footer, footer a{
    background-color: var(--main-color);
}

footer a{
    font-family: var(--font);
    font-weight: var(--normal-font-weight);
    font-size: var(--font-size);
    color: var(--light-text-color);
    padding-inline: 2%;
    text-decoration: none;
}

footer a:hover{
    background-color: var(--light-highlight-color);
    padding-top: 5px;
    padding-bottom: 5px;
}


@media (max-width: 1050px) {
    .hbox{
        display: none;
    }

    .navbar {
        display: flex;
        position: relative;
        justify-content: space-between;
        align-items: center;
        background-color: var(--main-color);
        color: var(--light-text-color);
        position:sticky;
        top: 0px;
        z-index: 98;
    }
    
    .brand-title {
        font-size: 1.5rem;
        margin: .5rem;
    }
    
    .navbar-links {
        height: 100%;
    }
    
    .navbar-links ul {
        display: flex;
        margin: 0;
        padding: 0;
    }
    
    .navbar-links li {
        list-style: none;
    }
    
    .navbar-links li a {
        font-family: var(--font);
        font-weight: var(--normal-font-weight);
        font-size: var(--font-size);
        color: var(--light-text-color);
        display: block;
        text-decoration: none;
        color: var(--light-text-color);
        padding: 1rem;
    }
    
    .navbar-links li:hover {
        background-color: var(--light-highlight-color);
    }
    
    .toggle-button {
        position: absolute;
        top: 25px;
        right: 1rem;
        display: none;
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 21px;
    }
    
    .toggle-button .bar {
        height: 3px;
        width: 100%;
        background-color: var(--light-text-color);
        border-radius: 10px;
    }

    .navbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .toggle-button {
        display: flex;
    }

    .navbar-links {
        display: none;
        width: 100%;
    }

    .navbar-links ul {
        width: 100%;
        flex-direction: column;
    }

    .navbar-links ul li {
        text-align: center;
    }

    .navbar-links ul li a {
        padding: .5rem 1rem;
    }

    .navbar-links.active {
        display: flex;
    }

    .log {
        background-color: var(--light-highlight-color);
    }

    .log:hover{
        background-color: var(--dark-highlight-color);
    }

    .left {
        width: 100%
    }
    
    .right {
        width: 100%
    }
    .columng {
        -ms-flex: 50%;
        flex: 50%;
        max-width: 50%;
    }
}

@media screen and (max-width: 600px) {
    .columng {
        -ms-flex: 100%;
        flex: 100%;
        max-width: 100%;
    }
}