html {
    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

body {
    font: 14px/1.5 Arial, Helvetica, Tahoma, Verdana, sans-serif;
    color: #333;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

.cf:after {
    content: "";
    display: table;
    clear: both;
}

abbr[title] {
    border: none;
    cursor: help;
    font-weight: bold;
}

h1 {
    color: #acbf24;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
    margin: 0.5em 0 1em 0;
    font-style: italic;
    padding: 0 2px;
}

h2 {
    color: #666;
    font-weight: normal;
    margin: 0 0 .5em 0;
}

h2.noMargin {
    padding: 1em 0 .5em 0;
    background: rgba(255, 255, 255, 0.5);
}

h2 a {
    color: #333;
    text-decoration: none;
}

h3 {
    font-size: 16px;
    margin: 0;
    color: #92a12b;
}

.green {
    color: #92a12b;
}

.red {
    color: #a13f2b;
}

.right {
    text-align: right;
}

.fa {
    font-size: 20px;
}

.help {
    cursor: help;
}

.noMargin {
    margin: 0;
}

.qtip {
    font-size: 12px;
    line-height: 1.3;
}

input[type='text'],
input[type='password'],
textarea {
    border: solid 1px #7f7f7f;
    color: #92a12b;
    background: #fff;
    padding: 5px;
    border-radius: 3px;
}

input[type='text']:focus,
input[type='password']:focus,
textarea:focus {
    border-color: #92a12b;
}

textarea {
    min-height: 100px;
}

button[type='submit'],
button[type='button'],
button[type='reset'],
a.button {
    background: #acbf24;
    border: solid 1px #92a12b;
    border-radius: 3px;
    padding: 5px 5px 4px 5px;
}

button[type='reset'],
button.red,
a.button.red {
    background: #d4573d;
    border-color: #a13f2b;
    color: #333;
}

a.button {
    text-decoration: none;
}

button[type='submit'].fa-button {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    display: inline;
}

button[type='button'].fa-button {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    display: inline;
}

.error label {
    color: #a13f2b;
}

.error input[type='text'],
.error input[type='password'] {
    color: #a13f2b;
    border-color: #a13f2b;
}

a {
    color: #92a12b;
}

fieldset {
    margin: 0 0 2em 0;
    padding: 10px;
    border-radius: 3px;
    background: #e8e8e8;
}

fieldset p:first-of-type {
    margin-top: 0;
}

fieldset p:last-of-type {
    margin-bottom: 0;
}

legend {
    font-size: 15px;
    color: #92a12b;
}

label {
    display: inline-block;
    margin-right: 15px;
}

label:last-of-type {
    margin-right: 0;
}

span.radioGroup {
    display: inline-block;
    padding: 5px;
    border: solid 1px #ccc;
    margin-right: 15px;
    border-radius: 5px;
}

fieldset input[type='text'],
fieldset input[type='password'],
fieldset select {
    display: inline-block;
    width: 219px;
}

main {
    width: 760px;
    margin: 0 auto;
}

pre {
    height: 200px;
    overflow: auto;
    background: #f5f5f5;
    margin: 0 0 20px 0;
}

div.tournament {
    background: #e8e8e8;
    border-radius: 5px;
    margin-bottom: 15px;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
}

div.tournament div.infocourse {
    background: #fff;
    flex: 0 0 620px;
    height: auto;
    border: solid 1px #ccc;
    border-radius: 5px;
    margin: 10px;
    text-align: center;
    box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.3);
}

div.tournament div.infocourse span.coursename {
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    display: block;
    padding: 3px;
    background: #acbf24;
    color: #fff;
    font-size: 14px;
    flex: 0 0 100%;
    height: 23px;
    font-weight: bold;
}

div.tournament div.infocourse span.coursedetail {
    display: block;
    max-height: 15px;
    flex: 0 0 auto;
    vertical-align: text-top;
    text-align: left;
    margin: 0 0 0 10px;
}

div.tournament div.infocourse span.coursedetailright {
    display: block;
    max-height: 15px;
    flex: 0 0 auto;
    vertical-align: text-top;
    text-align: left;
    margin: 0 0 0 30px;
}

div.tournament div.date {
    background: #fff;
    flex: 0 0 100px;
    height: 100px;
    border: solid 1px #ccc;
    border-radius: 5px;
    margin: 10px;
    text-align: center;
    box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.3);
}

div.tournament div.logo img {
    display: inline-block;
    max-width: 100%;
    max-height: 100%;
}

div.tournament div.date span.monthYear {
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    display: block;
    padding: 3px;
    background: #acbf24;
    color: #fff;
    font-size: 12px;
}

div.tournament div.date span.day {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    line-height: 1;
    color: #acbf24;
    font-size: 28px;
    margin: 5px 0;
    font-weight: bold;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4);
}

div.tournament div.date span.dayName {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    line-height: 1;
}

div.tournament div.date span.time {
    color: #8e8e8e;
    display: inline-block;
    vertical-align: top;
    margin-top: -4px;
    width: 100%;
    line-height: 1;
    font-size: 12px;
}

div.tournament div.info {
    flex: 0 0 630px;
    margin: 10px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: space-between;
}

div.tournament.sponsor div.info {
    flex: 0 0 520px;
}

div.tournament div.info span.name {
    font-size: 18px;
    flex: 0 0 100%;
}

div.tournament div.info span.detail {
    display: block;
    max-height: 15px;
    flex: 0 0 auto;
}

span.details {
    font-size: 12px;
}

div.tournament div.logo {
    background: #fff;
    flex: 0 0 100px;
    height: 100px;
    border-radius: 5px;
    padding: 5px;
    margin: 10px;
    text-align: center;
    display: flex;
    align-items: center;
}

div.tournament div.links {
    background: #acbf24;
    color: #fff;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    flex: 0 0 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    height: 25px;
}

div.tournament div.linksReserved {
    background: #ff7f27;
    color: #fff;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    flex: 0 0 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    height: 25px;
}

div.tournament div.linksMaximum {
    background: #a13f2b;
    color: #fff;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    flex: 0 0 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    height: 25px;
}

div.tournament div.links a {
    color: #fff;
    text-decoration: none;
}

div.tournament div.links span {
    text-decoration: line-through;
    color: #cbdb5c;
}

main div.block.tournament.notReserved {
    cursor: pointer
}

main div.block.tournament.Reserved {
    cursor: pointer;
}


main div.reserveTournamentSlotForm, main div.cancelTournamentSlotForm {
    display: none;
}

div.reserveTournamentSlotForm p.tournamentDesc {
    font-weight: 700
}

div.reserveTournamentSlotForm textarea {
    min-height: 100px;
    min-width: 300px
}

div.cancelTournamentSlotForm p.tournamentDesc {
    font-weight: 700
}

div.cancelTournamentSlotForm textarea {
    min-height: 100px;
    min-width: 300px
}

.modal {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    z-index: 2;
    max-width: 500px;
    box-sizing: border-box;
    width: 30%;
    background: #fff;
    padding: 15px 30px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -o-border-radius: 8px;
    -ms-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 0 0 10px #000;
    -moz-box-shadow: 0 0 10px #000;
    -o-box-shadow: 0 0 10px #000;
    -ms-box-shadow: 0 0 10px #000;
    box-shadow: 0 0 10px #000;
    text-align: left
}

    .modal a.close-modal {
        position: absolute;
        top: -12.5px;
        right: -12.5px;
        display: block;
        width: 30px;
        height: 30px;
        text-indent: -9999px;
        background: url(data:image/png;base64,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) no-repeat 0 0
    }
.modal {
    font-size: 12px;
    max-width: none
}

    .modal h2 {
        font-weight: 400;
        font-size: 16px;
        margin: 0 0 5px 0
    }

div.loader {
    display: none;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    background: rgba(0,0,0,.85);
    z-index: 9999;
    color: #fff
}

    div.loader i {
        position: fixed;
        top: 50%;
        left: 50%;
        margin-left: -40px;
        margin-top: -40px
    }

@media print {
    h2:first-of-type,
    form *,
    div.links,
    div.print {
        display: none !important;
    }

    div.tournament {
        border-bottom: solid 5px #e8e8e8;
    }
}

.blocker {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    z-index: 999;
    padding: 20px;
    box-sizing: border-box;
    background-color: #000;
    background-color: rgba(0,0,0,.75);
    text-align: center
}

    .blocker:before {
        content: "";
        display: inline-block;
        height: 100%;
        vertical-align: middle;
        margin-right: -.05em
    }

    .blocker.behind {
        background-color: transparent
    }
div.wrap {
    width: 800px;
    margin: 0 auto;
    position: relative;
}

div.logo {
    text-align: center;
    background: #acbf24;
    padding: 5px 10px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    position: absolute;
    top: 0;
    left: 0;
}

header {
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
    position: relative;
    z-index: 1;
    min-height: 45px;
    background: #acbf24;
    padding: 10px;
}

div.login {
    background: #e8e8e8;
    padding: 5px;
    text-align: right;
    min-height: 50px;
}
    div.login span.fa {
        display: inline-block;
        margin: 20px 0 0 5px;
        vertical-align: bottom;
        font-size: 32px;
        line-height: 32px;
    }

    div.login p {
        margin: 0;
    }

    div.login label {
        font-size: 12px;
    }

    div.login button {
        margin-top: 1px;
    }

div.username,
div.pass,
div.button {
    display: inline-block;
}

    div.username img {
        display: block;
        margin-bottom: -11px;
    }

div.username,
div.pass {
    margin-right: 10px;
}

div.memberHelp,
div.guestHelp {
    display: none;
}

@media only screen and (min-width: 1200px) {

        main div.leftCol,
        main div.rightCol {
            width: 50%;
            float: left;
        }

        main div.leftCol {
            padding-right: 3rem;
        }

        main div.rightCol {
            padding-left: 3rem;
        }
}
div.remodal-bg > footer div.leftCol,
div.remodal-bg > footer div.centerCol,
div.remodal-bg > footer div.rightCol,
body > footer div.leftCol,
body > footer div.centerCol,
body > footer div.rightCol {
    max-width: 470px;
    margin: 0 0 2rem 0;
}

@media only screen and (min-width: 820px) {
    div.remodal-bg > footer div.leftCol,
    div.remodal-bg > footer div.centerCol,
    div.remodal-bg > footer div.rightCol,
    body > footer div.leftCol,
    body > footer div.centerCol,
    body > footer div.rightCol {
        max-width: none;
        width: 30%;
        float: left;
    }

    div.remodal-bg > footer div.leftCol,
    body > footer div.leftCol {
        margin-right: 2.5%;
    }

    div.remodal-bg > footer div.centerCol,
    body > footer div.centerCol {
        margin-right: 2.5%;
        margin-left: 2.5%;
    }

    div.remodal-bg > footer div.rightCol,
    body > footer div.rightCol {
        margin-left: 2.5%;
    }
}
