@font-face{
    font-family:'phosphate';
    src: url('phosphatepro-solid.woff2') format('woff2'),
         url('phosphatepro-solid.woff') format('woff');
    font-weight: normal;
}
body {
    font-family: 'proxima-nova',sans-serif;
    font-weight: 300;
}
h1, h2, h3, h4 {
    font-family: 'phosphate',sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 2px;
}
/* textstyles */
.small {
    font-size: 10px;
    line-height:1;
}
.big {
    font-family: 'phosphate',sans-serif;
    font-size: 100px;
    letter-spacing: 8px;
    line-height: 1;
}
.orange {
    color:#f7931d;
}
.light-orange {
    color: #fab461;
}
.purple {
    color: #652c90;
}
.light-purple {
    color: #936bb1;
}
.big .light-purple,
.light-purple .big { /* timetable heading */
    color: #dccee6;
}

/** button links **/
a.orange-button,
.orange-button,
a.purple-button,
.purple-button {
    display: inline-block;
    vertical-align: middle;
    text-decoration: none;
    text-align: center;
    padding: 10px 40px;
    margin: 10px;
    transition: background-color 0.4s linear;
    max-width: 100%;
    box-sizing: border-box;
}
.orange-button {
    background-color: #f7931d;
}
.orange-button:hover {
    background-color: #fab461;
}
.purple-button {
    color: #FFF !important;
    background-color: #652c90;
}
.purple-button:hover {
    background-color: #936bb1;
}

/* img styles */
img.display-left {
    float:left;
    max-width: 50% !important;
    margin-right: 4%;
    margin-bottom: 4%;
}
img.display-right {
    float:right;
    max-width: 50% !important;
    margin-left: 4%;
    margin-bottom: 4%;
}

/* block styles */
.clear-float {
    clear:both;
}
.two-col {
    display: inline-block;
    vertical-align: top;
    width: 48%;
    box-sizing: border-box;
}
/** grey block **/
.grey-block {
    position: relative;
    padding: 40px 0;
    padding-bottom: 80px;
    margin-top: 40px;
    margin-bottom: -60px; /* cover page-content padding */
}
.grey-block,
.grey-block:before,
.grey-block:after {
    background-color: #dad8de;
}
.grey-block:before,
.grey-block:after {
    content:"";
    position: absolute;
    top:0;
    bottom:0;
    width: 100%;
    height: 100%;
}
.grey-block:before {
    right: 100%;
}
.grey-block:after {
    left:100%;
}

/** Timetable **/
table.timetable {
    table-layout: fixed !important;
    border-collapse: collapse;
    border: none !important;
}
.timetable thead {
    font-family: 'phosphate',sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 40px;
}
.timetable thead th::first-letter {
    font-size: 80px;
    line-height: 1;
}
.timetable th {
    color: #652c90;
    border: none;
    transition: color 0.2s ease-in-out;
}
.timetable tbody th {
    padding-right: 10px;
}

.timetable td {
    width: 14.3%;
    height: 20px;
    text-align: center;
    color: #FFF;
    font-size: 14px;
    line-height: 1;
    padding: 10px;
    background-color: #bdbdbd;
    border-right: 2px solid #FFF !important;
    border-bottom: 1px solid #FFF !important;
    transition: background-color 0.2s ease-in-out;
}
.timetable td:last-child {
    border-right: none;
}
/** highlights **/
.timetable th,
.timetable td {
    cursor: pointer;
}
.timetable tr.active td,
.timetable td.active,
.timetable tr.hover td,
.timetable td.hover {
    background-color: #f7931d;
}
.timetable tr.active th,
.timetable th.active,
.timetable tr.hover th,
.timetable tr.hover {
    color: #f7931d;
}

/** member deal table **/
.member-deal {
    display: inline-block;
    vertical-align: top;
    text-align: center;
    font-weight: 600;
    letter-spacing: 1px;
    width: 300px;
    min-height: 420px;
    box-sizing: border-box;
    background-color: #FFF;
    border: 2px solid #000;
    margin-right: 2%;
}
.member-deal p:first-of-type {
    font-family: 'phosphate',sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    font-size: 40px;
    line-height: 0.8;
    background-color: #f7931d;
    padding: 20px;
    border-bottom: 2px solid #000;
    margin: -2px;
    margin-bottom: 0;
}
div.member-deal:nth-of-type(even) p:first-of-type {
    color: #FFF !important;
    background-color: #652c90;
}
.member-deal .orange-button,
.member-deal .purple-button {
    text-transform: uppercase;
    text-decoration: none;
    width: 80%;
    padding: 20px;
    box-sizing: border-box;
    margin: 0 auto;
}

@media only screen and (max-width: 1000px){
    .grey-block {
        padding: 20px 0;
        padding-bottom: 40px;
        margin-top: 20px;
        margin-bottom: -40px;
    }
    .big {
        font-size: 60px;
        line-height: 1;
    }
    .timetable thead th::first-letter {
        font-size: 50px;
    }
    .timetable thead {
        font-size: 20px;
    }
}

@media only screen and (max-width: 760px){
    .two-col {
        width: 100%;
        margin: 20px 0;
    }
    .grey-block {
        text-align: center;
    }
    .member-deal {
        width: 40%;
        margin: 1%;
    }
    .member-deal p:first-of-type {
        padding: 20px 4%;
    }
    img.display-left,
    img.display-right {
        float: none;
        max-width: 100% !important;
        margin: 20px 0;
    }
    .timetable td,
    .timetable th {
        box-sizing: border-box;
        white-space: nowrap;
    }
}

@media only screen and (max-width: 650px){
    .member-deal {
        width: 100%;
        min-height: 0;
        margin: 20px 0;
    }
}
