/** View-specific styles **/
.banner { }
.banner .content {
    overflow: auto;    
}
.banner .avatar-container {
    float: left;
    height: 160px;
    width: 160px;
}
.banner .avatar-container img {
    border-radius: 50%;
    border: 2px solid #ccc;
    height: 156px;
    width: 156px;
}
.banner .announce-container {
    margin-left: 200px;
}
.banner h1 {
    position: relative;
    margin-bottom: 0;
    font-size: 48px;
}
.banner h1 .sayit {
    position: absolute;
    bottom: -1em;
    left: 14em;
    color: #aaa;
    font-size: 0.3em;
}
.banner .contact {
    margin-left: 0.25em;
    margin-top: -0.15em;
    line-height: 1.5em;
}
.banner a,
.banner a:visited,
.banner a:hover {
    text-decoration: none;
}
.contact a.contact-button {
    background-color: #333;
    border: 1px solid transparent;
    border-radius: 4px;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    text-align: center;
}
.contact a.contact-linkedin > svg,
.contact a.contact-github > svg {
    width: 0.9em;
    height: 0.9em;
}
.contact a.contact-calendly > svg {
    width: 0.9em;
    height: 0.9em;
    margin: 0 0 0.09em 0;
}
.contact a.contact-email > svg {
    width: 0.7em;
    height: 0.7em;
    margin: 0 0 0.07em 0;
}
.contact a.contact-button:hover {
    background-color: rgb(255,205,30);
    border: 1px solid #333;
}
.contact a.contact-button > svg > path {
    fill: #e5e5e5;
}

.contact a.contact-button:hover > svg > path {
    fill: #333;
}
section {
    clear: both;
    margin: 4em 0;
}
section.full-width-container.narrow-copy .content {
    width: calc(var(--site-width) - 8em);
}

section p {
    line-height: 1.75em
}

section .headline {
    overflow: auto;
    margin-bottom: 2em;
}
section .headline .circle {
    float: left;
    height: 6em;
    width: 6em;
    line-height: 6em;
    background-color: #fff;
    border: 2px solid #000;
    border-radius: 50%;
    text-align: center;
}
section .headline .circle > svg {
    height: 3em;
    width: 3em;
}
section .headline .circle > svg > path {
    fill: #000;
}
section .headline.headline-right .circle {
    float: right;
}
section .headline .copy {
    margin-left: 130px;
    margin-top: 1.4em;
}
section .headline.headline-right .copy {
    margin-left: 0;
    margin-right: 130px;
    text-align: right;
}
section .headline .copy .topic {
    font-weight: bold;
    font-size: 1.4em;
}
section .headline .copy .tagline {
    font-size: 1.2em;
    color: #858585;
}

section.intro {
    margin: 4em 0 0;
}
section.biz-card {
    background: radial-gradient(#0C58B0, #120B64);
    color: #ffffff;
    margin: 4em 0;
    padding: 5em 0 4em;
}
section.biz-card .content {
    text-align: center;
}
section.biz-card .rule-zone { }
section.biz-card .rule-zone .rule {
    display: inline-block;
    line-height: 1em;
    border-bottom: 1px solid #ffffff;
    margin-bottom: 0.5em;
    width: 100%;
}
section.biz-card .rule-zone .rule-partial {
    width: calc(50% - 2em);
    vertical-align: top;
    height: 0.8313em;
}
section.biz-card .rule-zone .rule-text {
    display: inline-block;
    width: calc(4em / 1.33);
    vertical-align: top;
    font-size: 1.33em;
}
section.biz-card .rule-zone-top {
    margin: 0 0 1em 0;
    padding: 0 33% 0 33%;
}
section.biz-card .rule-zone-middle {
    margin: 0.625em 0 0.825em 0;
    padding: 0 33% 0 33%;
}
section.biz-card .callout {
    font-size: 2.5em;
}
section.biz-card .callout span {
    display: inline-block;
    margin: 0 0.33em;
    width: calc(50% - 3em);
    text-transform: uppercase;
}
section.biz-card .callout .first {
    text-align: right;
}
section.biz-card .callout .second {
    text-align: left;
    font-weight: bold;
}
section.biz-card .segments {
    font-size: 1.33em;
}
section.biz-card .segments .bullet {
    display: inline-block;
    margin: 0 0.5em;
}

/** Mobile Overrides **/

@media screen and (max-width: 768px) {
    section.full-width-container.narrow-copy .content {
        width: calc(var(--site-width) - 5em);
    }

    .banner {
        text-align: center;
        margin: 2em 0;
    }
    .banner h1 {
        font-size: 2em;
        display: inline-block;
        margin: 0.75em auto;
        width: auto;
    }

    .banner .avatar-container {
        float: none;
        margin: auto;
    }
    .banner .announce-container {
        text-align: center;
        margin: 0;
    }
    section .headline {
        height: 4.25em;
        line-height: 4.25em;
        overflow: visible;
    }
    section .headline .circle {
        height: 4em;
        width: 4em;
        line-height: 4em;
    }
    section .headline .circle > svg {
        height: 2em;
        width: 2em;
    }
    section .headline .copy {
        font-size: 0.75em;
        margin-top: 0.25em;
        margin-left: 1em;
        width: calc(100% - 7em);
        display: inline-block;
        vertical-align: middle;
        line-height: 1.4em;
    }
    section .headline .copy .topic {
        margin-bottom: 0.2em;
        line-height: 1.2em
    }

    section.biz-card {
        font-size: 8px;
        margin: 4em 0;
        padding: 5em 0 4em;
    }
}
