/**************** Layout ****************/

@media screen and (min-width: 800px) { main .content, footer .content {
        width: 800px;
        margin-left: calc(50% - 400px);
}}
@media screen and (min-width: 1024px) { header .content {
        width: 1024px;
        margin-left: calc(50% - 512px);
}}
@media screen and (min-width: 1024px) { main .content div.wider {
        margin-left: -100px;
        margin-right: -100px;
}}


main {
    min-height: calc(100% - 10em);
}

main .content {
    padding: 1em;
    position: static;
}

/**************** header and footer ****************/

header {
    background: #0F2C3E;
    color: #F4F4F4;
}
footer {
    background: #0F2C3E;
    color: #A4B0B8;
}

header {
    font-family: "Ubuntu Condensed", Verdana, sans-serif;
    height: 64px;
    line-height: 60px;
}
header .content {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    height: 100%;
}
header .content > * {
    display: inline-block;
    flex: 1 1 auto;
    box-sizing: border-box;
    text-align: center;
}
header a, footer a {
    border-radius: 2px;
    transition: background 0.25s;
    border: none !important;
}
header a:link, header a:visited, header a:active {
    color: inherit;
    outline: none;
}
header a:hover {
    text-decoration: none;
    background: rgba(255, 255, 255, 0.1);
}
header a.homelink {
    max-width: 45px;
    overflow-x: hidden;
}
@media screen and (min-width: 600px) { header a.homelink {
    max-width: initial;
}}
@media screen and (min-width: 600px) { header {
        font-family: "Ubuntu", Verdana, sans-serif;
}}


footer .content {
    display: flex;
    padding: 3em 1em;
    justify-content: space-around;
}
footer .content > img {
    flex-grow: 0;
    width: 10vw;
    height: 10vw;
    max-width: 96px;
    max-height: 96px;
    margin-right: 5vw;
}
footer .content > div {
    flex-grow: 1;
}
footer a:link, footer a:visited, footer a:active {
    color: inherit;
}
footer > .content > div > * {
    display: block;
}

/**************** Special buttons ****************/

main a.ctabutton {
    display: inline-block;
    border: none;
    border-radius: 4px;
    color: #0F2C3E;
    background: #fff;
    padding: 1em;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4);
    transition: box-shadow 0.1s;
    font-size: 120%;
    margin: 0.5em;
}
main a.ctabutton:hover {
    text-decoration: none;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.4);
}

/**************** Support panels ****************/
.supportpanelcontainer {
    display: grid;
    grid-template-columns: 100%;
    gap: 1em 1em;
    justify-items: stretch;
    align-items: stretch;
    justify-content: center;
}
.supportpanelcontainer > div {
    border-radius: 2px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.4);
    padding: 0.5em 1.5em;
    background: #fafafa;
}
@media screen and (min-width: 500px) {
    .supportpanelcontainer { grid-template-columns: 50% 50%; }
    .supportpanelcontainer > div {
    }
}

/**************** FAQ ****************/

.faq h2 { color: #849098; }
.faq h3 { color: #0F2C3E; }

/**************** Pricing cards ****************/
.pricing-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: stretch;
}

@media screen and (min-width: 800px) {
    center.pricing-container2 {
        position:relative;
        left: calc(400px - 50vw);
        width: 100vw;
    }
}

.pricing-box {
    display: inline-block;
    vertical-align: top;
    background: #fafafa;
    color: #0F2C3E;
    border-radius: 2px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.4);
    min-width: 250px;
    max-width: 250px;
    padding: 0.1em 1em;
    margin: 1em;
    text-align: left;
    text-decoration: none;
    position: relative;
    top: 0;
    transition: background 0.2s;
}
a.pricing-box {
    border: none !important;
    text-decoration: none;
    color: #0F2C3E;
}
a.pricing-box:hover {
    text-decoration: none;
    top: -1px;
    background: #fff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}
.pricing-box h3 {
    font-size: 150%;
    color: #DEAA22;
    text-align: center;
}
.pricing-box i.fas {
    margin-right: 0.3em;
}
.pricing-box .price {
    display: block;
    text-align: center;
    color: #0F2C3E;
}
.pricing-box .price b {
    font-size: 120%;
}
.pricing-box .action {
    display: block;
    text-align: center;
    font-size: 120%;
    padding: 1em 0;
    color: #0F2C3E;
}
.pricing-box .action > small {
    color: #849098;
}
.pricing-box button {
    text-align: left;
    padding:1em;
    width:100%;
    background: #fff;
    color: #0F2C3E;
    border: none;
    box-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
.pricing-box button:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.4);
    cursor: pointer;
}