/* Generic */
body {
    background: #f6f6f6;
}

strong { font-weight: 700; }

h1,
h2,
h3,
h6 { font-weight: 700; }

h1,
h2 {
    font-size: 3em;
    line-height: 1.2;
}

h1 {
    margin-bottom: 50px;
    line-height: 1.3;
}

h3 {
    font-size: 1.875em;
}


/* Navbar */
.navbar .fill:not(.bezel) {
    background: #2a2d36;
}


/* Masthead */
.masthead {
    display: block;
    height: auto;
    min-height: 0;
    max-height: 100%;
    padding: 200px 0 100px;
    background: #2a2d36;
}
.masthead .masthead-content { padding: 0 100px; }
.masthead > .wrap { display: block; }
.masthead h1 a {
    color: inherit;
    text-decoration: underline;
}
.masthead p {
    color: #fff;
}
.masthead .subtitle {
    margin-bottom: 20px;
    font-size: 2em;
    font-style: italic;
}
.masthead .col {
    margin-bottom: 30px;
}
.masthead .col:last-child {
    float: left;
    width: 100%;
    margin-top: 20px;
}
.masthead .big-text a {
    display: inline-block;
    white-space: nowrap;
}
.masthead .big-text a:hover {
    color: #2bc5b4;
}
.masthead .big-text a svg {
    display: inline-block;
    width: 20px;
}
.masthead .payments {
    float: right;
    padding-top: 6px;
}


/* Groups */
.group {
    padding: 80px 0;
}
.group.feature-table {
    padding-bottom: 120px;
    background: #fff;
}

.pro-banner {
    margin-top: -110px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}
.pro-banner > div {
    padding: 50px 10%;
}
.pro-banner svg {
    display: inline-block;
    max-height: 62px;
    margin-bottom: 20px;
}
.pro-banner .col {
    margin: 20px 0;
}
.pro-banner-deals {
    display: flex;
    justify-content: center;
    flex-direction: column;
    height: 560px;
    background: url('/_i/pro-revamp/pro-deals.jpg') 50% 50% no-repeat;
    background-size: cover;
}
.pro-banner-deals-text {
    width: 33%;
}
.pro-banner-deals-text .milli { opacity: 0.5; }

.pro-devices h3 {
    margin: 40px 0;
}
.pro-devices svg,
.pro-devices img {
    display: inline-block;
    margin: 0 10px;
}
.pro-devices img {
    margin: 0 20px;
}



/* Badges */
.badge {
    top: 0;
    margin: 0;
    font-size: 0.875em;
    text-transform: none;
}
.badge.green {
    background: #2bc5b4;
    color: #fff;
}
.badge.white {
    background: #fff;
    color: #2bc5b4;
}

.badge.black {
    background: #2a2d36;
    color: #fff;
}


/* Buttons */
.btn.full {
    width: 100%;
    padding: 0;
    line-height: 2.8;
}
.btn.white {
    color: #2bc5b4;
}


/* Cards */
.card {
    position: relative;
    border-radius: 8px;
    background: #303540;
    color: #fff;
}
.card svg {
    position: absolute;
    top: 50%;
    right: 10px;
    display: none;
    -webkit-transform: translateY(-50%) rotate(-90deg);
    -moz-transform: translateY(-50%) rotate(-90deg);
    transform: translateY(-50%) rotate(-90deg);
}
.card .card-content {
    padding: 30px;
    text-align: center;
}
.card h2 {
    margin: 30px 0 10px;
    color: #fff;
}
.card p + p {
    margin-bottom: 30px;
}
.card.featured {
    background: #2bc5b4;
}
.card.featured p + p { color: #b6fff7; }

/* Removed to avoid inconsistency between standard and featured cards.*/
/* .card.standard h2 {
    margin-top: 60px;
} */


.card > .card-header{
    display: flex;
    flex-wrap: wrap;
    padding: 15px 30px;
    min-height: 26px;
    justify-content: space-between;
}

.card > .card-header > .tier-title{
    font-size: 1.2em;
    font-weight: 700;
    color: #fff;
}

.card > .card-header > span + span{
    text-align: center;
}


/* Tables */
.table-list {
    position: relative;
    z-index: 1;
    margin: 50px auto;
    width: 90vw;
    max-width: 780px;
    border-collapse: separate;
    font-weight: 700;
}
/*
table-list-highlight directly handles the highlighting of columns.
*/
/* .table-list::after {
    position: absolute;
    top: -0.5em;
    right: 0;
    bottom: 0;
    z-index: -1;
    content: "";
    width: 15%;
    background: #2bc5b4;
    border-radius: 4px 4px 4px 0;
    box-shadow: 0 0 12px 4px rgba(45, 197, 180, 0.33);
} */
.table-list svg {
    height: 1.125em;
    width: 1.125em;
}
.table-list th,
.table-list td {
    border-bottom: 1px solid rgba(62,62,62,0.1);
}
.table-list th {
    padding: 1.125em 0;
}
.table-list td {
    padding: 1em 0;
}
.table-list th:first-child,
.table-list td:first-child { text-align: left; }

/* This is related to column highlighting. Removed to support dynamically highlight column.*/
/* .table-list th:last-child,
.table-list td:last-child {
    border: none;
    color: #fff;
} */
.table-list-main {
    width: 70%;
}
.table-list-free,
.table-list-adfree,
.table-list-pro { width: 15%; }


.table-list .table-list-highlight {
    border: none;
    color: #fff;
    background: #2bc5b4;
    box-shadow: 0 0 12px 4px rgba(45, 197, 180, 0.33);
}

.table-list tr:first-child th.table-list-highlight{
    border-radius: 4px 4px 0 0;
}

.table-list tr:last-child td.table-list-highlight{
    border-radius: 0 0 4px 4px;
}


/* Misc */
.right { text-align: right; }

.green { color: #2bc5b4; }

.deca { font-size: 1.125em; }
.centi { font-size: 0.875em; }
.milli { font-size: 0.75em; }



/* Responsive */
@media (max-width: 1140px) {
    .masthead { padding: 200px 0 100px; }
    .masthead .masthead-content { padding: 0; }
}

@media (max-width: 768px) {
    h1, h3 { font-size: 1.25em; }
    h2 { font-size: 1.5em; }

    .masthead {
        padding: 100px 0;
    }
    .masthead h1 { margin-bottom: 20px; }
    .masthead .padded .col {
        padding: 0;
        margin-bottom: 20px;
    }
    .masthead .subtitle {
        margin-bottom: 10px;
        font-size: 1.125em;
    }
    .masthead .col:last-child {
        margin-top: 0;
        text-align: center;
    }
    .masthead .payments {
        float: none;
        margin-bottom: 20px;
        -webkit-transform: none;
        -moz-transform: none;
        transform: none;
    }
    .masthead .big-text p { font-size: 1.125em !important; }

    .group {
        padding: 40px 0;
    }
    .group.feature-table {
        padding-bottom: 100px;
    }

    .pro-banner > div {
        padding: 20px 35px;
    }
    .pro-banner .col {
        margin: 10px 0;
    }
    .pro-banner .pro-banner-deals {
        justify-content: flex-end;
        height: 450px;
        padding: 20px 30px;
        background: url('/_i/pro-revamp/pro-deals-wap.jpg') 50% 75% no-repeat;
        background-size: cover;
    }
    .pro-banner-deals-text {
        width: 100%;
    }
    .pro-banner-deals-text h3 { margin-bottom: 0; }
    .pro-banner-deals-text p { margin-bottom: 10px; }
    .pro-devices img {
        width: 33%;
        margin: 10px;
    }
    .pro-devices img:last-child { margin-bottom: 0; }

    .badge { font-size: 0.75em; }

    .card .card-content {
        padding: 20px;
        text-align: left;
    }
    .card svg { display: block; }
    .card h2 {
        margin: 10px 0 0;
    }
    .card p + p {
        margin-bottom: 0;
    }
    .card .btn { display: none; }
    .card.standard h2 { margin-top: 0; }
    .card.standard .card-content { padding: 25px 20px; }
    .card.standard p { line-height: 1.2; }
    .card.standard p:first-of-type { padding-right: 60px; }
    .card.standard p + p {
        position: absolute;
        top: 20%;
        right: 40px;
        width: 60px;
        text-transform: uppercase;
        text-align: right;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .deca { font-size: 0.9375em; }
}

@media (max-width: 295px){
    .card > .card-header > span + span{
        margin-top: 5px;
    }
    
}

@media (max-width: 330px) {
    .table-list::after { width: 20%; }
    .table-list-main {
        width: 60%;
    }
    .table-list-free,
    .table-list-adfree,
    .table-list-pro { width: 20%; }
}

