#pricingTable { width: 100%; text-align: left; border-spacing: 0; border-collapse: collapse; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

#pricingTable th, #pricingTable td { font-family: inherit; font-size: .875em; line-height: 1.45; color: #444; vertical-align: middle; padding: 1em; }
#pricingTable th { font-weight: 600; }

#pricingTable colgroup:nth-child(1) { width: 20%; border: 0 none; }
#pricingTable colgroup:not(:first-child) { width: 20%; border: 1px solid #ccc; }
#pricingTable colgroup.bestDeal { border: 2px solid var(--marketplace-primary) ; }
#subsTableButtons { display: none !important; }

@media (549px < width <= 1024px) {
    #pricingTable colgroup:nth-child(1) { width: 33%; }
    #pricingTable colgroup:not(:first-child) { width: 33%; }
    #pricingTable colgroup:not(:first-child):not([data-visible="true"]) { display: none; }
    #subsTableButtons {
        display: flex !important; width: 66%; margin-left: auto;
        button {
            padding: 5px 20px;
        }
    }
}

@media (width <= 549px) {
    #pricingTable colgroup:nth-child(1) { width: 50%; }
    #pricingTable colgroup:not(:first-child) { width: 50%; }
    #pricingTable colgroup:not(:first-child):not([data-visible="true"]) { display: none; }
    #subsTableButtons {
        display: flex !important; width: 50%; margin-left: auto;
        button {
            padding: 5px 20px;
        }
    }
}

/* Tablehead */

#pricingTable thead th { background: #def4fe; background: -moz-linear-gradient(top,  #ffffff 0%, #f5f5f5 100%); background: -webkit-linear-gradient(top,  #ffffff 0%,#f5f5f5 100%); background: -o-linear-gradient(top,  #ffffff 0%,#f5f5f5 100%); background: -ms-linear-gradient(top,  #ffffff 0%,#f5f5f5 100%); background: linear-gradient(to bottom,  #ffffff 0%,#f5f5f5 100%); text-align: center; position: relative; border-bottom: 1px solid #ccc; padding: 3em 0 2em; font-weight: 400; color: #999; }
#pricingTable thead th:nth-child(1) { background: transparent;  }
#pricingTable thead th.bestDeal {  padding: 2em 0 5em; }
#pricingTable thead th h2 { font-weight: 300; font-size: 2.4em; line-height: 1.2; color: #000; }
#pricingTable thead th h5 { line-height: 1.4; }
#pricingTable thead th.bestDeal h2 { font-size: 3.6em; }

#pricingTable thead th p.promo.wborder { 
    font-size: 1.25em; 
    font-weight: 700; 
    color: #000; 
    position: absolute; 
    bottom: 1em; 
    left: -2px; 
    z-index: 2; 
    width: calc(100% + 4px); 
    margin: 0; 
    padding: .625em 8px .75em; 
    background: var(--marketplace-secondary); 
    box-shadow: 0 2px 4px rgba(0,0,0,.25); 
    border-bottom: 1px solid var(--marketplace-light); 
}
#pricingTable thead th p.promo { font-size: 1.25em; 
    font-weight: 700; 
    color: #000; 
    position: absolute; 
    bottom: 1em; 
    z-index: 1; 
    width: calc(100% + 1px); 
    margin: 0; 
    padding: .625em 8px .75em; 
    background: var(--marketplace-secondary); 
    box-shadow: 0 2px 4px rgba(0,0,0,.25); 
    border-bottom: 1px solid var(--marketplace-light); 
}

@media (549px < width <= 1024px) {
    #pricingTable thead th:not(:first-child):not([data-visible="true"]) { display: none; }
}

@media (width <= 549px) {
    #pricingTable thead th:not(:first-child):not([data-visible="true"]) { display: none; }
}

/* Tablebody */

#pricingTable tbody th { background: #fff; border-left: 1px solid #ccc; }
#pricingTable tbody th span { font-weight: normal; font-size: 87.5%; color: #999; display: block; }

#pricingTable tbody td { background: #fff; text-align: center; }

#pricingTable tbody tr:nth-child(even) th,
#pricingTable tbody tr:nth-child(even) td { background: #f5f5f5; border: 1px solid #ccc; border-width: 1px 0 1px 1px; }
#pricingTable tbody tr:last-child td { border-bottom: 0 none; }

@media (549px < width <= 1024px) {
    #pricingTable tbody td:not(:first-child):not([data-visible="true"]) { display: none; }
}

@media (width <= 549px) {
    #pricingTable tbody td:not([data-visible="true"]) { display: none; }
}

/* Tablefooter */

#pricingTable tfoot th  { padding: 2em 1em; border-top: 1px solid #ccc; }
#pricingTable tfoot td  { text-align: center; padding: 2em 1em; border-top: 1px solid #ccc; }

#pricingTable tfoot a  { font-weight: bold; border: 1px solid rgba(0,0,0,.125);  color: #000; text-decoration: none; text-transform: uppercase; display: block; padding: 1.125em 2em; background: #FFF078; }

@media (549px < width <= 1024px) {
    #pricingTable tfoot td:not(:first-child):not([data-visible="true"]) { display: none; }
}

@media (width <= 549px) {
    #pricingTable tfoot td:not([data-visible="true"]) { display: none; }
}