/* Control Typekit FOUT */

.wf-loading {
    visibility: hidden;
}

/* Normalize */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: none;
}

/* General Styles */

body {
    font-family: 'futura-pt', sans-serif;
    background-color: white;
    margin: 0;
    padding: 0;
}

/* apply a natural box layout model to all elements, but allowing components to change 
From here: https://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}

a {
    outline: 0;
}

strong {
    font-weight: 700;
    line-height: 1;
}

.thin {
    font-weight: 300;
}

.headshot {
    border-radius: 50%;
}

/* Header */

header {
    width: 100%;
    margin: 0px;
    padding: 10px;
    text-align: center;
    overflow: hidden;
}

#banner_container img {
    height: 25px;
    float: left;
    margin-right: 7px;
    opacity: 
}

#ball_logo {
    display: none;
}

#header_menu {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: right;
    vertical-align: middle;
    line-height: 27px;
    white-space: nowrap;
    overflow: hidden;
}

#header_menu li {
    margin: 0px 5px;
    display: inline-block;
}

    #header_menu li a {
        font-family: 'futura-pt', sans-serif;
        color: hsl(0, 0%, 50%);
        font-size: 16px;
        text-transform: uppercase;
        text-decoration: none;
    }

    #header_menu li a:hover, #header_menu li a.current_page_item:hover {
        color: #eb9421;
        transition: 0.3s;
    }

    #header_menu li a.current_page_item {
        font-weight: 500;
        color: #505050;
    }

/* Content */

#content {
    max-width: 1250px;
    margin: 0 auto;
    padding: 0px 20px;
}

#created_by {
    color: #888;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 25px;
}

.author_name {
    display: inline;
    font-weight: 500;
    font-size: 18px;
    margin-right: 5px;
    text-transform: uppercase;
}

.author_resume {
    display: inline;
}

.story_text {
    font-size: 30px;
    color: #505050;
    text-align: center;
    font-weight: 300;
}

    .story_text a {
        color: #eb9421;
    }

    .story_text em {
        color: #eb9421;
        font-style: normal;
    }

#intro_text {
    margin-bottom: 15px;
    padding: 15px 0 0 0;
    text-align: center;
    color: #505050;
    width: 75%;
    margin: auto;
}

    #intro_text #main_text {
        font-size: 45px;
        line-height: 1;
        margin-bottom: 10px;
    }

    #intro_text #sub_text {
        font-size: 20px;
        width: 50%;
        margin: auto;
        margin-bottom: 10px;
        font-weight: 300;
    }

.premium_banner {
    background-color: #505050;
    background-image: url(../img/striped_logo.png);
    background-size: auto 35px;
    background-position: top left;
    background-repeat: no-repeat;
    color: #777;
    text-transform: uppercase;
    line-height: 28px;
    font-size: 26px;
    padding: 3px 25px 0px 85px;
    overflow: hidden;
    height: 32px;
    vertical-align: middle;
}

/* Popular Archives */

#popular {
    display: inline-flex;
    flex-flow: row;
    margin-bottom: 25px;
}

#popular h1 {
    max-width: 150px;
    margin: 0 25px 0 0;
    padding-top: 20px;
}

.popular_article {
    flex-grow: 1;
    margin-right: 25px;
    max-width: 400px;
}

#player_profiles {
    clear: both;
    width: 100%;
    height: 165px;
    margin-top: 25px;
    margin-bottom: 25px;
}

.player_team_profile {
    height: 165px;
    width: 226px;
    position: relative;
    overflow: hidden;
    margin-right: 30px;
    text-align: center;
    display: inline-block;
    float: left;
}

    .player_profile img {
        width: 100%;
        height: auto;
        opacity: 0.35;
    }

    .team_profile img {
        height: 200%;
        margin-top: 15px;
        opacity: 0.25;
        position: relative;
        left: -25%;
        top: -50%;
    }

    .player_team_profile:hover img {
        opacity: 0.9;
    }

    .player_team_profile:last-of-type {
        margin-right: 0;
    }

.profile_title {
    position: absolute;
    bottom: 0;
    background-color: #505050;
    background-image: url(../img/striped_logo.png);
    background-size: auto 30px;
    background-position: top left;
    background-repeat: no-repeat;
    color: #777;
    text-transform: uppercase;
    line-height: 22px;
    font-size: 20px;
    padding: 3px 5px 0px 75px;
    overflow: hidden;
    height: 27px;
    vertical-align: middle;
    width: 270px;
    text-align: left;
}

.profile_name {
    position: absolute;
    top: 40px;
    left: 5%;
    width: 90%;
    font-size: 25px;
    font-weight: 500;
    text-transform: uppercase;
    text-align: center;
    opacity: 0.6;
}

    .player_team_profile:hover .profile_name {
        display: none;
    }


/* Subscriber Callout */

#subscribe {
    text-align: center;
    font-size: 20px;
}

    #subscribe h1 {
        font-size: 50px;
        font-weight: 300;
        margin-top: 15px;
    }

.subscription_options {
    display: inline-flex;
    flex-direction: row;
    margin-bottom: 15px;
}

.sub_option {
    text-align: center;
    width: 200px;
    padding: 15px;
    margin-right: 15px;
}

.subscribe_button {
    font-weight: 400;
    margin: 10px auto;
    display: inline-block;
    text-align: center;
    padding: 5px 12px;
}

#subscribe .info_text {
    font-weight: 300;
    font-size: 25px;
    color: #505050;
}

#subscribe h2 {
    text-align: center;
    font-size: 40px;
    font-weight: 400;
    line-height: 1;
    margin: 20px 0 0px 0;
}

.price {
    font-weight: 500;
    font-size: 1.2em;
}


#insider_header {
    text-transform: uppercase;
}

#premium_explanation {
    width: 100%;
    margin: 0;
    font-weight: 300;
    padding: 0px 10px 10px 10px;
    text-align: left;
    font-size: 24px;
}

    #premium_explanation ul {
        margin: 0;
        padding-left: 0px;
        list-style: none;
    }

    #premium_explanation li {
        display: inline-block;
        width: 365px;
        margin-right: 15px;
        padding: 15px;     
        vertical-align: top;
    }

    #premium_explanation li a {
        color: #eb9421;
    }

#premium_callout {
    text-align: center;
}

.premium_category {
    font-weight: 400;
    font-size: 1.2em;
    text-transform: uppercase;
    margin-bottom: 7px;
    text-align: center;
    border-bottom: 1px solid #ebebeb;
}

#learn_more {
    font-weight: 300;
    background-color: #F2F2F2;
    color: #505050;
    padding: 15px;
    text-align: center;
    margin-bottom: 15px;
}

    #learn_more a {
        color: #eb9421;
    }

#payment_details {
    font-weight: 300;
    background-color: #F2F2F2;
    color: #505050;
    padding: 15px;
    text-align: center;
}

    #payment_details div {
        margin: 7px 0;
    }

.button {
    background-color: #eb9421;
    text-transform: uppercase;
    color: white;
    padding: 12px;
    margin: 10px;
    display: inline-block;
}

#footer {
    clear: both;
    font-size: 14px;
    color: #777;
    text-align: center;
    padding: 14px 10px;
    background-color: hsl(0, 0%, 95%);
    margin-top: 16px;
}
    
    #footer a {
        text-decoration: underline;
        color: #777;
        font-weight: 500;
    }


.article .article_title {
    text-decoration: none;
}

.article img {
    width: 100%;
    margin-bottom: 4px;
    border-radius: 4px;
}

.article_title {
    padding: 0px;
    color: #505050;
    font-weight: 500;
    margin: 0;
    font-size: 25px;
    line-height: 1;
}

.article_description {
    color: hsl(0, 0%, 31%);
    font-size: 16px;
    padding: 7px 0px 0px 0px;
    margin: 0;
}

.article_info {
    color: hsl(0, 0%, 47%);
}

.article_container {
    padding: 15px;
}

.article a {
    text-decoration: none;
    color: inherit;
}

.article:hover > .article_title {
    color: black;
    transition-duration: 0.3s;
}

.article:hover > .article_description {
    color: black;
    transition-duration: 0.3s;
}

.article_section_title {
    color: #505050;
    font-size: 20px;
    font-weight: 400;
    margin: 0 0 16px 0;
    padding-bottom: 6px;
    line-height: 1;
    border-bottom: 2px solid hsl(0, 0%, 90%);
}

    .article_section_title a {
        color: #eb9421;
        font-size: 12px;
        text-transform: uppercase;
        margin-left: 12px;
        vertical-align: baseline;
    }

    .article_section_title a i {
        font-size: 10px;
        margin-left: 4px;
    }

    .article_title i {
        font-size: 0.6em;
        color: hsl(34, 83%, 53%);
        margin-right: 6px;
        vertical-align: baseline;
        top: -3px;
        position: relative;
    }

    .screen-reader-text {
        position:absolute;
        left:-10000px;
        top:auto;
        width:1px;
        height:1px;
        overflow:hidden;
    }

    .navigation.pagination {
        font-size: 18px;
        color: hsl(0, 0%, 31%);
    }

        .navigation.pagination a {
            color: hsl(34, 83%, 53%);
            
        }

        .navigation.pagination i {
            font-size: 14px;
            
        }

        .page-numbers {
            margin-right: 6px;
        }

.button {
    border-radius: 4px;
    color: white;
    font-size: 14px;
    padding: 2px 12px;
    text-decoration: none;
    background-color: hsl(0, 0%, 40%);
    font-weight: 400;
    box-shadow: 0 1px 3px hsla(0, 0%, 0%, 0.2);
    transition-duration: 0.3s;
}

    .button:hover {
        transform: scale(1.1);
        transition-duration: 0.3s;
    }

#premium_button {
        color: white;
        display: inline-block;
        margin: 20px auto;
        padding: 7px 12px;
        font-size: 0.8em;
        cursor: pointer;
        text-decoration: none;
        border-radius: 4px;
        background-color: hsl(34, 83%, 58%);
        font-weight: 400;
        margin-top: 24px;
    }

        #premium_button:hover {
            background-color: hsl(34, 83%, 53%);
            transition-duration: 0.3s;
        }

#newsletter_signup {
    text-align: center;
    margin: 24px 0;
}

#email_description {
    font-size: 24px;
    color: hsl(0, 0%, 31%);
    padding-bottom: 8px;
}

.email_response {
    font-size: 16px;
    color: hsl(0, 0%, 31%);
    padding: 12px;
    display: none;
    max-width: 350px;
    margin: auto;
}

    #newsletter_signup input[type=email] {
        font-size: 24px;
        padding: 12px 16px;
        background-color: hsl(0, 0%, 95%);
        color: hsl(0, 0%, 31%);
        border: 0;
        border-radius: 4px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        vertical-align: middle;        
        outline: 0;
        max-width:100%;
    }

    @media screen and (min-width:1250px) {
        #newsletter_signup input[type=email] {
            min-width: 450px;
            font-size: 36px;
        }         
    }

        #newsletter_signup input::placeholder[type=email] {
            color: hsl(0, 0, 80%);
        }

    #newsletter_signup input[type=submit], #newsletter_signup button[type=submit] {
        font-size: 20px;
        text-transform: uppercase;
        padding: 22px 20px;
        background-color: hsl(34, 83%, 53%);
        color: hsl(0, 0%, 100%);
        border: 0;
        border-radius: 4px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        margin: 0;
        vertical-align: middle;
        outline: 0;
        cursor: pointer;
    }

        #newsletter_signup input[type=submit]:hover, #newsletter_signup button[type=submit]:hover {
            background-color: hsl(34, 83%, 63%);
            transition-duration: 0.3s;
        }

.google-recaptcha-terms {
    font-size: 12px;
    color: hsl(0, 0%, 75%);
    margin-top: 5px;
}

    .google-recaptcha-terms a {
        color: hsl(0, 0%, 60%);
    }

/* Hide Google ReCaptcha Badge */
.grecaptcha-badge { 
    visibility: hidden;
}


        /* Helper class for mobile-only elements */

.visible-mobile {
    display:none !important;
}
.hidden-mobile {
    display:inline-block !important;
}

@media screen and (max-width:800px) {
    .visible-mobile {
        display:inline-block !important;
    }

    .hidden-mobile {
        display:none !important;
    }
}