/**
 * Theme Name: Wolfram MathCore
 * Theme URI: http://wolframmathcore.com/
 * Description: Wolfram MathCore Theme, 2021
 * Version: 1.0
 * Author: Wolfram Research
 * Author URI: http://wolfram.com/
 * Tags: Wolfram
 *
 *     Wolfram MathCore 2021 v1.0
 *     Contact WBI for problems or updates to this theme
 *
 *     requires: /common/framework/css/framework.css
 */


/* ========================================================================== 
   setup/overrides
   ========================================================================== */
:root {
    /*greys*/
    --grey-22: #222222;
    --grey-53: #535353;
    --grey-5a: #5a5a5a;
    --grey-9a: #9a9a9a;
    --grey-b3: #b3b3b3;
    --grey-ce: #cecece;
    --grey-dd: #dddddd;
    --grey-f7: #f7f7f7;

    /*links*/
    --link-base: #2378ff;
    --link-hover: #ff7700;

    /*etc*/
    --main-red: #dd1100;
}

html {
    border: none; 
    color: var(--grey-53);
    font-family: 'Source Sans Pro', Arial, sans-serif;
}

section, main header, main footer { padding: 0 2.875rem; }
.inner {
    font-size: 1rem;
    margin: 0 auto;
    max-width: 80%; /*was 1120px*/
    padding: 0;
}

a { color: var(--link-base); text-decoration: none; }
a:hover { color: var(--link-hover); }

.button {
    background: var(--main-red);
    border-radius: 0.3125rem;
    color: #fff;
    display: inline-block;
    padding: 0.625rem 1.875rem;
}
.button:hover { background: #f77700; color: #fff; }



/* ==========================================================================
   nav
   ========================================================================== */
#header {
    background: #000;
    padding: 0 1rem;
}
#topnav .inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: none;
    padding: 0;
}

#topnav .inner h1 { display: flex; }

#topnav #right-side { 
    align-items: center;
    display: flex; 
}

#topnav .inner ul { display: flex; }
#topnav .inner li { 
    display: inline-block; 
    padding-top: 0.625rem; 
}

#topnav .inner ul a {
    background: transparent;
    border-top: 3px solid transparent;
    color: #fff;
    display: block;
    line-height: 2.125rem;
    padding: 0 1.25rem calc(0.625rem + 3px);
    position: relative;
}


/*hover/active*/
#topnav .inner ul a:hover span { text-decoration: underline; } 

.page-template-page-engineering-expertise #topnav li a#expertise-menu, 
.page-customer-cases #topnav li a#customer-cases-menu, 
.blog #topnav li a#blog-menu, 
.single-post #topnav li a#blog-menu, 
.page-about #topnav li a#about-menu, 
.page-careers #topnav li a#careers-menu, 
.page-contact-us #topnav li a#contact-us-menu {
    color: #808080;
}
.page-template-page-engineering-expertise #topnav li a#expertise-menu:after, 
.page-customer-cases #topnav li a#customer-cases-menu:after, 
.blog #topnav li a#blog-menu:after, 
.single-post #topnav li a#blog-menu:after, 
.page-about #topnav li a#about-menu:after, 
.page-careers #topnav li a#careers-menu:after, 
.page-contact-us #topnav li a#contact-us-menu:after {
    border-style: solid;
    content: '';
    display: block;
    height: 0;
    position: absolute;
    width: 0;
}
#topnav ul a:after {
    border-color: transparent transparent #808080 transparent;
    border-width: 0.375rem;
    bottom: 0;
    left: calc(50% - 0.375rem);
}


/*hamburger*/
#topnav .inner .menu { display: none; }


/*contact*/
#topnav .button {
    font-size: 0.9375rem;
    margin-left: 1.25rem;
    padding: 0.3125rem 1rem 0.375rem;
}


/*subnav*/
#topnav .dropdown-link { background: transparent; }
#topnav #expertise-menu { display: inline-block; }

#topnav .dropdown-link button {
    background: url('/common/framework/img/icons.en.png') no-repeat;
    background-size: 288px 160px;
    border: 0;
    height: 6px;
    margin-left: 0.375rem;
    min-width: 10px;
    outline: none; 
    position: relative;
    vertical-align: middle; 
    width: 10px;
}
#topnav .show-dropdown > a {
    background: #333 !important;
    border-top-color: #c02942 !important;
}
#expertise-menu:hover button,
#topnav .show-dropdown.dropdown-link button {
    background-position: -10px 0;
}
.show-dropdown a span { text-decoration: none !important; }
.show-dropdown a:after { display: none !important; }

#topnav .inner ul.dropdown {
    background:#333;
    display: none; 
    max-width: 13rem;
    min-width: 13rem;
    padding: 0.25rem 0.875rem;
    position: absolute;
    z-index: 1000;

}
#topnav ul.dropdown.show { display: block; }
#topnav .inner ul.dropdown a {
    line-height: 1.25rem;
    /*font-size: 0.9rem;*/
    padding: 0.5rem 0.375rem;
    background: transparent; 
    border-top-color: #555;
    border-width: 1px 0 0;
    color: #bbb;
}
#topnav .inner ul.dropdown li:first-child a { border: none; }

#topnav .inner ul.dropdown li {
    display: block;
    margin: 0;
    padding: 0;
    text-align: left;
}

/*sub active*/
.page-model-based-design #topnav .inner ul.dropdown a#model-based-design,
.page-algorithm-development #topnav .inner ul.dropdown a#algorithm-development,
.page-data-analysis #topnav .inner ul.dropdown a#data-analysis,
#topnav .inner ul.dropdown a:hover span {
    color: #fff;
    text-decoration: none;
}



/* ==========================================================================
   shared
   ========================================================================== */
main h1 {
    color: #222;
    font-size: 2.625rem;
    font-weight: 400;
    margin: 0;
    padding: 0 0 1.5rem;
}

body:not(#blog) main p {
    font-size: 1.375rem;
    font-weight: 300;
    line-height: 2rem;
    padding: 0.625rem 0
}
main p.large {
    font-size: 2rem !important;
    margin: 2rem 0 1rem;
}

body:not(#blog) main .button { font-size: 1.25rem; }

#embedded-posts { padding-top: 0.625rem; }

#bottom-bar {
    background-color: #0a5092;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-top: 0.3125rem solid #3ba0f7;
    height: 18.75rem;
    padding: 0;
}



/* ==========================================================================
   homepage
   ========================================================================== */
#blog-featured { padding-top: 3rem; }
#blog-featured h2 { 
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-bottom: 0.625rem;
}
#blog-featured h2 span { font-size: 1.625rem; } 
#blog-featured h2 a { font-size: 1.25rem; } 
#blog-featured h3 {
    font-size: 1.25rem;
    padding-bottom: 1rem;
    text-align: center;
}



/* ==========================================================================
   slideshow
   ========================================================================== */
/*main*/
.slides {
    overflow: hidden;
    padding: 0;
    position: relative;
}
.slides-inner, .slide { height: 30rem; }
.slides-inner {
    position: relative;
    width: 100%;
}
.slide {
    display: block;
    left: auto;
    margin: auto;
    opacity: 0;
    padding: 0;
    position: absolute;
    right: -100%;
    top: 0;
    transition: right 1.5s, opacity .3s ease-in;
    width: 100%;
}
.slide.show {
    left: auto;
    opacity: 1;
    right: 0;
    transition: right 1.5s, opacity .3s ease-in;
}
.slide.prev {
    left: auto;
    opacity: 0;
    right: 100%;
    transition: right 1.5s, opacity .3s ease-out;
}


/*nav dots*/
.nav-links {
    bottom: 5rem;
    display: none;
    position: absolute;
    text-align: center;
    width: 100%; 
}
.nav-links.show { display: block; }
.nav {
    background: #fff;
    border-radius: 100%;
    border: 1px solid #f77700;
    cursor: pointer;
    display: inline-block;
    height: 1.125rem;
    margin: 0 .375rem;
    width: 1.125rem;
}
.nav.show {
    background: #f77700;
    border-color: #fff;
    display: inline-block !important;
}


/*nav arrows*/
.arrows { display: none; }
.arrows.show { display: block; }
.arrows > span {
    background: rgba(255,255,255,0.5);
    bottom: 0;
    color: #e17f28;
    cursor: pointer;
    font-size: 8.75rem;
    font-weight: 300;
    height: 6.5rem;
    line-height: 75px;
    position: absolute;
    margin: auto;
    text-align: center;
    top: 0;
    width: 3.75rem;
}
.arrows > span:hover {
    background: #fff;
    color: #f77700;
}
.arrows > span:active { color: #898989; }
.arrows .prev { left: 0; }
.arrows .next { right: 0; }



/* ==========================================================================
   slideshow (homepage overrides)
   ========================================================================== */
.page-front-page .slides { background: #222; }
.page-front-page .slides-inner, .page-front-page .slide { height: 38.5rem; }
.page-front-page .slide {
    background-repeat: no-repeat;
    background-size: cover;
}
.page-front-page #slide1 { background-image: url('img/home/slideshow-bg-contact.jpg'); }
.page-front-page #slide2 { background-image: url('img/home/slideshow-bg-expertise.jpg'); }
.page-front-page #slide3 { background-image: url('img/home/slideshow-bg-cases.jpg'); }
.page-front-page #slide4 { background-image: url('img/home/slideshow-bg-news.jpg'); }
.page-front-page #slide5 { background-image: url('img/home/slideshow-bg-careers.jpg'); }
.page-front-page #slide6 { background-image: url('img/home/slideshow-bg-about.jpg'); }

.page-front-page .slide-content {
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
    height: 100%;
    position: absolute;
    width: 38.5rem; /*606px*/
    top: 0; 
    left: 6.875rem;
    padding: 4rem 3rem 3.75rem;
}
.page-front-page .slide-content h1 { line-height: 2.8125rem; }
.page-front-page .slide-content p { 
    color: #222;
    line-height: 1.875rem;
    padding-bottom: 2rem; 
    padding-top: 0;
}

.page-front-page .slide-content .button { font-size: 1.125rem; }



/* ==========================================================================
   slideshow (customer cases overrides)
   ========================================================================== */
/*special nav, not dots*/
.customers .nav-links {
    background: #3ba1f6; 
    bottom: unset;
    line-height: 3.125rem;
    height: 3.125rem;
    top: 0;
}
.customers .nav {
    background: none;
    border: none;
    border-left: 1px solid #bbb;
    border-radius: 0;
    color: #fff;
    height: auto;
    line-height: 1.1875rem;
    margin: 0 0.375rem;
    padding-left: 0.75rem;
    width: auto;
}
.customers .nav:first-child { border-left: 0; padding-left: 0; }
.customers .nav.show,
.customers .nav:hover {
    background: none;
    border-color: #bbb;
    text-decoration: underline;
}


/*main*/
.slides.customers { 
    background: #2978bb; 
    color: #fff; 
    padding-top: calc(3.125rem - 1px);
}
.customers .slides-inner, .customers .slide { height: 25.625rem; }/*height of bg images*/
.customers .arrows > span { top: 1.635rem; }



/* ==========================================================================
   expertise/customer cases (shared)
   ========================================================================== */
/*setup/general*/
.page-template-page-engineering-expertise main {
    background-position: bottom center;
    background-repeat: no-repeat;
}
.page-model-based-design main { background-image: url('img/model-based-design/bottom-bg.jpg'); }
.page-algorithm-development main { background-image: url('img/algorithm-development/bottom-bg.jpg'); }
.page-data-analysis main { background-image: url('img/data-analysis/bottom-bg.jpg'); }

.page-template-page-engineering-expertise #footer-gradient, .page-customer-cases #footer-gradient { display: none; }


/*other*/
#more { 
    padding-left: 0; 
    padding-right: 0; 
    padding-top: 3rem;
}
body:not(#blog) #more p { padding: 0 2.375rem 1.25rem; } /*sides minus 0.5rem*/

#logos.customers { padding-top: 4rem; }
#logos.customers img { height: auto; max-width: 100%; }

#contact-blurb { padding: 5rem 1.75rem; }
.page-template-page-engineering-expertise #contact-blurb { padding-top: 2rem; }
.page-customer-cases #contact-blurb {
    background: url('img/customer-cases/bottom-background.jpg') no-repeat bottom left;
    background-size: cover;
}


/*subnav*/
.expertise .subnav { display: flex; padding: 0.625rem 0 1.75rem; }

.expertise .subnav a {
    background: #e7e7e7;
    border-radius: 0.25rem;
    color:#404040;
    display: inline-block;
    margin: 0 1rem 0.75rem 0;
    padding: 0.375rem 0.75rem;
}
.expertise .subnav a:hover {
    background: #f77700;
    color: #fff;
}
.page-model-based-design .subnav .model-based-design,
.page-algorithm-development .subnav .algorithm-development,
.page-data-analysis .subnav .data-analysis {
    background: var(--main-red);
    color: #fff;
    position: relative;
}
.page-model-based-design .subnav .model-based-design:after,
.page-algorithm-development .subnav .algorithm-development:after,
.page-data-analysis .subnav .data-analysis:after {
    border-bottom: 0;
    border-left: 0.375rem solid transparent;
    border-right: 0.375rem solid transparent;
    border-top: 0.375rem solid var(--main-red);
    bottom: -0.375rem;
    content: '';
    height: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 0;
}
.page-model-based-design .subnav .model-based-design:hover:after,
.page-algorithm-development .subnav .algorithm-development:hover:after,
.page-data-analysis .subnav .data-analysis:hover:after {
    border-top: 0.375rem solid #f77700;
}


/*intro*/
#intro.customers {
    background: url('img/customer-cases/top-background.jpg') no-repeat top right;
    background-size: 50%;
}
.page-model-based-design #intro { background: url('img/model-based-design/intro-bg.jpg') no-repeat bottom center; }
.page-algorithm-development #intro { background: url('img/algorithm-development/intro-bg.jpg') no-repeat top right; }
.page-data-analysis #intro { background: url('img/data-analysis/intro-bg.jpg') no-repeat top right; }

#intro.expertise .inner, #intro.customers .inner { padding: 4rem 20% 0 0; }
#intro.expertise .inner { padding-right: 0; }
#intro.customers .inner { padding-bottom: 3.75rem; }

#intro.expertise p, #intro.customers p { padding-bottom: 1rem; }

.feature-img { font-size: 0; padding-top: 2.5rem; }
.page-model-based-design .feature-img { text-align: center; }
.feature-img img {
    height: auto;
    max-width: 100%;
}



/* ==========================================================================
   quotes (expertise/customers)
   ========================================================================== */
/*a structural difference*/
#quote.expertise {
    background-color: #2978bb; 
    background-repeat: no-repeat;
    color: #fff; 
    height: 23.625rem;
    position: relative;
}

/*shared*/
.slide-quote {
    margin: 0 auto;
    padding: 1.25rem 0 0;
    position: absolute;
    width: 35rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

body:not(#blog) .slide-quote p {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 1.125rem;
    line-height: 1.75;
}
.slide-quote p.text:before,
.slide-quote p.text:after {
    font-size: 11rem; 
    line-height: 1;
    position: absolute;
    top: -0.625rem;
    width: 5.25rem;
}
.slide-quote p.text:before {
    content: '“';
    left: -5.25rem;
    text-align: left;
}
.slide-quote p.text:after {
    content: '”';
    right: -5.25rem;
    text-align: right;
}
body:not(#blog) .slide-quote p.attr { 
    color: #9adaff; 
    margin-right: -2rem;
    padding: 0.625rem 0 0.5rem;
    text-align: right;
}
.slide-quote .img { 
    font-size: 0; 
    margin-right: -2rem; 
    text-align: right; 
}
.slide-quote img { height: auto; max-width: 100%; }

.slide-quote .special {
    display: flex;
    justify-content: flex-end;
    margin-right: -2rem;
    padding-top: 0.625rem;
}
.slide-quote .special > * {
    display: inline-block;
    vertical-align: top;
}
body:not(#blog) .slide-quote .special p.attr { 
    margin-right: 0;
    margin-top: -0.5rem; 
    padding-top: 0;
}
.slide-quote .special .img { margin-right: 0.625rem; }
.slide-quote .special img { width: unset; min-width: 92px; }


/*backgrounds (expertise)*/
.page-model-based-design #quote { background-image: url('img/model-based-design/quotes-bg.jpg'); }
.page-algorithm-development #quote { background-image: url('img/algorithm-development/quotes-bg.jpg'); }
.page-data-analysis #quote { background-image: url('img/data-analysis/quotes-bg.jpg'); }


/*backgrounds (customers)*/
.customers #slide1 { background: url('img/customer-cases/quotes-skf-bg.jpg') no-repeat; }
.customers #slide2 { background: url('img/customer-cases/quotes-rolls-royce-bg.jpg') no-repeat; }
.customers #slide3 { background: url('img/customer-cases/quotes-region-ostergotland-bg.jpg') no-repeat; }
.customers #slide4 { background: url('img/customer-cases/quotes-azelio-bg.jpg') no-repeat; }
.customers #slide5 { background: url('img/customer-cases/quotes-siemens-bg.jpg') no-repeat; }
.customers #slide6 { background: url('img/customer-cases/quotes-scania-bg.jpg') no-repeat; }



/* ==========================================================================
   about
   ========================================================================== */
.page-about #intro {
    background: url('img/about/background.jpg') no-repeat top right;
    background-size: cover;
    padding-right: 30%;
}
.page-about #intro .inner {
    background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    max-width: 48.75rem; /*780px*/
    padding: 4rem 3rem 3rem 3%;
}
.page-about main #intro h1 + p {
    color: #222;
    font-size: 1.5625rem;
    font-weight: 400;
    padding-top: 0;
}
.page-about #bottom-bar { background-image: url('img/about/bottom-bar.jpg'); }



/* ==========================================================================
   careers
   ========================================================================== */
.page-careers #intro {
    background: url('img/careers/background.jpg') no-repeat top right;
    background-size: 50%;
    overflow: hidden;
}
.page-careers #intro .inner { padding: 4rem 0 3.75rem; }

.page-careers #intro .mini-t .txt { width: 55%; }
.page-careers #intro .mini-t .img { padding-left: 4rem; width: 45%; }
.page-careers #intro .mini-t img { 
    height: auto;
    margin-top: 0.625rem;
    max-width: 100%; 
}

.page-careers main h2 {
    color: var(--main-red);
    font-size: 1.875rem;
    font-weight: 300;
}
body:not(#blog).page-careers main p { font-size: 1.625rem; }
body:not(#blog).page-careers main p.first { max-width: 32rem; }
body:not(#blog).page-careers main p.large { margin-top: 1rem; }

.page-careers #bottom-bar { background-image: url('img/careers/bottom-bar.jpg'); }



/* ==========================================================================
   contact
   ========================================================================== */
.page-template-page-contact-us .inner { padding: 4rem 0 0; }

#contact-main { width: calc(100% - 23rem); }
#contact-main p.information {
    font-size: 1.3125rem;
    line-height: 1.9375rem;
    padding-bottom: 1rem;
    padding-top: 0;
}
#contact-mathcore-form {
    border: 0;
    padding: 0;
    width: 100%;
    height: 1100px; 
}


/*sidebar*/
#contact-sidebar { padding-left: 4.5rem; width: 23rem; }

.sidebar-inner { 
    background: #f9f9f9; 
    border: 1px solid #cdcdcd; 
    padding: 1.25rem 1.5rem;
}
#contact-sidebar h3 { 
    color: #222; 
    font-size: 1.1875rem; 
    font-weight: 600; 
}
body:not(#blog) #contact-sidebar p { 
    color: #383838;
    font-size: 0.9375rem;
    line-height: 1.5;
    padding: 0.875rem 0 0;
    width: calc(100% - 5rem);
}
body:not(#blog) #contact-sidebar p.label { 
    color: #717171;
    width: 5rem;
}



/* ==========================================================================
   footer
   ========================================================================== */
#footer-gradient {
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(213,213,213,1) 100%);
    height: 3.125rem;
}

#footer { text-align: center; }

#footer .inner { padding: 1.5rem 0; }

#footer-links {
    display: flex;
    justify-content: center;
    margin-bottom: 2rem;
}
#footer-links span { padding: 0 1.25rem; white-space: nowrap; }

#footer #copyright {
    color: #868686;
    font-size: 0.75rem;
    line-height: 0.875rem;
}
#footer #copyright a {
    color: #464646;
    font-weight: 600; 
}
#footer #copyright a:hover { color: #868686; }
#footer #copyright > * { display: inline-block; }
#footer #copyright .border {
    border-right: 1px solid #aaa;
    margin-right: 0.3125rem;
    padding-right: 0.375rem;
}



/* ==========================================================================
   404/search
   ========================================================================== */
#search #intro {
    background: url('img/about/background.jpg') no-repeat top right;
    background-size: cover;
    border-bottom: 0.3125rem solid #3ba0f7;
    padding-right: 30%;
}
#search #intro .inner {
    background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    max-width: 48.75rem; /*780px*/
    padding: 4rem 3rem 12rem;
}
#search.search-results #intro { padding-right: 2.875rem; }
#search.search-results #intro .inner { 
    background: linear-gradient(0deg, rgba(255,255,255,0.5) 0%, rgba(255,255,255,1) 100%);
    max-width: 80%;
    padding-bottom: 3rem; 
}
/*#search.error404 #intro .inner { padding-top: 10rem; }*/
#search main #intro h1 + p {
    font-size: 1.375rem;
    font-weight: 300;
    padding-top: 0;
}


/*search bar*/
form#nf-search { margin-top: 0.5rem; }
#nf-search input {
    border: 1px solid var(--grey-b3);
    border-radius: 0.3125rem; 
    padding: 0.875rem 0.3125rem 0.3125rem;
    font-size: 14px !important;
    max-width: 600px;
    width: 100%;
}
#nf-search .hover-label-input label { top: 13px; }
#nf-search label.label-hover { top: 4px; }


/*results*/
.search-results-list a {
    align-items: flex-start;
    border-bottom: 1px solid var(--grey-ce);
    display: grid;
    grid-gap: 1rem;
    grid-template-columns: 4rem 1fr;
    padding: 1rem 0;
}
.search-results-list a:last-child { 
    border-bottom: 0;
    margin-bottom: 0; 
}
.search-results-list .img { 
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border: 1px solid var(--grey-ce);
    border-radius: 0.3125rem;
    height: 4rem;
    width: 4rem;
}
.search-results-list .txt { margin-top: -6px; }
.search-results-list .txt span { 
    color: var(--grey-9a);
    font-size: 11px; /*we don't want this shrinking!*/ 
    line-height: 1;
    text-transform: uppercase;
}
.search-results-list .txt h2 { 
    color: var(--grey-40);
    font-size: 1.1875rem;
    line-height: 1.6rem;
    /*padding-top: 0.25rem;*/
}
.search-results-list a:hover .txt h2 { color: var(--link-hover); }
body:not(#blog) .search-results-list .txt p {
    color: var(--grey-53);
    font-size: 1rem; 
    font-weight: 400;
    line-height: 1.3;
    padding: 0;
}


/*search nav*/
.search-nav { }



/* ========================================================================== 
   responsive breakpoint styles 
   ========================================================================== */
@media (max-width: 1200px) {
    /*shared*/
    #bottom-bar { height: 16rem; }


    /*expertise/customer cases (shared) > intro*/
    #intro.customers { background-size: cover; }
}


@media (max-width: 900px) {
    /*site setup > general*/
    section, main header, main footer { padding: 0 1.75rem; }


    /*nav*/
    #topnav .inner { position: relative; height: 3.75rem; }
    #topnav .inner ul {
        background: #333;
        display: none;
        left: 0;
        margin: 0 -1rem;
        padding-bottom: 0.625rem;
        position: absolute;
        top: 3.75rem;
        width: calc(100% + 2rem);
        z-index: 100;
    }
    #topnav .inner li { display: block; }
    #topnav .inner ul a {
        font-size: 1.15rem;
        padding: 0.25rem 1rem;
    }
    #topnav ul a:after {
        border-color: transparent transparent transparent #777 ;
        border-width: 0.375rem;
        bottom: calc(50% - 0.375rem);
        left: 0;
    }


    /*nav > hamburger*/
    #topnav .inner .menu {
        background: #222;
        border: 0;
        cursor: pointer;
        display: inline-block;
        margin: 0rem;
        outline: none;
        padding: 0.3125rem;
        position: relative;
    }
    #topnav .menu i { opacity: 0.78; }
    #topnav .inner .menu:hover i { opacity: 1; }
    

    /*nav > subnav*/
    #topnav .show-dropdown > a,
    #expertise-menu:hover {
        border-top-color: transparent !important;
    }
    #topnav .inner ul.dropdown { 
        margin: 0;
        max-width: none;
        padding: 0;
        position: relative; 
        top: 0;
        width: 100%;
    }
    #topnav .inner ul.dropdown a { 
        font-size: 1rem;
        padding: 1rem 0.375rem;
    }
    #topnav .inner ul.dropdown li { padding: 0 1.25rem; }
    #topnav .inner ul.dropdown li:hover { }
    #topnav .inner ul.dropdown li a:hover { }


    /*shared*/
    #bottom-bar { height: 13rem; }


    /*slideshow*/
    .nav-links { bottom: 3rem; }


    /*slideshow (homepage overrides)*/
    .page-front-page .slides-inner, .page-front-page .slide { height: 36rem; }
    .page-front-page .slide-content { 
        left: 6rem; 
        padding: 3rem 1.875rem;
        width: calc(100% - 12rem); 
    }


    /*expertise/customer cases (shared) > other*/
    #more { padding: 0; }
    body:not(#blog) #more p { padding: 0 1.75rem 1.25rem; max-width: none; } 

    #logos.customers { padding-top: 2.5rem; }
    #contact-blurb { padding-top: 2rem; padding-bottom: 4rem; }


    /*expertise/customer cases (shared) > intro*/
    #intro.expertise, #intro.customers { padding: 0; }
    #intro.expertise .inner, #intro.customers .inner { 
        max-width: 100%; 
        padding: 3rem 1.75rem 0;
    }
    #intro.customers .inner { background: rgba(255,255,255,0.75); padding-bottom: 2rem; }


    /*quotes (expertise/customers) > shared*/
    .slide-quote { max-width: 35rem; width: calc(100% - 10rem); }
    .customers .slide-quote { width: calc(100% - 20rem); }
    .slide-quote p.text:before,
    .slide-quote p.text:after {
        font-size: 10rem; 
        width: 5rem;
    }
    .slide-quote p.text:before { left: -5rem; }
    .slide-quote p.text:after { right: -5rem; }


    /*about*/
    .page-about #intro { padding: 0; }
    .page-about #intro .inner { 
        background: rgba(255,255,255,0.75); 
        max-width: 100%; 
        padding: 3rem 1.75rem 2rem;
    }


    /*careers*/
    .page-careers #intro .inner { padding-top: 3rem; }


    /*contact*/
    .page-template-page-contact-us .inner { padding: 3rem 0; }
    #contact-sidebar { padding-left: 0; padding-top: 2rem; }


    /*404/search*/
    #search #intro { padding: 0 !important; }
    #search #intro .inner { 
        background: rgba(255,255,255,0.75);
        max-width: 100% !important; 
    }
}


@media (max-width: 600px) { 
    /*site setup > general*/
    section, main header, main footer { padding: 0 1.5rem; }


    /*shared*/
    main h1 { font-size: 2.3rem; }
    body:not(#blog) main p { font-size: 1.3125rem; }
    main p.large { font-size: 1.875rem; margin-top: 1rem; }
    #bottom-bar { height: 8rem; }


    /*slideshow*/
    .nav-links { bottom: 2rem; }
    .arrows { display: none !important; }


    /*slideshow (homepage overrides)*/
    .page-front-page .slides-inner, .page-front-page .slide { height: 32rem; }
    .page-front-page .slide { background-position: center; }
    .page-front-page .slide-content { 
        left: 0; 
        padding: 2.5rem 1.5rem;
        width: 100%; 
    }
    .page-front-page .slide-content h1 { line-height: 2.5rem; }


    /*expertise/customer cases (shared) >  other*/
    body:not(#blog) #more p { padding: 0 1.5rem 1.25rem; max-width: none; } 


    /*slideshow (expertise/customer cases overrides)*/
    .customers .nav-links { 
        line-height: 1.875rem;
        height: 4.25rem;
        padding-top: 0.375rem;
    }
    .customers .nav, .customers .nav.show, .customers .nav:hover { display: inline !important; }
    .customers .nav:nth-child(3):after {
        content: '\A';
        white-space: pre;
    }
    .customers .nav:nth-child(4) {
        border: 0;
        margin-left: 0 !important;
        padding-left: 0; 
    }
    .slides.customers { padding-top: calc(4.25rem - 1px); }
    .customers .slides-inner, .customers .slide { height: 32rem; }
    .customers .slide { background: none !important; }


    /*expertise/customer cases (shared) > other*/
    #more .inner { padding: 1rem 1.5rem 0; }
    #contact-blurb { padding-bottom: 3rem; }


    /*expertise/customer cases (shared) > intro*/
    #intro.expertise, #intro.customers { background-position: 75% top; }
    #intro.expertise .inner, #intro.customers .inner { padding: 2.5rem 1.5rem; }
    #intro.expertise .inner { padding-bottom: 0; }
    .feature-img { padding-top: 1rem; }


    /*quotes (expertise/customers) > a structural difference*/
    #quote.expertise { background-image: none !important; height: 30rem; }


    /*quotes (expertise/customers) > shared*/
    .slide-quote { max-width: none; padding: 0 1.75rem; width: 100% !important; }
    .slide-quote p.text { padding-top: 0; }
    .slide-quote p.text:before,
    .slide-quote p.text:after {
        font-size: initial; 
        line-height: initial;
        position: relative;
        top: 0;
        width: 0.75rem;
    }
    .slide-quote p.text:before { left: 0; margin-left: -0.75rem; }
    .slide-quote p.text:after { right: 0.125rem; }
    .slide-quote p.attr, .slide-quote .img, .slide-quote .special { margin-right: 0; }


    /*about*/
    .page-about #intro { background-position: 75% top; }
    .page-about #intro .inner { padding: 2.5rem 1.5rem; }
    .page-about main #intro h1 + p { font-size: 1.375rem; }


    /*careers*/
    .page-careers #intro .inner { padding-top: 2.5rem; }
    .page-careers #intro .mini-t .txt, 
    .page-careers #intro .mini-t .img { 
        display: block; 
        padding-left: 0; 
        width: 100%; 
    }
    .page-careers #intro .mini-t img { 
        height: auto;
        margin-top: 0.625rem;
        max-width: 67%; 
    }
    .page-careers main p { font-size: 1.375rem; }
    .page-careers main p.first { max-width: none; }


    /*contact*/
    .page-template-page-contact-us .inner { padding: 2rem 0; }


    /*footer*/
    #footer-links { 
        display: block;
        font-size: 0;
        line-height: 1.75rem;
        margin: -0.25rem auto 1.5rem; 
    }
    #footer-links span { 
        border-right: 1px solid #aaa;
        display: inline !important; 
        font-size: 1rem;
        padding: 0 1rem;
    }
    #footer-links span:nth-child(3),
    #footer-links span:last-child {
        border: none;
    }
    #footer-links span:nth-child(3):after {
        content: '\A';
        white-space: pre;
    }
    #footer #copyright span.border {
        border-right: none;
        margin-right: 0;
        padding-right: 0;
    }


    /*404/search*/
    #search #intro { background-position: 75% top; }
    #search #intro .inner { padding: 2.5rem 1.5rem !important; }
    #search #intro h1 + p { font-size: 1.375rem; }
    .search-results-list a { grid-gap: 0.75rem; }

}


@media (max-width: 320px) { 
    /*slideshow (homepage overrides)*/
    .page-front-page .slides-inner, .page-front-page .slide { height: 34rem; }


    /*slideshow (customer cases overrides)*/
    .customers .slides-inner, .customers .slide { height: 35rem; }


    /*expertise/customer cases (shared) > subnav*/
    .expertise .subnav a { font-size: 12px; }


    /*footer*/
    #footer li { font-size: 12px; }
}