@font-face {
    font-family: "Century Gothic";
    src: url("../fonts/gothic-webfont.eot");
    src: local("Century Gothic"), url("../fonts/gothic-webfont.woff") format("woff");
}

:root {
    --thnv-blue: #72b7c6;
    --thnv-light-blue: #e0eef1;
    --thnv-heading-blue: #62a7b6;
    --thnv-dark-gray: #4d4d4d;
    --thnv-mid-gray: #9c9c9c;
    --thnv-red: #f85757;
    --thnv-gold: #ffd889;
}

html { overflow-x: hidden; }
body {
    background: #000;
    font-family: "Century Gothic", Arial, sans-serif;
    margin: 0;
    color: #6c6c6c;
}

h1, h2 { font-weight: normal; }
a { text-decoration: none; color: var(--thnv-blue); }
a:hover { color: var(--thnv-red); }
a img { border-style: none; }
cite { text-decoration: underline; }
a.standalone { text-decoration: underline; color: var(--thnv-red); }
a.highlight { color: var(--thnv-red) !important; }
b.cite { font-style: italic; font-weight: bolder; }

.page-width-squeeze {
    width: min(1150px, calc(100% - 24px));
    max-width: 1150px;
    box-sizing: border-box;
}

#header { position: relative; margin-top: 10px; }
#header .site-title { color: var(--thnv-light-blue); font-size: 50px; line-height: 1.1; }
#socialLinks {
    position: absolute;
    width: 250px;
    height: 43px;
    bottom: 60px;
    right: 20px;
    background-color: var(--thnv-dark-gray);
    text-align: center;
}
#socialLinks h2 { color: var(--thnv-blue); font-size: 20px; padding-right: 10px; }
.thnv-navbar { border-bottom: 5px solid #000; border-top: 5px solid #000; }
#header .navbar-nav .nav-link {
    color: #000;
    position: relative;
    min-height: 50px;
    display: flex;
    align-items: center;
    font-size: 15px;
}
#header .navbar-nav .nav-item:not(:last-child) .nav-link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 1em;
    background-color: #000;
    transform: translateY(-50%);
}
#header .navbar-nav .nav-link:hover { color: var(--thnv-red); }
#header .navbar-toggler { border-color: #000; }

#content {
    background-color: var(--thnv-light-blue);
    color: #6c6c6c;
    line-height: 20px;
    font-size: 13px;
    z-index: 1;
    min-height: 720px;
}
#content h1, #content h2 { color: var(--thnv-heading-blue); font-size: 30px; }
#content h1 .subheading, #content h2 .subheading { font-size: 20px; }
#content h3 { color: #4c4c4c; font-size: 1.17em; font-weight: bold; margin: 1em 0; }
#content .main-content { min-width: 0; }
#content .main-content img { max-width: 100%; height: auto; }
#content .main-content a { overflow-wrap: anywhere; word-break: break-word; }
#content .book-inset { float: left; width: 250px; padding: 0 20px 20px 0; text-align: center; }
#content .bio-inset { background-color: #fff; border: 1px solid #ccc; padding: 20px; min-height: 211px; }

#sidebar {
    position: relative;
    top: -35px;
    padding-top: 30px;
    background-color: var(--thnv-dark-gray);
    width: 250px;
    color: #fff;
}
#sidebar h2 {
    text-align: center;
    color: var(--thnv-gold);
    font-size: 25px;
    padding: 5px 0;
    background-color: var(--thnv-mid-gray);
    box-shadow: 0 0 20px -5px #000;
}
#sidebar p { padding: 0 10px; color: #fff; font-weight: bold; }
#sidebar > a.email { color: var(--thnv-red); text-align: center; font-size: 20px; text-decoration: underline; }
#sidebar > a.email small { font-size: 9pt; }

#footer {
    background-color: var(--thnv-blue);
    color: #fff;
    min-height: 60px;
    font-size: 13px;
}
#footer .topslack { background-color: var(--thnv-blue); position: absolute; height: 40px; top: -40px; width: 100%; }
#footer .nav-link { color: #fff; padding-top: 0 !important; padding-bottom: 0 !important; border-right: 1px solid #fff; }
#footer .nav-item:last-child .nav-link { border-right: none; }
#footer .copyright { color: #fff; }

dl.property-list dt { float: left; padding-right: 5px; }
dl.property-list * { font-weight: bold; color: #4c4c4c; font-size: 110%; }
ul.quote-list { list-style: none; padding: 0; }
ul.quote-list li { padding-bottom: 10px; }
ul.quote-list li q { font-style: italic; }
.author { font-style: italic; margin: 1em 0; }

a.purchase {
    display: inline-block;
    width: 230px;
    height: 72px;
    background-image: url("../img/purchase_button.png");
    font-size: 0;
}
a.request-interview {
    display: inline-block;
    width: 242px;
    height: 65px;
    margin-left: 2px;
    background-image: url("../img/request_button.png");
    font-size: 0;
}
a.facebook-follow {
    display: inline-block;
    width: 40px;
    height: 43px;
    background-image: url("../img/facebook_button.png");
    font-size: 0;
    vertical-align: middle;
}

.thnv-request-form .form-control {
    border: 2px solid #ccc;
    border-radius: 7px;
    font-size: 14px;
    padding: 5px;
}
.thnv-request-form .form-control:focus {
    border-color: #9ecaed;
    box-shadow: 0 0 10px #9ecaed;
}
.thnv-request-form label.required::after { content: "*"; padding-left: 1em; color: red; }

@media (max-width: 991.98px) {
    .page-width-squeeze { width: min(100% - 16px, 720px); }
    #header .site-title { font-size: 40px; }
    #socialLinks { position: static; margin-top: 1rem; width: 250px; flex: 0 0 auto; }
    #header .d-flex.align-items-start { flex-direction: column; }
    #header .navbar-nav .nav-link { border-top: 1px solid #ddd; min-height: 44px; }
    #header .navbar-nav .nav-link::after { display: none; }
    #content { min-height: 0; padding-bottom: 2rem !important; }
    #content .book-inset { float: none; width: 100%; padding-right: 0; }
    #sidebar { top: 0; width: 100%; max-width: 360px; margin-left: auto; margin-right: auto; }
    #footer .topslack { display: none; }
    #footer .nav-link { border-right: none; padding-left: 0 !important; }
}

@media (max-width: 575.98px) {
    #header .site-title { font-size: 34px; }
    #content h1, #content h2 { font-size: 26px; }
    #content h1 .subheading, #content h2 .subheading { font-size: 18px; }
    #content .bio-inset img[style*="float"] { float: none !important; display: block; margin: 0 auto 1rem !important; }
}
