/* Service credits page styles.

   developer:   marionm
   requires:    /common/framework/css/framework.de.css
   ========================================================================== */

/* ==========================================================================
   page setup
   ========================================================================== */

/* variables
   ========================================================================== */

:root {
    /* colors */
    --desktop-red: #dd1100;
    --desktop-orange: #f77700;
    --desktop-gray: #656565;
}

/* elements
   ========================================================================== */

main {
    color: var(--desktop-gray);
    font-family: 'Source Sans Pro', Arial, sans-serif;
}

main hr {
    border: none;
    border-bottom: 1px solid #b7b7b7;
    height: 0;
    margin: 2.5rem 0;
    width: 100%;
}

main h2 {
    color: #fe0000;
    font-size: 2.1875rem;
    font-weight: 300;
    margin-bottom: 2rem;
}

main a { color: var(--desktop-orange); }

main a:hover { color: var(--desktop-red); }

/* classes
   ========================================================================== */

/* grid
   ================================== */

main .two-col-grid {
    display: grid;
    gap: 2rem 3.125rem;
    grid-template-columns: 1fr 1fr;
    margin: 1rem 0 2rem;
}

main .two-col-grid h3 {
    color: var(--desktop-orange);
    font-size: 1.375rem;
    font-weight: 400;
}

main .two-col-grid > a:hover h3 { color: var(--desktop-red); }

main .two-col-grid p { color: var(--desktop-gray); }

/* multi-column layout
   ================================== */

main .two-col-layout {
    column-count: 2;
    column-fill: balance;
    column-gap: 3.125rem;
}

main .two-col-layout > * {
    display: inline-block;
    margin: 1rem 0;
}

main .two-col-layout h3 {
    color: var(--desktop-orange);
    font-size: 1.375rem;
    font-weight: 400;
    margin-bottom: .5rem;
}

main .two-col-layout > a:hover h3 { color: var(--desktop-red); }

main .two-col-layout p {
    color: var(--desktop-gray);
    line-height: 1.9;
}

/* table styles
   ================================== */

main .styled-table {
    border-collapse: collapse;
    max-width: 780px;
    width: 100%;
}

main .styled-table caption {
    caption-side: bottom;
    text-align: left;
}

main .styled-table tr { border: 1px solid #9a9a9a; }

main .styled-table td {
    color: #222;
    font-weight: 600;
    padding: .9375rem 1.25rem;
}

main .styled-table .red {
    color: var(--desktop-red);
    font-size: 1.25rem;
    font-weight: 600;
    margin-right: .25rem;
}

main .styled-table .providers {
    color: #898989;
    font-weight: 400;
}

main .styled-table small {
    font-size: .7rem;
    white-space: nowrap;
    color: #222;
    margin-left: 0.25rem;
}

/* ==========================================================================
   header
   ========================================================================== */

#header a {
    background: var(--desktop-red);
    color: #fff;
    display: inline-block;
    font-size: .75rem;
    font-weight: 600;
    padding: .3125rem 1.25rem;
    text-transform: uppercase;
}

#header a:hover { background: #cc1400; }

#header h1 {
    color: #000;
    font-size: 2.75rem;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 1.1;
    margin: 3rem 0 1rem;
}

#header p {
    color: #505050;
    font-size: 1.3125rem;
    line-height: 1.8;
    margin-bottom: 2rem;
    max-width: 780px;
}

/* ==========================================================================
   what uses sections
   ========================================================================== */

#what-uses .card { display: flex; }

#what-uses .card > * { width: 50%; }

#what-uses .card > div:nth-of-type(2) {
    padding-left: 1rem;
    text-align: right;
}

#what-uses .card .exp { color: #a1a1a1; }

/* ==========================================================================
   other sections
   ========================================================================== */

#pricing .buy-credits-button {
    background-color: var(--desktop-orange);
    color: #fff;
    display: inline-block;
    margin: 2rem 0;
    padding: .5rem 1.25rem;
}

#pricing .buy-credits-button:hover { background-color: var(--desktop-red); }
#_country-picker-wrapper { max-width: 780px; }
.vat-note {
    font-size: .8125rem;
    font-weight: 400;
    text-align: right;
    padding-right: 0.9rem;
    max-width: 780px;
}
.thousand-per-price {
    margin-left: 0.5rem;
    color: #222;
    font-weight:600;
    font-size:1rem;
}
.load-wrapper {
    border-radius: 5px;
    margin: 0;
    padding: 0;
    text-align: center;
}
.load .square {
    display: inline-block;
    animation-name: loading;
    animation-duration: 1.6s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}
.square {
    color: #777;
    float: left;
    font-size: 8px;
}
.compact-prices .square {
    color: #fff;
}
.l-1 {
    animation-delay: 0.48s;
    margin-right: 4px;
}
.l-2 {
    animation-delay: 0.6s;
    margin-right: 4px;
}
.l-3 {
    animation-delay: 0.72s;
}
@keyframes loading {
    0% {
        opacity: 0;
        transform: scale(0.5, 0.5);
    }
    100% {
        opacity: 1;
        transform: scale(1.2, 1.2);
    }
}
/* ==========================================================================
   responsive breakpoint styles
   ========================================================================== */

/* styles for large screens (1200px)
   ========================================================================== */

@media all and (max-width: 1200px) {
}

/* styles for medium screens (900px)
   ========================================================================== */

@media all and (max-width: 900px) {
    main .two-col-grid { grid-template-columns: 1fr; }

    main .styled-table .providers { display: block; }

    #what-uses .card { align-items: center; }

    #what-uses .card > div:nth-of-type(2) { text-align: center; }
}

/* styles for small screens (600px)
   ========================================================================== */

@media all and (max-width: 600px) {
    main .two-col-layout { column-count: 1; }

    #rate-table small { display: block; }

    #what-uses .top { grid-template-columns: 1fr; }
}

/* styles for minimum supported screen width (320px)
   ========================================================================== */

@media all and (max-width: 320px) {
}

/* printer styles
   ========================================================================== */

@media print {
}