* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

html {
    position: relative;
    min-height: 100%;
}

body {
	position:relative;
	font-family: 'Montserrat';
	margin: 0px;
}

img {margin:0;padding:0;}

.bio_fade {
    -webkit-animation: fadein 0.4s; /* Safari, Chrome and Opera > 12.1 */
       -moz-animation: fadein 0.4s; /* Firefox < 16 */
        -ms-animation: fadein 0.4s; /* Internet Explorer */
         -o-animation: fadein 0.4s; /* Opera < 12.1 */
            animation: fadein 0.4s;
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

#everything {
    width: 100vw;
    height: 100vh;
    overflow: scroll;
}

#main {
    margin-top: 4.6vh;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    height: 89vh;
    width: 100%;
	z-index: 1;
    background-repeat: no-repeat;
    background-position: center; 
    background-size: cover;
    overflow: auto;
    text-align: center;
}

.split {
    background-color: #fff;
    width: 100%;
    height: 0.5vw;
}

.section {
    min-height: 100vh;
    border-style: solid;
    border-color: #111;
    border-width: 1.7vw;
    border-left: none;
    border-right: none;
    padding-top: 7vw;
    padding-bottom: 10px;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center; 
    background-size: cover;
    will-change: transform;
}

.section h2 {
    font-weight: bold;
}

#ball{
    text-align: center;
    background-image: url(../img/blue.jpg);
}

#ents {
    text-align: center;
    background-image: url(../img/green.jpg);
}

#tickets {
    text-align: center;
    background-image: url(../img/red.jpg);
}

#sponsors {
    background-image: url(../img/white.jpg);
}

#charities {
    background-image: url(../img/yellow.jpg);
}

#charities a {
    font-weight: bold;
}

#committee {
    background-image: url(../img/grey.jpg);
}

.committee_row {
    width: 100%;
    margin: 0 auto;
}

.committee_row a{
    vertical-align: top;
    text-align: center;
    margin: 0 0;
    display: inline-block;
    font-family: 'Montserrat';
}

#image_cache {
    display: none;
}

.header__emblem {
    background-image: url(../img/jesus-emblem.png);
    background-repeat: no-repeat;
    background-size: 32px;
    display: inline-block;
    height: 32px;
    width: 32px;
    vertical-align: middle;
    margin: 0 10px;
}

.header {
    position: fixed;
    top: 0;
    height: 5%;
    font-size: 2.5vh;
    font-family: 'Montserrat';
    background-color: rgb(0,0,0);
    color: rgb(256,256,256);
    text-align: left;
    padding-left: 7%;
    padding-bottom: 1vh;
    z-index: 10;
    overflow: hidden;
}

.header_left {
    left: 0;
}

#header_title {
    display: inline-block;
    margin: 5px auto;
}

#header_title:hover {
    text-decoration: none;
}

.nav {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    padding-left: 2%;
    padding-right: 2%;
    font-size: 2.5vh;
    font-family: 'Montserrat';
    background-color: rgb(0,0,0);
    color: rgb(256,256,256);
    text-align: left;
    z-index: 10;
}

.nav_link {
    margin: 1.2% auto;
    float: left;
    text-align: center;
    color: #fff;
}

#close {
    margin-bottom: 0;
}

.right {
    margin-left: 60vw;
}

.right #close {
    text-align: right;
}

.bio {
    position: fixed;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.9);
    height: 105vh;
    width: 40vw;
    text-align: center;
    color: #fff;
    z-index: 9;
}

#close:hover {
    cursor:pointer;
}

#committee h2 {
    text-align: center;
    vertical-align: top;
    display: inline-block;
    color: #fff;
}

#committee p {
    color: #fff;
    text-align: center;
    vertical-align: top;
    display: inline-block;
}

.committee_row img:hover {
    cursor: pointer;
}

#ents img {
    margin-top:3.5vw;
    display: inline-block;
}

#ball p, #tickets p {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}

.ticket_link {
    color: #fff;
}

#ticket_buy_link {
    display: inline-block;
}

.content {
    margin: 0 auto;
    background-color: rgba(0, 0, 0, 0.4);
    background-clip: content-box;
}

@media (min-aspect-ratio: 2/1) {
    #main {
        background-image: url(../img/landscape3.svg);
    }
    .bio {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    .bio h2 {
        font-size: 1.4vw;
    }

    .bio h3 {
        margin-top: 0;
        font-size: 1.2vw;
    }

    .bio p {
        font-size: 1.1vw;
    }

    .bio img {
        width:11vw;
        margin-bottom: 1vh;
    }
}
@media (max-aspect-ratio: 2/1)  and (min-aspect-ratio: 17/11){
    #main {
        background-image: url(../img/landscape.svg);
    }
    .bio {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    .bio h2 {
        font-size: 1.6vw;
    }

    .bio h3 {
        font-size: 1.4vw;
    }

    .bio p {
        font-size: 1.25vw;
    }

    .bio img {
        width:12.5vw;
        margin-bottom: 2vh;
    }
}
@media (max-aspect-ratio: 17/11)  and (min-aspect-ratio: 13/11){
    #main {
        background-image: url(../img/landscape.svg);
    }
    .bio {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    .bio h2 {
        font-size: 2vw;
    }

    .bio h3 {
        font-size: 1.7vw;
    }

    .bio p {
        font-size: 1.45vw;
    }

    .bio img {
        width:17vw;
        margin-bottom: 3vh;
    }
}
@media (max-aspect-ratio: 13/11) and (min-aspect-ratio: 54/60) {
    #main {
        background-image: url(../img/landscape2.svg);
    }
    .bio {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    .bio h2 {
        font-size: 3vw;
    }

    .bio h3 {
        font-size: 2.4vw;
    }

    .bio p {
        font-size: 2vw;
    }

    .bio img {
        width:17vw;
        margin-bottom: 3vh;
    }
}
@media (min-aspect-ratio: 4/6) and (max-aspect-ratio: 54/60) {
    #main {
        background-image: url(../img/portrait3.svg);
    }
    .bio {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    .bio h2 {
        font-size: 3.5vw;
    }

    .bio h3 {
        font-size: 2.7vw;
    }

    .bio p {
        font-size: 2.35vw;
    }

    .bio img {
        width:17vw;
        margin-bottom: 3vh;
    }
}
@media (min-aspect-ratio: 30/55) and (max-aspect-ratio: 4/6) {
    #main {
        background-image: url(../img/portrait2.svg);
    }
    .bio {
        padding-left: 6.5vw;
        padding-right: 6.5vw;
    }

    .bio h2 {
        font-size: 2.4vh;
    }

    .bio h3 {
        font-size: 1.8vh;
    }

    .bio p {
        font-size: 1.65vh;
    }

    .bio img {
        width:20vw;
        margin-bottom: 2vw;
    }
}
@media (max-aspect-ratio: 30/55) {
    #main {
        background-image: url(../img/portrait.svg);
    }
    .bio {
        padding-left: 6.5vw;
        padding-right: 6.5vw;
    }

    .bio h2 {
        font-size: 2.4vh;
    }

    .bio h3 {
        font-size: 1.8vh;
    }

    .bio p {
        font-size: 1.65vh;
    }

    .bio img {
        width:20vw;
        margin-bottom: 2vw;
    }
}

/* Portrait */
@media (orientation:portrait) {
    .header_right {
        display: none;
    }

    .header {
        width: 100%;
    }

    .nav_link {
        width: 33.33333%;
    }

    .committee_row img {
        margin-left: 3.5%;
        width: 15%;
    }

    .committee_row .img_buffer {
        visibility: hidden;
        display: inline-block;
        margin-left: 3.5%;
        width: 15%;
    }

    .committee_row a {
        margin-left: 2%;
        width: 16.5%;
        font-size: 2.7vw;
        color: #ddd;
    }

    .committee_row a.buffer {
        visibility: hidden;
    }

    .committee_row a.first {
        margin-left: 2.75%;
    }

    .committee_row a.odd {
        margin-left: 12%;
    }

    .committee_row .odd {
        margin-left: 12.75%;
    }

    #webmaster {
        margin-left: 0;
        width: 100%;
    }

    .footer {
        margin-bottom: 10vh;
        font-size: 1vh;
    }

    .logo {
        height:35vh;
        width: 35vh;
    }

    h2 {
        margin: 0 0 0 0;
        text-align: center;
        vertical-align: top;
        display: inline-block;
        width: 100%;
        font-size: 8vw;
        color: #fff;
    }

    #committee h2 {
        margin-bottom: 6px;
    }

    .section p {
        font-size: 2.7vw;
        color: #fff;
        text-align: center;
        margin-left: 5%;
        margin-right: 5%;
    }

    #ball_text, #tickets_text {
        margin-left: 6%;
        margin-right: 6%;
    }

    #ball img, #tickets_image {
        margin-top: 2vw;
        margin-bottom: 6vw;
        display: inline-block;
        width: 70vw;
    }

    #committee p {
        vertical-align: top;
        display: inline-block;
        margin: -2vw -3.5% -100vw 6%;
        width: 16%;
    }

    #ents img {
        width: 70vw;
    }  

    #ents #ents_image2 {
        display: none;
    }   

    #sponsors .content {
        text-align: center;
    }

    .sponsor {
        position: relative;
        display: inline-block;
        margin-top: 1vw;
        margin-bottom: 1vw;
        width:70vw;
    }

    #ticket_buy {
        width: 20vw;
        height: 20vw;
    }

    #tickets h2 {
        margin-right: 10%;
        margin-top: 4vw;
        width: 30%;
    }

    .content {
        padding: 2vw 5% 2vw 5%;
    }

    #close {
        font-size: 2.5vh;
        margin-top: 5vh;
        margin-bottom: 2vh;
        text-align: left;
    }
}
/* Landscape */
@media (orientation:landscape) {
    .header {
        width: 50%;
    }

    .header_right {
        text-align: right;
        right: 0;
        padding-left: 0;
        padding-right: 7%;
    }

    #year {
        display: none;
    }

    #date {
        display: inline-block;
        margin: 5px auto;
        text-align: right;
        width: auto;
    }

    .nav_link {
        width: 16.66666%;    
    }

    .committee_row img {
        margin-left: 2.5%;
        width: 13%;
    }

    .committee_row .img_buffer {
        visibility: hidden;
        display: inline-block;
        margin-left: 2.5%;
        width: 13%;
    }

    .committee_row a {
        margin-left: 2.5%;
        width: 13%;
        font-size: 1.8vw;
        margin-bottom: 0.8vw;
        color: #ddd;
    }

    .committee_row a.buffer {
        visibility: hidden;
    }

    .footer {
        margin-bottom: 4vw;
        font-size: 1vw;
    }

    .logo {
        height:35vw;
        width: 35vw;
    }

    h2 {
        margin: 0 0 0 0;
        text-align: center;
        vertical-align: top;
        display: inline-block;
        width: 100%;
        font-size: 5vw;
        color: #fff;
        margin-bottom: 0;
    }

    #committee h2 {
        margin-left: 3%;
        width: 60%;
    }

    .section p {
        text-align: center;
        font-size: 1.5vw;
        color: #fff;
        margin-left: 5%;
        margin-right: 5%;
    }

    #ball_text, #tickets_text {
        display: inline-block;
        margin-left: 4%;
        margin-right: 0;
        width: 50%;
    }

    #ball img, #tickets_image {
        display: inline-block;
        width: 30vw;
        vertical-align: top;
    }

    #ball img {
        margin-top: 4vw;
        margin-left: 5%;
        margin-right: 2%;
    }

    #tickets_image {
        margin-top: 6vw;
        margin-left: 3%;
        margin-right: 4%;
    }

    #committee p {
        vertical-align: top;
        display: inline-block;
        margin-left: 4.5%;
        margin-right: 2%;
        width: 24.5%;
    }

    #ents img {
        height: 25vw;
    } 

    #ents_image2 {
        margin-left: 1vw;
    }  

    #sponsors .content {
        text-align: center;
    }

    .sponsor {
        display: inline-block;
        position: relative;
        width:50vw;
        margin-top: 1vw;
        margin-bottom: 1vw;
    }

    .sponsor_first {
        margin-left: 8.5%;
    }

    #ticket_buy {
        width: 10vw;
        height: 10vw;
    }

    #tickets h2 {
        margin-right: 10%;
        margin-top: 2vw;
        width: 30%;
    }

    .content {
        padding: 1vw 10% 1vw 10%;
    }

    #close {
        font-size: 2vw;
        margin-top: 5vh;
        text-align: left;
    }
}
.footer {
    text-align: center;
    margin-top: 10px;
    color: #ddd;
}

a {
    color: #fff;
}

a:link, a:active, a:visited {
    text-decoration:none;
}

a:hover {
    text-decoration:underline;
}

.hidden {
    display: none;
}

<!--[if IE]>
<style type="text/css">
    background-attachment: scroll;
</style>
<![endif]-->

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    background-attachment: scroll;
}
