/* Desktop 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 a { color: var(--desktop-red); }

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

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

main .page-width {
    margin: 0 auto;
    max-width: calc(900px + 4rem);
    padding: 0 2rem;
}

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

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

main .two-col-grid h3 {
    color: var(--desktop-orange);
    font-weight: 600;
    text-transform: uppercase;
}

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-weight: 600;
    margin-bottom: .5rem;
    text-transform: uppercase;
}

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

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

/* ==========================================================================
   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: #767676;
    font-size: 2.375rem;
    font-weight: 400;
    letter-spacing: 2px;
    line-height: 1.1;
    margin: 1.7rem 0 .25rem;
    text-transform: uppercase;
}

#header p {
    color: #636363;
    font-size: 1.3125rem;
    font-style: italic;
    font-weight: 200;
}

/* ==========================================================================
   intro section
   ========================================================================== */

#intro .top {
    align-items: center;
    display: grid;
    gap: .5rem 3.125rem;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 2rem;
}

#intro .top p {
    color: var(--desktop-orange);
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.7;
}

#intro .top img { margin-bottom: -4rem; }

#intro .bottom .left p:nth-of-type(1) {
    line-height: 1.9;
    margin-bottom: 1rem;
}

#intro .bottom .left p:nth-of-type(2) {
    font-size: .7rem;
    line-height: 1.9;
}

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

#power h2,
#smoothness h2,
#onlyon h2,
#best h2 {
    color: #fe0000;
    font-size: 2.1875rem;
    font-weight: 300;
    margin-bottom: 1rem;
}

#power h2 + p,
#smoothness h2 + p,
#onlyon h2 + p,
#best h2 + p {
    line-height: 1.9;
    margin-bottom: 2rem;
}

/* ==========================================================================
   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) {
}

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

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

    main .two-col-layout { column-count: 1; }

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

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

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

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

@media print {
}