* * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "museo_sans_500regular";
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizelegibility;
    font-smoothing: antialiased;
}

ul,
li {
    margin: 0;
    padding: 0;
}

p,
li {
    font-family: "museo_sans_500regular";
    color: #023957;
    font-size: 17px;
    margin-top: 0;
}

p {
    line-height: 26px;
}

a {
    font-family: "museo_sans_500regular";
    color: #023957;
    text-decoration: none;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}
a:hover,
a:active {
    color: #003a59;
    text-decoration: underline;
    outline: 0;
}

.main-content a {
    color: #00a8d8;
}

img {
    max-width: 100%;
    height: auto;
    border: 0;
}

h1,
h2,
h3,
h4 {
    font-family: "museo_slab500";
    color: #023957;
    margin: 0;
    margin-bottom: 0.6em;
}

h1 {
    font-size: 24px;
}
@media (min-width: 41.175em) {
    h1 {
        font-size: 28px;
    }
}

h2 {
    font-size: 21px;
}
@media (min-width: 41.175em) {
    h2 {
        font-size: 24px;
    }
}

.heading-border {
    border-bottom: 2px dotted #a2dbed;
    padding-bottom: 12px;
}

.button {
    font-family: "museo_slab500";
    display: inline-block;
    cursor: pointer;
    text-align: center;
    border: 0;
    -webkit-border-radius: 8px 8px;
    -moz-border-radius: 8px / 8px;
    border-radius: 8px / 8px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-color: #023957;
    color: white;
}

.button--hero {
    padding: 0.45em 1.3em;
    font-size: 19px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-color: white;
    color: #023957;
    -webkit-box-shadow: 0px 5px 0px 0px #a2dbed;
    -moz-box-shadow: 0px 5px 0px 0px #a2dbed;
    box-shadow: 0px 5px 0px 0px #a2dbed;
}
@media (min-width: 41.175em) {
    .button--hero {
        font-size: 24px;
    }
}
.button--hero:hover {
    background-color: #e5f6fb;
}

.button--standard {
    padding: 0.45em 1.45em;
    font-size: 17px;
}
#play_raffle .button--standard {
    margin-bottom: 10px;
}
@media (min-width: 41.175em) {
    .button--standard {
        font-size: 19px;
    }
}
.button--standard:hover {
    background: #00a8d8;
}

.button--large {
    padding: 0.45em 1.3em;
    font-size: 19px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
@media (min-width: 41.175em) {
    .button--large {
        font-size: 24px;
    }
}
.button--large:hover {
    background: #00a8d8;
}

.inner {
    *zoom: 1;
    padding-left: 1.875em;
    padding-right: 1.875em;
    margin-left: auto;
    margin-right: auto;
    min-width: 260px;
}
.inner:after {
    content: "";
    display: table;
    clear: both;
}
@media (min-width: 60.825em) {
    .inner {
        max-width: 980px;
    }
}

.header {
    text-align: center;
}
@media (min-width: 41.175em) {
    .header {
        text-align: left;
    }
}
.header .logo {
    margin-top: 20px;
    margin-bottom: 20px;
}
@media (min-width: 41.175em) {
    .header .logo {
        float: left;
    }
}

.header--home {
    text-align: center;
}
.header--home .logo {
    float: none;
}

.menu {
    display: none;
}

.menu-button {
    font-family: "museo_slab500";
    vertical-align: middle;
    text-align: center;
    font-size: 22px;
    background: #023957;
    color: white;
    display: block;
    padding: 12px 0;
    width: 100%;
}
.menu-button:hover,
.menu-button:active {
    color: white;
    text-decoration: none;
}
.menu-button img {
    vertical-align: middle;
    margin-right: 12px;
}
@media (min-width: 41.175em) {
    .menu-button {
        display: none;
    }
}

.nav {
    background: #023957;
    text-align: center;
}
.nav li {
    list-style-type: none;
}
.nav li a {
    color: white;
    padding: 15px;
    display: block;
    border-top: 1px dotted rgba(255, 255, 255, 0.2);
    line-height: 1em;
}
.nav li a:hover,
.nav li a:active {
    text-decoration: none;
    background: #00a8d8;
}
@media (min-width: 41.175em) {
    .nav {
        height: 48px;
        width: 100%;
        display: block;
    }
    .nav ul {
        display: inline-table;
        margin: 0;
        padding: 0;
    }
    .nav li {
        float: left;
    }
    .nav li a {
        font-family: "museo_slab500";
        color: white;
        padding: 16px 18px;
        font-size: 16px;
        border-right: 1px solid rgba(255, 255, 255, 0.2);
        border-top: 0;
    }
    .nav li a.active {
        background-image: url("../img/nav-active.png");
        background-repeat: no-repeat;
        background-position: bottom center;
    }
    .nav li:last-child a {
        border-right: 0;
    }
}
@media (min-width: 41.175em) and (min-width: 60.825em) {
    .nav li a {
        padding: 15px 30px;
        font-size: 18px;
    }
}

.hero {
    background: url("../img/bg.gif") bottom repeat-x #00a8d8;
    text-align: center;
    padding-top: 40px;
    border-top: 3px solid white;
    padding-bottom: 3.75em;
}
@media (min-width: 41.175em) {
    .hero {
        padding-bottom: 180px;
    }
}
.hero .hero__header {
    font-family: "museo_sans_500regular";
    color: white;
    font-size: 26px;
    line-height: 35px;
    font-weight: normal;
    margin-bottom: 24px;
}
@media (min-width: 41.175em) {
    .hero .hero__header {
        font-size: 33px;
        line-height: 42px;
    }
}

.main-content {
    padding-top: 1.875em;
}
@media (min-width: 41.175em) {
    .main-content {
        background: white;
    }
}

@media (min-width: 41.175em) {
    .main-content--home {
        margin-top: -140px;
    }
}
@media (min-width: 60.825em) {
    .main-content--home {
        -webkit-border-radius: 18px 18px;
        -moz-border-radius: 18px / 18px;
        border-radius: 18px / 18px;
    }
}

.main-content__column {
    margin-bottom: 1.875em;
}

.main-content__column ul li {
    font-family: "museo_sans_500regular";
    margin-left: 20px;
    line-height: 26px;
    margin-bottom: 10px;
}

@media (min-width: 41.175em) {
    .main-content__column {
        width: 47.49499%;
        float: left;
        margin-right: 5.01002%;
    }
    .main-content__column.last-column {
        margin-right: 0;
    }
}

.main-content__column--play {
    width: 100%;
    float: left;
    margin-right: 10.54852%;
    display: inline;
    margin-bottom: 0;
}
@media (min-width: 41.175em) {
    .main-content__column--play {
        width: 82.49833%;
        float: left;
        margin-right: 5.01002%;
        max-width: 560px;
    }
}
@media (min-width: 60.825em) {
    .main-content__column--play {
        width: 59.83355%;
        float: left;
        margin-right: 3.28515%;
    }
}

.main-content__column--wide {
    width: 100%;
    float: left;
    margin-right: 10.54852%;
    display: inline;
    margin-bottom: 0;
}
@media (min-width: 41.175em) {
    .main-content__column--wide {
        width: 82.49833%;
        float: left;
        margin-right: 5.01002%;
        /*max-width: 560px;*/
    }
}
@media (min-width: 60.825em) {
    .main-content__column--wide {
        width: 82.49833%;
        float: left;
        margin-right: 3.28515%;
    }
}

.main-content__column--wide li {
    font-family: "museo_sans_500regular";
    margin-left: 20px;
    line-height: 26px;
}

.main-content__column--wide a {
    color: #00a8d8;
    text-decoration: underline;
}

.charity-panel {
    text-align: center;
    border-bottom: 2px dotted #023957;
    padding-bottom: 1.875em;
    padding-top: 6px;
}
.charity-panel p {
    font-size: 19px;
}
.charity-panel a {
    display: block;
}
.charity-panel img {
    max-width: 150px;
}
@media (min-width: 41.175em) {
    .charity-panel {
        width: 100%;
        float: left;
        margin-right: 5.01002%;
        margin: 0;
    }
}
@media (min-width: 60.825em) {
    .charity-panel {
        width: 48.35742%;
        float: left;
        margin-right: 3.28515%;
        margin: 0;
        height: 236px;
        overflow: hidden;
    }
    .charity-panel.border-right {
        border-right: 2px dotted #023957;
    }
    .charity-panel.no-border-bottom {
        border-bottom: 0;
        padding-top: 15px;
    }
}

.payment {
    margin-top: 1.875em;
    padding-top: 0.9375em;
    border-top: 2px dotted gainsboro;
}
.payment.payment--home {
    border-top: 2px dotted #a2dbed;
}
.payment img {
    vertical-align: middle;
    margin-left: 12px;
}
@media (min-width: 41.175em) {
    .payment .accept {
        width: 47.49499%;
        float: left;
        margin-right: 5.01002%;
    }
}
@media (min-width: 60.825em) {
    .payment .accept {
        width: 48.35742%;
        float: left;
        margin-right: 3.28515%;
    }
}

.logos {
    padding-top: 0.9375em;
}

.logo-right {
    text-align: left;
    padding-bottom: 10px;
}

@media (min-width: 41.175em) {
    .logos .logo-left {
        width: 47.49499%;
        float: left;
        margin-right: 5.01002%;
    }

    .logo-right {
        text-align: right;
        padding-bottom: 10px;
    }
}
@media (min-width: 60.825em) {
    .logos .logo-left {
        width: 48.35742%;
        float: left;
        margin-right: 3.28515%;
    }
}

@media (min-width: 60.825em) {
    div.secure p {float: right;}
}

@media (min-width: 41.175em) {
    div.secure p {float: right;}
}



.footer {
    background: #023957;
    padding: 1.875em 0;
    text-align: center;
}
.footer p {
    color: white;
    font-size: 14px;
}
.footer li {
    float: left;
    list-style: none;
    display: block;
    width: 100%;
}
@media (min-width: 41.175em) {
    .footer li {
        width: auto;
    }
}
.footer li a {
    color: white;
    font-size: 12px;
    padding: 12px 8px;
    display: block;
}
@media (min-width: 41.175em) {
    .footer li a {
        border-left: 1px solid white;
        padding: 0 8px;
        display: inline;
    }
}
.footer li:first-child a {
    border-left: 0;
}

/*! CHARITY PAGES STYLES */
.raffleplayer-credit {
    display: none;
}
@media (min-width: 41.175em) {
    .raffleplayer-credit {
        display: block;
        float: right;
        margin-top: 2.8125em;
    }
    .raffleplayer-credit p {
        font-size: 15px;
    }
}

.quick-entry {
    background: #f1f1f1;
    -webkit-border-radius: 12px 12px;
    -moz-border-radius: 12px / 12px;
    border-radius: 12px / 12px;
    padding: 1.875em;
    border: 1px solid gainsboro;
    margin-bottom: 1.875em;
    text-align: center;
}
.quick-entry h3,
.quick-entry label,
.quick-entry input {
    margin-bottom: 8px;
    display: inline-block;
}
.quick-entry h3 {
    font-size: 28px;
}
@media (min-width: 41.175em) {
    .quick-entry h3,
    .quick-entry label {
        display: inline;
        margin-right: 12px;
        margin-bottom: 0;
    }
    .quick-entry form {
        display: inline;
    }
}

.prizes-container {
    -webkit-border-radius: 12px 12px;
    -moz-border-radius: 12px / 12px;
    border-radius: 12px / 12px;
    overflow: hidden;
    *zoom: 1;
    border: 1px solid gainsboro;
}
@media (min-width: 41.175em) {
    .prizes-container {
        padding-left: 1.875em;
    }
}

.prizes-container--column {
    text-align: center;
    border-bottom: 2px dotted gainsboro;
    padding-bottom: 1.875em;
    overflow: hidden;
    *zoom: 1;
}
.prizes-container--column h3,
.prizes-container--column p {
    text-align: center;
    padding-right: 0.9375em;
    padding-left: 0.9375em;
}
.prizes-container--column h3 {
    font-size: 28px;
}
.prizes-container--column p {
    font-size: 20px;
}
.prizes-container--column:last-child {
    border-bottom: 0;
}
@media (min-width: 41.175em) {
    .prizes-container--column {
        float: left;
        margin-right: 5%;
        border-right: 2px dotted gainsboro;
        border-bottom: 0;
    }
    .prizes-container--column h3,
    .prizes-container--column p {
        padding-right: 1.875em;
        padding-left: 0;
    }
    .prizes-container--column img {
        margin-left: -1.875em;
    }
    .prizes-container--column:last-child {
        margin-right: 0;
        border-right: 0;
    }
    .prize-width-5 {
        width: 16%;
    }
    .prize-width-4 {
        width: 21%;
    }
    .prize-width-3 {
        width: 29%;
    }
    .prize-width-2 {
        width: 46%;
    }
    .prize-width-1 {
        width: 97%;
    }
}

.prize-button-container {
    text-align: center;
    margin-top: 1.875em;
}
@media (min-width: 41.175em) {
    .prize-button-container {
        margin-top: -26px;
        position: relative;
    }
}

/*CHARITY GENERAL FORM STYLES*/
form label {
    padding-right: 6px;
    font-size: 19px;
}
form input[type="text"],
form select {
    border: 1px solid gainsboro;
    padding: 4px;
    font-size: 16px;
}
form input[type="checkbox"],
form input[type="radio"] {
    border: 1px solid gainsboro;
    padding: 4px;
    margin-right: 6px;
}
form input[type="submit"] {
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
}
form .field-container span {
    display: inline-block;
    margin-top: 6px;
}

.quick-entry input[type="text"],
.quick-entry select {
    width: 100%;
}
@media (min-width: 41.175em) {
    .quick-entry input[type="text"],
    .quick-entry select {
        width: 150px;
    }
}

/*! CHARITY PLAY PAGE STYLES */
.required {
    font-size: 16px;
    *zoom: 1;
}
.required:after {
    content: "";
    display: table;
    clear: both;
}
@media (min-width: 60.825em) {
    .required {
        float: right;
    }
}

.form-panel {
    background: #f1f1f1;
    -webkit-border-radius: 12px 12px;
    -moz-border-radius: 12px / 12px;
    border-radius: 12px / 12px;
    padding: 1em 1.875em;
    border: 1px solid gainsboro;
    margin-bottom: 1em;
}
.field-container {
    float: left;
    width: 100%;
    margin-bottom: 5px;
    /*padding-top: 12px;*/
}

.field-container.boolean-radio-field .main-label {
    margin-left: 10px;
}

.field-container.boolean-radio-field.label-pos-before .communication-check {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
}
.field-container.boolean-radio-field.label-pos-before .communication-check label.main-label {
    margin-left: 0;
}
.field-container.boolean-radio-field.label-pos-before .communication-check label.main-label + input[type=radio] {
    margin-left: auto;
}

.field-container .field-container .communication-check, .field-container.terms-inline .communication-check {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

fieldset.form-panel input[type="text"],
fieldset.form-panel select {
    width: 100%;
}
fieldset.form-panel .dropdown select {
    width: 100%;
    margin-bottom: 5px;
}
@media (min-width: 41.175em) {
    fieldset.form-panel input[type="text"],
    fieldset.form-panel select {
        width: 55%;
    }
    fieldset.form-panel .dropdown {
        overflow: hidden;
    }
    fieldset.form-panel .dropdown select {
        float: left;
        width: auto;
        margin-right: 2%;
        margin-bottom: 0;
    }
}
fieldset.form-panel input.text--postcode {
    width: 100%;
    margin-bottom: 12px;
}
@media (min-width: 41.175em) {
    fieldset.form-panel input.text--postcode {
        width: 50%;
    }
}
@media (min-width: 60.825em) {
    fieldset.form-panel input.text--postcode {
        width: auto;
        max-width: 146px;
        margin-right: 12px;
    }
}
fieldset.form-panel select.select--date {
    width: 100%;
    margin-bottom: 12px;
}
@media (min-width: 41.175em) {
    fieldset.form-panel select.select--date {
        width: 25%;
        margin-bottom: 0;
    }
    fieldset.form-panel select.select--date:last-child {
        margin-left: 12px;
    }
}
fieldset.form-panel .field-container--address {
    overflow: hidden;
    *zoom: 1;
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 2px dotted gainsboro;
}
fieldset.form-panel .button-container {
    text-align: center;
}
fieldset.form-panel .field-title {
    float: left;
    font-size: 17px;
    display: block;
    float: left;
    width: 100%;
    padding-bottom: 6px;
    margin-top: 6px;
}
@media (min-width: 41.175em) {
    fieldset.form-panel .field-title {
        width: 45%;
    }
    fieldset.form-panel .dob .field-title {
        width: 40%;
    }
}
fieldset.form-panel .field-title--postcode {
    width: auto;
    margin-right: 12px;
}
@media (min-width: 41.175em) {
    fieldset.form-panel .field-title--postcode {
        width: 100%;
    }
}
@media (min-width: 60.825em) {
    fieldset.form-panel .field-title--postcode {
        width: auto;
    }
}
fieldset.form-panel .field-total {
    margin-top: 1em;
    margin-bottom: 0;
}
fieldset.form-panel .field-total p {
    font-family: "museo_slab500";
    font-size: 24px;
    margin: 0;
    margin-top: 6px;
    padding-bottom: 6px;
}
fieldset.form-panel label {
    color: #023957;
}

fieldset.form-panel .giftaid-check {
    /*float: left;*/
    display: inline-block;
    font-size: 15px;
    width: 100%;
    margin-bottom: 12px;
    /*margin-top: 12px;*/
}
@media (min-width: 41.175em) {
    fieldset.form-panel .giftaid-check {
        width: auto;
        max-width: 33%;
        margin-right: 20px;
        margin-bottom: 0;
    }
}
fieldset.form-panel .indent-pound {
    margin-left: -14px;
}
fieldset.form-panel .terms {
    clear: both;
    font-size: 15px;
    margin-top: 12px;
}

.hidden {
    display: none;
}

.errors {
    color: #c51230;
}

.main-content__column--play ul.errors {
    margin: 0 0 30px 30px;
    line-height: 26px;
    list-style: none;
}
.main-content__column--play li {
    color: #c51230;
    font-family: "museo_sans_500regular";
}

form .optin-optout {
    font-size: 15px;
}
form .optin-optout span {
    float: right;
    margin: 0;
}

.terms-inline .communication-check > p:first-of-type {
    display: inline;
}

.communication-check {
    margin-bottom: 10px;
}



.main-content__column table {
    max-width: 100% !important; /*Important to override CKEditor inline styles*/
}

.quick-codes-table-div {
    max-with: 100%;
    overflow: auto;
}
.over-sixteen {
    background: #cccccc;
    padding: 10px;
}
.over-sixteen img {
    float: left;
    margin-right: 10px;
}

/**  */

/* Communication Preferences */

.communication-check {
    overflow: hidden;
}

.communication-check input[type="checkbox"],
.communication-check input[type="radio"] {
    vertical-align: top;
    float: left;
}

.communication-check label {
    font-size: inherit;
    float: left;
    display: block;
    max-width: 95%;
}
