/* McDonald's Monopoly Game - Frontend Styles */
/* Extracted and combined from frontend team's designs */

/* Font Face Declarations */
@font-face {
    font-family: 'speedee-bold-webfont';
    src: url('/assets/fonts/speedee-bold-webfont.woff2') format('woff2'),
         url('/assets/fonts/speedee-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'speedee-regular-webfont';
    src: url('/assets/fonts/speedee-regular-webfont.woff2') format('woff2'),
         url('/assets/fonts/speedee-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'speedee_condensedbold';
    src: url('/assets/fonts/speedeecondensed-bold-webfont.woff2') format('woff2'),
         url('/assets/fonts/speedeecondensed-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
*{
   outline: none; 
}
*:focus-visible{
   outline: 2px solid #000; 
}
/* Base Styles */
body {
    background-color: #EA2796;
    color: #000000;
    font-family: 'speedee-regular-webfont';
    margin: 0;
    padding: 0;
}
strong, b {
    font-weight: bold;
}

/* Layout Wrappers */
.mainwrapper {
    width: 90%;
    margin: auto;
    max-width: 720px;
}
.getstarted_innerwrapper{
    width: 90%;
    margin: auto;
    max-width: 640px;
}
.verifyemail_innerwrapper {
    width: 90%;
    margin: auto;
    max-width: 430px;
}
.entryform_innerwrapper {
    width: 90%;
    margin: auto;
    max-width: 530px;
}

/* Header Styles */
header {
    margin: 30px auto 0;
    text-align: center;
}

header img {
    max-width: 100%;
}
/* Coming soon page specific styles */
.comingsoon_innerwrapper{
    max-width: 500px;
    margin: auto;
    width: 90%;
    text-align: center;
}

/* Progrm End page specific styles */
.amoeend_innerwrapper{
    max-width: 620px;
    margin: auto;
    width: 90%;
    text-align: center;
}
.amoeend_innerwrapper a{
    color:#000;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.amoeend_innerwrapper h1 sup{
    vertical-align: text-top;
}
.comingsoon_innerwrapper h1, .amoeend_innerwrapper h1{
    margin: 0 auto 1rem;
}


/* getstarted page specific styles */
.home_header{
    display: flex;
    align-items: baseline;
}
.home_header img{
    height:auto
}
.header_mcdlogo_pos{
    margin-left:-50px;
}
@media (max-width: 540px) {
    .header_mcdlogo_pos{
        margin-left:-25px;
    }
}
.getstarted_formwrapper{
    max-width:430px;
    margin:auto;
}
.getstarted_sec{
    background-color: #FFBC0D;
    padding: 16px;
    box-sizing: border-box;
    text-align: center;
    margin-bottom: 18px;
}
#recaptcha-container{
    display: flex;
    justify-content: center;
}
.label_pos{display: flex;}

/* Typography */
h1 {
    text-align: center;
    font-size: 50px;
    font-style: normal;
    line-height: 48px;
    letter-spacing: -1px;
    padding: 16px 0 0;
    font-family: 'speedee_condensedbold';
    font-weight: normal;
    margin: 0 auto 2rem;
}
.getstarted_innerwrapper h1{
    max-width: 100%;
}
.getstarted_innerwrapper h1 sup{
    vertical-align: text-top;
}

/* Section Headlines */
.sec_headline {
    font-family: 'speedee_condensedbold';
    background-color: #FFBC0D;
    width: 100%;
    padding: 16px;
    font-size: 28px;
    font-style: normal;
    line-height: 26px;
    letter-spacing: -0.56px;
    text-align: center;
    margin: 0 0 22px;
    box-sizing: border-box;
    display: inline-block;
}

/* Help Text */
.helptext {
    text-align: center;
    font-size: 16px;
    font-style: normal;
    line-height: 20px;
    letter-spacing: -0.16px;
    margin: 12px 0px 16px;
}

.helptext a, .helptext a:hover {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.helptext_small{
    font-size: 14px;
    line-height: 16px;
    margin: 12px 0px;
}

/* Form Styles */
.formfld {
    margin-bottom: 18px;
}

.formlabel {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 12px;
    letter-spacing: -0.14px;
    background-color: #FFF;
    padding: 5px 16px;
    box-sizing: border-box;
    display: block;
}

.forminput {
    font-size: 16px;
    font-style: normal;
    line-height: 22px;
    letter-spacing: -0.32px;
}

.forminput input[type=text], 
.forminput input[type=email] {
    padding: 6px 16px;
    box-sizing: border-box;
    border: 0px;
    width: 100%;
    font-size: 16px;
    font-family: inherit;
    border-radius: 0px;
}

.forminput input[type=checkbox] {
    margin-right: 8px;
}

.forminput label {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: -0.32px;
}

.forminput a, .forminput a:hover {
    color: #000000;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Custom checkbox styles */
.custom-input {
    -webkit-appearance: none; 
    appearance: none;   
}
.custom-input::before {
    display: block;
    content: "";
    width: 14px;
    height: 14px;
    box-shadow: inset 14px 14px #333;
}
input[type="checkbox"].custom-input::before {
    transform-origin: bottom left;
    clip-path: polygon(14% 45%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 40% 68%);
    transform: scale(0);
}
input[type="checkbox"].custom-input:checked::before{
    transform: scale(1);
}

input[type="checkbox"] {
    transform: translateY(1px);
    width: 18px;
    height: 18px;
    background-color:#FFF;
    padding: 2px;
}

/* Verification Code Specific */
.forminput.verification_code input[type=text] {
    padding: 16px;
    box-sizing: border-box;
    border: 0px;
    width: 100%;
    text-align: center;
    font-size: 24px;
    letter-spacing: 8px;
}
::placeholder {
    color: #000;
}

/* Form Layout - Entry Form */
.formfld_short {
    width: 49%;
    float: left;
}

.formfld_mar {
    margin-right: 2%;
}

.formfld_shorter {
    width: 32%;
    float: left;
}

.formfld_pos {
    margin-bottom: 18px;
}
select{
    width: 100%;
    max-width: 100%;
    padding: 18px 16px;
    border: 0px;
    width: 100%;
    position: relative;
    margin-top: 0px;
    -webkit-appearance: none !important;
    /* background: url(https://d3phf884y8ec63.cloudfront.net/img/monopoly/chevron.png) no-repeat; */
    background-position: 100% center;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    line-height: 1.1em;
    background-color: #FFF;
    color:#000;
    font-size: 16px;
}
.formerrors_cnt{
    background-color: #DB0007;
    border: 2px solid #FFF;
    padding: 10px;
    margin:10px 0px;
    font-weight: 500;
    display:none;
}
.formerrors_headline{
    color:#FFF;
}
.formerrors_list{
    margin:5px 0px;
    padding:0px 15px;
}
.formerrors_list li{
    list-style: none;
    color:#FFF;
}


/* Button Styles */
.btn {
    text-align: center;
    margin: auto;
    box-sizing: border-box;
}

.btn a, .btn a:hover,
.btn button, .btn input[type=submit] {
    display: inline-block;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border: 2px solid #000;
    background: #FFB700;
    box-shadow: 2px 3px 0 0 #000;
    margin: 24px auto 0;
    font-family: 'speedee_condensedbold';
    font-size: 28px;
    font-style: normal;
    line-height: 26px;
    letter-spacing: -0.56px;
    text-align: center;
    color: #000;
    text-decoration: none;
    padding: 10px 30px;
    cursor: pointer;
    max-width: 320px;
}

.btn button:hover, .btn input[type=submit]:hover {
    background: #FFD700;
}
 button:disabled, button[disabled]{
    opacity: 0.5;
    cursor: not-allowed;
}
.btn a.whitebtn, .btn a.whitebtn:hover{
     display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border: 2px solid #000;
    background: #FFF;
    box-shadow: 2px 3px 0 0 #000;
    margin: 24px auto 0;
    font-family: 'speedee_condensedbold';
    font-size: 28px;
    font-style: normal;
    line-height: 26px;
    letter-spacing: -0.56px;
    text-align: center;
    color: #000;
    text-decoration: none;
    padding: 10px 20px;
    cursor: pointer;
    max-width: 320px;
}
a.btn_tryagain, a.whitebtn{
    min-width:180px;
}
#continue_btn.btn{
    padding-bottom: 15px;
}

/* Warning Section */
.warning_icon{width:37px;height:46px;margin:auto}
.warning_sec {
    background-color: #DB0007;
    border: 3px solid #FFF;
    padding: 10px;
    box-sizing: border-box;
    text-align: center;
    margin:18px 0;
    display: block;
}

.warning_headline {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    font-size: 16px;
    line-height: 18px;
    letter-spacing: -0.32px;
    font-family: 'speedee-bold-webfont';
}

.warning_headline img {
    margin-right: 10px;
    margin-top: -4px;
}
.warning_subheadline{
    color:#FFF;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: -0.32px;
    padding-top:5px;
}

/* Verify Email Specific Styles */
.verifyemail_sec {
    background-color: #FFBC0D;
    padding: 16px;
    box-sizing: border-box;
    text-align: center;
}

.verifyemail_headline {
    font-family: 'speedee_condensedbold';
    font-size: 28px;
    text-align: center;
    font-style: normal;
    line-height: 26px;
    letter-spacing: -0.56px;
    padding: 12px 0;
    margin: 0;
}

.verifyemail_copy {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -0.16px;
    text-align: center;
}
.verifyemail_copy span{
    font-size: 16px;
}
.verifyemail_copy strong{
    font-weight:700;
}
.securitydisc_copy{
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 14px;
    letter-spacing: -0.16px;
    text-align: left;
}
/*
.verifiedemail {
    font-weight: bold;
     color: #DB0007; 
}
     */
.verification_code #otp {
    font-size: 16px;
    letter-spacing: normal;
}
.securitydisc_sec {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFFFFF;
    padding: 16px;
    box-sizing: border-box;
    margin-bottom: 15px;
    opacity:0.75
}

.securitydisc_icon {
    margin-right: 15px;
}

.expiry_time {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    color: #DB0007;
}

.expiry_time img {
    margin-right: 5px;
}

/* Daily limit exhausted page styles */
.success_innerwrapper{
        width:90%;
        margin:auto;
        max-width: 523px;
}
.success_sec{
        background-color: #FFBC0D;
        padding:16px;
        box-sizing: border-box;
        text-align: center;
}
.success_headline{
        font-family: 'speedee_condensedbold';
        font-size: 28px;
        text-align:center;
        font-style: normal;
        line-height: 26px;
        letter-spacing: -0.56px;
        padding:12px 0;
        margin: 0;
}
.success_copy{
        font-size: 16px;
        font-style: normal;
        line-height: 24px;
        letter-spacing: -0.16px;
        text-align: center;
}
.expired_icon{
    width:37px;
    height:37px;
    margin: auto;
}
.nextavailable_sec{
        background-color: #F69ED0;
        padding:16px 5px;
        text-align: center;
        width:100%;
        box-sizing: border-box;
        margin:16px 0;
}
.todaysentries_sec{
        text-align: center;
}
.todaysentries_headline{
        font-family: 'speedee_condensedbold';
        font-size: 22px;
        line-height: 20px;
        letter-spacing: -0.44px;
}
.todaysentries_list ul li{
        list-style: none;
        margin-bottom:5px;
}
.todaysentries_list ul li img{
        margin-right:5px;
        vertical-align: middle;
}
.nextavailable_headline{
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 16px;
        line-height: 18px;
        letter-spacing: -0.32px;
        font-family: 'speedee-bold-webfont';
}
.nextavailable_headline h3{
        font-size: 16px !important;
        line-height: 18px !important;
        padding-top:3px;
        margin:0;
}   
.nextavailable_headline img{
        margin-right:5px;
}
.nextavailable_copy{
        font-size: 16px;
        line-height: 22px;
        letter-spacing: -0.32px;
        padding-top:5px;
}
.btn a.btnwdauto, .btn a.btnwdauto:hover{
        max-width: 120px;
}
.linkexpiry_text{
    background-color: #FFF;
    padding:16px 5px;
    text-align: center;
    width:100%;
    box-sizing: border-box;
    line-height: 22px;
    letter-spacing: -0.32px;
    margin-top:20px;
    opacity:0.8;
}
.verificationfailed_icon{
    width:37px;
    height:36px;
    margin:auto
}
/*
.attempts_remaining{
    padding: 0px 3px;
}
*/
.warning_headline h3{
  margin:0;
  font-size: 16px;  
  line-height: 18px;
}
.signal_icon{
    width: 59px;
    height: 36px;
    margin:auto;
}

/* Entry Form Specific Styles */
.entryform_sec {
    background-color: #FFBC0D;
    padding: 16px;
    box-sizing: border-box;
    text-align: center;
}

.entryform_headline {
    font-family: 'speedee_condensedbold';
    font-size: 28px;
    text-align: center;
    font-style: normal;
    line-height: 26px;
    letter-spacing: -0.56px;
    padding: 12px 0;
}

.entryform_copy {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -0.16px;
    text-align: center;
}

.current_subcount, .leftover_subcount {
    font-weight: bold;
    /* color: #DB0007; */
}

.addverification_block {
    clear: both;
    margin-top: 20px;
}

.addverification_sec {
    background-color: #FFBC0D;
    padding: 16px;
    box-sizing: border-box;
    text-align: center;
    display: inline-block;
    width: 100%;
}

.addverification_headline {
    font-family: 'speedee_condensedbold';
    font-size: 28px;
    font-style: normal;
    line-height: 26px;
    letter-spacing: -0.56px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 10px;
}

.addverification_headline span img {
    margin-right: 10px;
}

.addverification_copy {
    font-size: 16px;
    font-style: normal;
    line-height: 20px;
    letter-spacing: -0.16px;
}

/* Footer Styles */
footer {
    width: 96%;
    max-width: 752px;
    margin:20px auto 0;
}

footer hr {
    margin: 24px 0;
    border: 1px solid #000;
    width: 100%;
    display: inline-block;
}

.footer_headline {
    font-size: 24px;
    font-style: normal;
    font-family: 'speedee-bold-webfont';
    line-height: 28px;
    letter-spacing: -1.2px;
    padding-bottom: 8px;
}

.footer_links {
    width: 90%;
    max-width: 360px;
}

.footer_links a, .footer_links a:hover {
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
    letter-spacing: -0.14px;
    text-decoration: underline;
    color: #000;
    width: 50%;
    max-width: 160px;
    margin: 0 10px 15px 0;
    float: left;
    text-underline-offset: 3px;
}
.longlnk {
    clear: both;
    width: 100% !important;
    max-width: 100% !important;
}
.footer_disclaimer {
    font-size: 12px;
    font-style: normal;
    line-height: 14px;
    letter-spacing: -0.24px;
    margin-bottom: 20px;
}
.footer_disclaimer a, .footer_disclaimer a:hover {
    color: #000;
    text-decoration: underline;
}
footer nav{clear:both;}
footer nav h2 {
    font-size: 24px;
    font-style: normal;
    font-family: 'speedee-bold-webfont';
    line-height: 28px;
    letter-spacing: -1.2px;
    padding-bottom: 3px;
    margin: 0;
}

footer nav ul {
    width: 100%;
    padding: 0;
    margin: 0;
    max-width: 360px;
}
footer nav ul li{
    list-style-type: none;
    width: 50%;
    float: left;
    word-break: break-all;
}

footer nav a, footer nav a:hover {
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
    letter-spacing: -0.14px;
    text-decoration: underline;
    color: #000;
    width: 100%;
    max-width: 160px;
    margin: 0 10px 10px 0;
    text-underline-offset: 3px;
    display: inline-block;
}
/* Error and Success Messages */
.alert {
    padding: 16px;
    margin-bottom: 20px;
    border: 2px solid;
    border-radius: 0;
    font-family: 'speedee-bold-webfont';
}

.alert-danger {
    background-color: #DB0007;
    color: #FFF;
    border-color: #FFF;
}

.alert-success {
    background-color: #28a745;
    color: #FFF;
    border-color: #FFF;
}

.alert ul {
    margin: 0;
    padding-left: 20px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .formfld_short, .formfld_shorter {
        width: 100%;
        float: none;
        margin-right: 0;
    }
    
    h1 {
        font-size: 40px;
        line-height: 38px;
    }
    
    .sec_headline {
        font-size: 24px;
        line-height: 22px;
    }
    
    .btn a, .btn button, .btn input[type=submit] {
        font-size: 24px;
        line-height: 22px;
    }
}

/* Clear fix for floated elements */
.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* reCAPTCHA styling */
.g-recaptcha {
    margin: 16px 0;
    display: flex;
    justify-content: center;
}

/* Success Page Specific Styles */
.success_innerwrapper {
    width: 90%;
    margin: auto;
    max-width: 523px;
}

.success_sec {
    background-color: #FFBC0D;
    padding: 16px;
    box-sizing: border-box;
    text-align: center;
}

.success_headline {
    font-family: 'speedee_condensedbold';
    font-size: 28px;
    text-align: center;
    font-style: normal;
    line-height: 26px;
    letter-spacing: -0.56px;
    padding: 12px 0;
}

.success_copy {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -0.16px;
    text-align: center;
}

.gamecodeblock {
    padding: 0 0 20px;
}

.gamecode_labels {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gamecode_headline {
    font-family: 'speedee-bold-webfont';
}

.gamecode_subheadline {
    font-size: 14px;
}

.gamecodevals {
    margin-top: 5px;
    display: flex;
}

.gamecodes_sec {
    margin-top: 20px;
}

.gamecode_fld {
    background-color: #FFF;
    padding: 16px 0;
    width: 90%;
    margin: 0px auto;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.gamecode_fld input[type=text] {
    padding: 5px;
    box-sizing: border-box;
    width: 100%;
    border: 0;
    margin-right: 10px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Courier New', monospace;
    letter-spacing: 2px;
}
.codeusage_sec{
    padding-top:28px;
    width: 100%;
    max-width: 355px;
    margin: auto;
}
.codeusage_headline {
    font-family: 'speedee_condensedbold';
    font-size: 22px;
    font-style: normal;
    line-height: 20px;
    letter-spacing: -0.44px;
    text-align: center;
    margin-bottom: 10px;
    margin-top:0px;
}

.codeusage_list ol li {
    list-style-type: decimal;
    font-size: 16px;
    font-style: normal;
    line-height: 22px;
    letter-spacing: -0.32px;
}

.success_icon img {
    width: 53px;
    height: 52px;
}