:root {
    --DarkBlue: #23395d;
    --Light: #fffde7;
    --Gold: #fdd75f;
    --ErrorRed: #d65f6a;
    --SuccessGreen: #2e6241;
  
}
@font-face {
    font-family: 'Dungeon';
    src: url('fonts/Dungeon.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'GowunDodum';
    src: url('fonts/gowundodum-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
html, body {
    margin: 0px;
    background-color: var(--DarkBlue);
}
html {
    scroll-behavior: smooth;
}
* {
    font-size: 20px;
    font-family: 'GowunDodum', Arial, Helvetica, sans-serif;
    box-sizing: border-box;
}
a {
    text-decoration: none;
    color: var(--DarkBlue);
}
a:hover {
    text-decoration: underline;
}
p{
    margin-top: 0px;
    margin-bottom: 10px;
}
h1, h2, h3, h4 {
    font-family: 'Dungeon';
}
h1 {
    font-size: 128px;
    font-weight: normal;
    margin-top: 0px;
    margin-bottom: 0px; 
}

h2 {
    font-size: 64px;
    color: var(--DarkBlue);
    font-weight: normal;
    margin-bottom: 0px;
    margin-top: 0px; 
}
div > h2:not(:first-of-type) {
    margin-top: 40px;
}
h3 {
    font-size: 44px;
    color: var(--DarkBlue);
    margin-top: 0px;
    margin-bottom: 0px;
    font-weight: normal;
}

legend {
    font-weight: normal;
    font-size: 24px;
}
#main {
    position: relative;
}
#header {
    background-image: url(img/bg.jpg);
    background-size: cover; 
    background-position: center;
    text-align: center; 
    padding: 80px 0px;
    min-height: calc( 100vh - 49px);
    display: flex;
    justify-content: right;
    align-items: center;
}
.header_inner {
    padding: 20px;
    background-color: var(--DarkBlue);
}
#header * {
    color: var(--Gold);
}
#menu {
    text-align: center;
}
#menu ul {
    list-style-type: none;
    padding: 0px;
    margin: 0px auto;
}
#menu ul li {
    display: inline-block;
    padding: 10px 20px;
}
#menu ul li a {
    color: var(--Gold);
}
#content {
    width: 1280px; 
    max-width: 100%;
    margin: 0px auto; 
    padding: 20px; 
}
.info_sheet {
    position: relative;
    background-color: var(--Gold);
    width: 100%;
    padding: 5px;
    border: 2px solid var(--DarkBlue);
    margin-bottom: 60px
}
.info_sheet:before, .info_sheet:after {
    content: "•";
    position: absolute;
    width: 14px;
    height: 14px;
    font-size: 14px;
    color: var(--DarkBlue);
    border: 2px solid var(--DarkBlue);
    line-height: 12px;
    top: 5px;
    text-align: center;
    box-sizing: border-box;
}
.info_sheet:before {
    left: 5px;
}
.info_sheet:after {
    right: 5px;
}
.info_sheet .info_sheet_inner {
    position: relative;
    border: 2px solid var(--DarkBlue);
    padding: 40px;
}
.info_sheet_inner:before, .info_sheet_inner:after {
    content: "•";
    position: absolute;
    width: 14px;
    height: 14px;
    font-size: 14px;
    color: var(--DarkBlue);
    border: 2px solid var(--DarkBlue);
    line-height: 12px;
    bottom: -2px;
    text-align: center;
    box-sizing: border-box;
}
.info_sheet_inner:before {
    left: -2px;
}
.info_sheet_inner:after {
    right: -2px;
}

.two_column_container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
}
.column .info_sheet_inner {
    height: 100%;
}
#info{
    text-align: center;
}

fieldset {
    border: 0px solid;
    border-top: 2px solid var(--DarkBlue);
    padding: 20px 0px;
    margin-left: 0px; 
}
.input__label{
    display: inline-block;
    min-width: 80px;
}
label {
    width: 100%;
    display: inline-block;
}
input[type="number"]{
    border: none;
}

input.input__field {
    border: none;
    margin-left: 10px;
    min-width: 350px;
}

label.input:not(:last-of-type) {
    margin-bottom: 10px;
}
fieldset > label {
    margin-left: 15px;
}

textarea {
    margin-left: 15px;
    min-width: 445px;
    border: none;
}

label.input.textarea {
    margin-top: 15px;
}

.radio_input input[type="radio"] {
    opacity: 0;
    width: 1px;
    margin: 0px;
}
.radio_input {
    display: inline-block;
    padding: 5px 10px;
    cursor: pointer;
}

  
.radio_input span {
    position: relative;
}

.radio_input span:before,
.radio_input span:after {
    content: '';
}
.radio_input span:before {
    border: 2px solid var(--DarkBlue);
    width: 14px;
    height: 14px;
    margin-right: 10px;
    display: inline-block;
}
  
.radio_input span:after {
    content: "•";
    width: 14px;
    height: 14px;
    position: absolute;
    color: var(--DarkBlue);
    top: -1px;
    left: 4px;
    transition: 300ms;
    opacity: 0;
}
.radio_input input:checked+span:after {
    opacity: 1;
}
input.btn {
    background-color: var(--DarkBlue);
    color: var(--Gold);
    border: 2px solid var(--DarkBlue);
    padding: 10px 20px;
    
    transition: all 300ms;
}

.text-right {
    text-align: right;
}

input.btn:hover {
    background-color: var(--Gold);
    color: var(--DarkBlue);
}
#anmeldung p {
    margin-bottom: 40px;
}

#success,
#error {
    opacity: 1;
    display: block;
    transition: opacity 1s;
    -moz-animation: cssAnimation 0s ease-in 10s forwards;
    -webkit-animation: cssAnimation 0s ease-in 10s forwards;
    -o-animation: cssAnimation 0s ease-in 10s forwards;
    animation: cssAnimation 0s ease-in 10s forwards;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
.success,
.error {
    position: fixed;
    top: 150px;
    z-index: 30;
    color: var(--ErrorRed);
    background-color: var(--Gold);
    border: 2px solid var(--ErrorRed);
    padding: 20px;
    margin: 0px auto;
    left: 50%;
    transform: translateX(-50%);
}
.error h3 {
    color: var(--ErrorRed);

}
.success {
    color: var(--SuccessGreen);
    border: 2px solid var(--SuccessGreen);
}
.success h3 {
    color: var(--SuccessGreen);
}

@keyframes cssAnimation {
    to {
        width:0;
        height:0;
        overflow:hidden;
        opacity: 0;
    }
}
@-webkit-keyframes cssAnimation {
    to {
        width:0;
        height:0;
        visibility:hidden;
        opacity: 0;
    }
}
