body {
    padding: 0;
    margin: 0;
    background: url("background.png");
    font-family: 'Cabin', sans-serif;
    font-weight: 500;
    letter-spacing: 1px;
}

h2 {
    font-weight: 800;
    font-size: 2.7vw;
    margin-bottom: 6vw;
    border: black solid;
    border-width: .25vw 0;
    padding: 1vw 0;
}

a {
    text-decoration: none;
    color: #000000;
}

a:hover {
    color: #FFFF00;
}

a div:hover {
    color: #FFFF00;
}

#wrapper {
    max-width: 100%;
    margin: auto;
    width: 1024px;
}

#darkbg {
    position: absolute;
    top: 44vw;
    width: 100%;
    background: #141414;
    height: 42vw;
    z-index: -50;
}

#title {
    background: url("logo.png") no-repeat center #141414;
    background-size: contain;
    width: 100%;
    height: 52.5vw;
    margin-top: -4px;
    z-index: 12;
}

#titleText {
    width: 63%;
    height: 10vw;
    background: url("logo2_black.svg") no-repeat center top;
    background-size: 100%;
    margin: auto;
    top: 5.7vw;
    position: relative;
}

#infoBox {
    background: #000000;
    width: 58%;
    max-width: 100%;
    margin: 8.5vw auto 0;
    padding: 75px 0;
    position: relative;
    color: #DCDCDC;
    text-align: center;
    font-size: .83vw;
}

.infoBoxTitle {
    font-size: 1.35vw;
    line-height: 4.15vw;
}

.infoBoxBody {
    font-size: 2.5vw;
}

#textBlock {
    font-size: 2.5vw;
    width: 47%;
    margin: 8.5vw auto 0;
    text-align: center;
    position: relative;
    font-weight: 600;
}

#ticketBlock {
    width: 53%;
    margin: 8.5vw auto 0;
    text-align: center;
    position: relative;
}

.ticketBody {
    background: url("ticket.svg") no-repeat center;
    width: 100%;
    height: 12vw;
    margin: .52vw 0;
    color: #969696;
    font-weight: 300;
	cursor: pointer;
}

.ticketWD {
    float: left;
    width: 30%;
    font-size: 6.7vw;
    padding-top: 1.75vw;
}

.ticketDT {
    float: left;
    width: 33%;
    padding-top: 2.9vw;
    font-size: 2.5vw;
    text-align: left;
}

.ticketLC {
    float: left;
    padding-top: 3vw;
    text-align: left;
    font-size: 1.55vw;
}

#stuff {
    width: 100%;
    text-align: center;
    position: relative;
    margin: 20px 0;
    font-size: 1.35vw;
}

#largeTextBlock {
    width: 80%;
    margin: auto;
    text-align: center;
    position: relative;
    font-size: 14px;
}

#menuButton {
    position: fixed;
    top: 0;
    right: 3.65vw;
    background: #000000;
    color: #FFFFFF;
    padding: 1.6vw 2.2vw;
    font-size: 2vw;
    font-weight: 300;
    cursor: pointer;
    box-shadow: 0 0 0.5vw 0 #141414;
}

#menuButton:hover {
    color: #FFFF00;
}

#menu {
    position: fixed;
    top: 7vw;
    right: 3.65vw;
    width: 14.5vw;
}

.menuitem {
    background: #000000;
    color: #FFFFFF;
    padding: 1.6vw 1.6vw;
    font-size: 2vw;
    font-weight: 300;
    border: solid #FFFFFF;
    border-width: 1px 0;
}

.selected {
    color: #969696;
}

#titleBlock {
    background: #141414;
    width: 100%;
    height: 20vw;
    text-align: center;
    color: #DCDCDC;
    font-size: 3.3vw;
    font-weight: 300;
}

#titleBlockText {
    background: url("logo2.svg") center center no-repeat;
    position: relative;
    top: 3vw;
    height: 4vw;
    padding: 10vw;
}

.contentTitle {
    padding: 10vw 0 4.5vw;
    font-size: 2.5vw;
    font-weight: 700;
    text-align: center;
}

.contentSubTitle {
    font-size: 1.5vw;
    font-weight: 500;
    text-align: center;
}

.contentVImageRow {
    width: 70.4vw;
    height: 28.5vw;
    margin: auto;
}

.contentVImageContainer {
    width: 25%;
    padding: 2vw 0 0;
    float: left;
}

.contentVImage {
    width: 16vw;
    height: 20vw;
    background: url("VImagePlaceholder.png");
    background-size: contain;
    margin: auto;
}

.contentVImage img {
	filter: grayscale(80%);
	width: 100%;
	height: 100%;
    -webkit-transition: .3s linear;
    transition: .3s linear
}

.contentVImage:hover img {
	filter: grayscale(0%);
}

.contentVImageTitle {
    width: 16vw;
    margin: 1.3vw auto .4vw;
    font-size: 1.35vw;
    font-weight: 600;
}

.contentVImageSubTitle {
    width: 16vw;
    margin: auto;
    font-size: 1.2vw;
	height: 2em;
}

.contentTextBlock {
    font-size: 1.35vw;
    font-weight: 600;
    width: 53%;
    margin: auto;
    line-height: 1.5em;
}

.contentTextBlockImg {
    float: left;
    margin: 0 1vw;
    height: 15vw;
}

.contentTextBlockImg img {
    height: 100%;
}

.placeholder {
    height: 11.5vw;
}

.contentHImageRow {
    width: 70.4vw;
    height: 17.5vw;
    margin: auto;
}

.contentHImageContainer {
    width: 33.33%;
    padding: 1vw 0 0;
    float: left;
}

.contentHImage {
    width: 23vw;
    height: 16vw;
    background: #C8C8C8;
    background-size: contain;
    margin: auto;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}

.contentHImage img {
	max-width: 100%;
	max-height: 100%;
	filter: grayscale(80%);
    -webkit-transition: .3s linear;
    transition: .3s linear
}

.contentHImage:hover img {
	filter: grayscale(0%);
}

form {
    width: 72vw;
    margin: auto;
}

.labelContainer {
    width: 100%;
    font-size: 2.5vw;
    font-weight: 800;
    margin: 9vw 0 2vw;
}

input[type="email"] {
    width: 69vw;
    font-size: 2.5vw;
    font-weight: 300;
    border: none;
    background: #C8C8C8;
    padding: 1.5vw;
}

textarea {
    width: 69vw;
    height: 30vw;
    font-size: 2.5vw;
    font-weight: 300;
    border: none;
    background: #C8C8C8;
    padding: 1.5vw;
}

#datenschutz {
    font-size: 1.2vw;
    margin-top: 6.5vw;
}

#datenschutzlabel {
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    width: 0;
    height: 0;
}

input:focus, textarea:focus {
    outline-color: #FFFF00;
}

#checkboxX {
    position: absolute;
    top: 0;
    left: 0;
    width: 3.6vw;
    height: 3.6vw;
    border: none;
    background: #C8C8C8;
    margin: 0;
    cursor: pointer;
}

#datenschutzlabel:hover input ~ #checkboxX {
    background-color: #FFFF00;
}

#checkboxX:after {
    content: "";
    position: absolute;
    display: none;
}

#datenschutzlabel input:checked ~ #checkboxX:after {
    display: block;
}

#datenschutzlabel #checkboxX:after {
    left: 1.2vw;
    top: .3vw;
    width: 1vw;
    height: 2vw;
    border: solid #000000;
    border-width: 0 .26vw .26vw 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

#datenschutzText {
    float: left;
    padding-left: 6vw;
}

input[type="submit"] {
    font-family: 'Cabin', sans-serif;
    letter-spacing: 1px;
    background: #000000;
    color: #FFFFFF;
    padding: 2.5vw 3.5vw;
    font-size: 2.5vw;
    font-weight: 500;
    cursor: pointer;
    border: none;
    margin-top: 6.5vw;
}

input[type="submit"]:hover {
    color: #FFFF00;
    background: #000000;
}

.bar {
    overflow: auto;
    width: 53%;
    margin: 4.5vw auto 0;
    border: #898F9C solid;
    border-width: .25vw 0 0 0;
    color: #898F9C;
    padding: 1vw 0;
    font-size: 1.55vw;
}

.bar div {
    width: 5vw;
    height: 5vw;
    margin: 1vw 2vw;
    float: left;
    background-size: cover;
    background-repeat: no-repeat;
}

#facebookButton {
    background-image: url(social/facebook_grey.png);
}

#facebookButton:hover {
    background-image: url(social/facebook_black.png);
}

#instagramButton {
    background-image: url(social/instagram_grey.png);
}

#instagramButton:hover {
    background-image: url(social/instagram_black.png);
}

.sponsors {
	filter: grayscale(100%);
    -webkit-transition: .3s linear;
    transition: .3s linear;
}

.sponsors:hover {
	filter: grayscale(0%);
}

#goetheButton {
    background-image: url(sponsors/goethe_color.png);
    width: 11.14vw;
}

#mkmButton {
    background-image: url(sponsors/mkm_color.png);
    width: 9.89vw;
}

#ggewButton {
    background-image: url(sponsors/ggew_color.png);
    width: 17.63vw;
}

#eckButton {
    background-image: url(sponsors/eck.png);
    width: 11.4vw; 117px;
}

#albrechtButton {
    background-image: url(sponsors/albrecht.png);
    width: 7.92vw; 82px;
}

#vbButton {
    background-image: url(sponsors/vb.png);
    width: 5.17vw; 53px;
}

#rexButton {
    background-image: url(sponsors/rex.png);
    width: 34.74vw; 356px;
}


@media (max-width:1024px) {
    h2 {
        font-size: 28px;
        margin-bottom: 61px;
        border-width: 3px 0;
    }

    #darkbg {
        height: 450px;
    }

    #titleText {
        width: 645px;
        height: 102px;
    }

    #infoBox {
        width: 594px;
        bottom: 0;
        font-size: 8.5px;
    }

    .infoBoxTitle {
        font-size: 14px;
        line-height: 43px;
    }

    .infoBoxBody {
        font-size: 26px;
    }

    #textBlock {
        width: 481px;
        font-size: 26px;
    }

    #ticketBlock {
        width: 543px;
    }

    .ticketBody {
        height: 133px;
    }

    .ticketWD {
        font-size: 67px;
        padding-top: 18px;
    }

    .ticketDT {
        padding-top: 30px;
        font-size: 26px;
    }

    .ticketLC {
        padding-top: 31px;
        font-size: 16px;
    }

    #stuff {
        font-size: 16px;
    }

    #menuButton {
        right: 37px;
        padding: 16px 23px;
        font-size: 20px;
        box-shadow: 0 0 5px 0 #141414;
    }

    #menu {
        top: 72px;
        right: 37px;
        width: 148px;
    }

    .menuitem {
        padding: 16px 16px;
        font-size: 20px;
    }

    #titleBlock {
        height: 205px;
        font-size: 34px;
    }

    #titleBlockText {
        top: 31px;
        height: 41px;
        padding: 102px;
    }

    .contentTitle {
        padding: 102px 0 46px;
        font-size: 25px;
    }

    .contentSubTitle {
        font-size: 15px;
    }

    .contentVImageRow {
        width: 721px;
        height: 292px;
    }

    .contentVImageContainer {
        padding: 20px 0 0;
    }

    .contentVImage {
        width: 164px;
        height: 205px;
    }

    .contentVImageTitle {
        width: 164px;
        margin: 13px auto 4px;
        font-size: 14px;
    }

    .contentVImageSubTitle {
        width: 164px;
        font-size: 12px;
    }

    .contentTextBlock {
        font-size: 14px;
        width: 543px;
    }

    .contentTextBlockImg {
        margin: 0 10px;
        height: 154px;
    }

    .placeholder {
        height: 117px;
    }

    .contentHImageRow {
        width: 721px;
        height: 179px;
    }

    .contentHImageContainer {
        padding: 10px 0 0;
    }

    .contentHImage {
        width: 236px;
        height: 164px;
    }

    form {
        width: 737px;
        max-width: 90%;
    }

    .labelContainer {
        font-size: 26px;
        margin: 92px 0 20px;
    }

    input[type="email"] {
        width: 706px;
        font-size: 26px;
        padding: 15px;
        max-width: 93%;
    }

    textarea {
        width: 706px;
        height: 307px;
        font-size: 26px;
        padding: 15px;
        max-width: 93%;
    }

    #datenschutz {
        font-size: 12px;
        margin-top: 67px;
    }

    #checkboxX {
        width: 37px;
        height: 37px;
    }

    #datenschutzlabel #checkboxX:after {
        left: 12px;
        top: 3px;
        width: 10px;
        height: 20px;
        border-width: 0 3px 3px 0;
    }

    #datenschutzText {
        padding-left: 61px;
    }

    input[type="submit"] {
        padding: 26px 36px;
        font-size: 26px;
        margin-top: 67px;
    }

    .bar {
        width: 543px;
        margin: 46px auto 0;
        border-width: 3px 0 0 0;
        padding: 10px 0;
        font-size: 16px;
    }

    .bar div {
        width: 51px;
        height: 51px;
        margin: 10px 20px;
    }

    #mkmButton {
        width: 102px;
    }

    #goetheButton {
        width: 115px;
    }
	
	#ggewButton {
		width: 181px;
	}

	#eckButton {
		width: 117px;
	}

	#albrechtButton {
		width: 82px;
	}

	#vbButton {
		width: 53px;
	}

	#rexButton {
		width: 356px;
	}
}

@media (max-width:1024px) and (max-height:360px) {

    .menuitem {
        float: right;
        border-width: 1px !important;
    }

    #menu {
        width: 50%;
    }

}

@media (max-width:750px) {

    .contentVImageRow {
        width: 90%;
        height: 110vw;
    }

    .contentVImageContainer {
        width: 50%;
        padding: 4vw 0 0;
    }

    .contentVImage {
        width: 33vw;
        height: 41vw;
    }

    .contentVImageTitle {
        width: 33vw;
        margin: 2.6vw auto .8vw;
        font-size: 2.8vw;
    }

    .contentVImageSubTitle {
        width: 33vw;
        font-size: 2.4vw;
    }

    .contentHImageRow {
        width: 90%;
        height: 105vw;
    }

    .contentHImageContainer {
        width: 100%;
        padding: 2vw 0 0;
    }

    .contentHImage {
        width: 47vw;
        height: 32.8vw;
    }

}


@media (max-width:675px) {/*TODO*/
    #titleText {
        height: 20vw;
        width: 100%;
        top: 15vw;
    }
    #title {
        background-image: url(logo_tall.png);
        height: 69.4vw;
    }
    #titleBlock {
        padding-top: 10vw;
    }
}


@media (max-width:595px) {

    #infoBox {
        width: 100%;
    }

    #ticketBlock {
        width: 90%;
    }

    .ticketBody {
        height: 20vw;
    }

    .ticketWD {
        font-size: 11vw;
        padding-top: 3vw;
    }

    .ticketDT {
        padding-top: 5vw;
        font-size: 4.35vw;
    }

    .ticketLC {
        padding-top: 5.2vw;
        font-size: 2.7vw;
    }

    #titleBlock {
        height: 16vw;
        font-size: 5.7vw;
    }

    #titleBlock {
        height: 34vw;
        font-size: 5.7vw;
    }

    #titleBlockText {
        top: 5.2vw;
        height: 6.9vw;
        padding: 17vw;
    }

    .contentTitle {
        padding: 17vw 0 7.7vw;
        font-size: 4.2vw;
    }

    .contentSubTitle {
        font-size: 2.5vw;
    }

    .contentTextBlock {
        font-size: 2.35vw;
        width: 90%;
    }

    .contentTextBlockImg {
        margin: 2vw auto;
        height: 25.9vw;
        width: fit-content;
        float: none !important;
    }

    .placeholder {
        height: 19.6vw;
    }

    .bar {
        width: 90%;
        margin: 7.7vw auto 0;
        border-width: .5vw 0 0 0;
        padding: 1.6vw 0;
        font-size: 2.6vw;
    }

    .bar div {
        width: 8.6vw;
        height: 8.6vw;
        margin: 1.7vw 3.4vw;
    }

    #mkmButton {
        width: 17.2vw;
    }

    #goetheButton {
        width: 19.4vw;
    }
	
	#ggewButton {
		width: 30.4vw;
	}

	#eckButton {
		width: 19.66vw;
	}

	#albrechtButton {
		width: 13.78vw;
	}

	#vbButton {
		width: 8.9vw;
	}

	#rexButton {
		width: 59.83vw;
	}
}


@media (max-width:560px) {/*TODO*/
    #textBlock {
        width: 90%;
    }
}

::selection {
    background: #000000;
    color: #FFFF00;
}