@charset "UTF-8";

/* CSS Document */
body {
    font-family: 'Lato', Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #FFF;
    font-weight: 300;
}

body,
html {
    height: 100%;
}

a {
    outline: none;
}

a:link,
a:visited {
    color: #00627e;
    text-decoration: none;
}

a:hover,
a:active {
    color: #73B1B7;
}

#wrapper {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin: 0 auto;
}

#footer,
.push {
    height: 72px;
    clear: both;
}

p {
    font-size: 17px;
    line-height: 23px;
    color: #464646;
    margin: 0 0 15px;
    text-shadow: 0 0 0 black;
}

ul {
    color: #73777d;
    margin: 0 0 15px 15px;
    padding: 0;
}

li {
    color: #73777d;
    margin: 0 0 5px;
}

hr {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: rgba(0, 0, 0, 0.1) -moz-use-text-color rgba(255, 255, 255, 0.3);
    border-image: none;
    border-left: 0 none;
    border-right: 0 none;
    border-style: solid none;
    border-width: 1px 0;
    height: 0;
    margin: 10px 0 30px;
    clear: both;
}

input,
textarea {
    box-sizing: border-box;
    font-family: 'Lato', Arial, sans-serif;
    font-size: 17px;
    line-height: 23px;
    color: #73777d;
    margin: 0 0 15px;
    font-weight: 300;
    border: 1px solid #cbcbcb;
    padding: 5px;
    width: 100%;
}

input.form-button {
    background-color: #00627e;
    border: none;
    color: #FFF;
    padding: 10px 8px;
    width: 48%;
    float: left;
}

.left_button {
    margin-right: 4%;
}

#form_link {
    display: inline;
    color: #00627e;
}

#form_link:hover {
    color: #73B1B7;
}

input.form-button:hover {
    background-color: #73B1B7;
}

label {
    clear: both;
    display: block;
    margin: 10px 0;
    font-size: 15px;
    color: #00627e;
    text-transform: uppercase;
    font-weight: 400;
}

/* classes */
.inner {
    width: 100%;
    max-width: 1300px;
    margin: auto;
}

/* header and navigation */
#header {
    width: 100%;
    background-image: none;
    background-position: top center;
    background-repeat: no-repeat;
    padding: 0;
    background-color: #00627e;
    height: 70px;
    position: fixed;
    top: 0;
    display: block;
    z-index: 999;
}

#header .inner {
    position: relative;
    padding: 15px 0 25px;
}

#logo {
    display: block;
    float: left;
    width: 265px;
    margin-left: -300px;
    margin-top: -15px;
}

#tagline {
    font-family: 'Lato', Arial, sans-serif;
    text-transform: uppercase;
    color: #e016c2;
    font-size: 18px;
    line-height: 24px;
    padding: 18px 0 0 18px;
    float: left;
    font-weight: 300;
    letter-spacing: .025em;
}

#nav {
    float: right;
    width: auto;
    margin: 12px 10px 0 -7px;
}

#nav li {
    list-style-type: none;
    float: left;
    padding: 0 7px;
    margin: 0;

}

#nav li.last {
    padding-right: 0;
}

#nav li a:link,
#nav li a:visited {
    font-family: 'Lato', Arial, sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    text-decoration: none;
    color: #9d9fa2;
    font-size: 16px;
    padding-top: 8px;
    text-shadow: 0 0 0 #464646;
}

#nav li a:hover,
#nav li a:active,
#nav li.active a {
    font-family: 'Lato', Arial, sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    font-size: 16px;
    position: relative;
    background-image: url(images/arrow.svg);
    background-repeat: no-repeat;
    background-position: top center;
    width: 8px;
    height: 5px;
    text-shadow: 0 0 0 white;
}

.shadow {
    -webkit-box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.15);
    box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.15);
}

#phone {
    display: block;
    position: absolute;
    right: -140px;
    width: 140px;
    padding-left: 20px;
    box-sizing: border-box;
    top: 26px;
    color: #fff;
    font-weight: 300;
}

#image {
    background-repeat: repeat-x;
    background-color: #282339;
    margin-top: 70px;
    margin-bottom: 90px;
}

#image-bkg {
    background-image: url(images/header_image.jpg);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: cover;
    width: 100%;
    height: 600px;
    display: block;
    clear: both;
    position: relative;
}

#image-bkg::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 10px;
    left: 0;
    border-bottom: 1px white solid;

}

#image #meet {
    display: block;
    margin: 0 auto;
    width: 454px;
    height: 206px;
    padding-top: 80px;
}

.home h1 {
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 34px;
    line-height: 42px;
    color: #00627e;
    font-weight: 200;
    text-align: left;
    margin: 50px auto 0;
    padding-top: 50px;
    padding-left: 0px;
}

#beyond .title {
    width: 380px;
    float: left;
    display: block;
}

.home h1.big-title {
    color: #d45c41;
    font-size: 60px;
    font-weight: 400;
    line-height: 58px;
    margin: 0;
    text-align: left;
    text-transform: uppercase;
}

#beyond {
    display: block;
    height: 265px;
    margin-bottom: 90px;
    margin-left: 70px;
}

#beyond .arrow {
    height: 265px;
    float: left;
    width: 113px;
    padding: 0 55px 0 36px;
}

#beyond .arrow a {
    display: block;
    width: 113px;
    height: 115px;
    margin-top: 70px;
    background-image: url(images/arrows.gif);
}

#beyond .arrow a:link,
#beyond .arrow a:visited {
    background-position: 0 0;
}

#beyond .arrow a:hover,
#beyond .arrow a:active {
    background-position: 0 -135px;
}

#beyond .copy {
    padding-top: 60px;
    padding-left: 55px;
    box-sizing: border-box;
    width: 100%;
    max-width: 805px;
    float: left;
    border-left: 1px solid #006e96;
    height: 265px;
}

#beyond .copy p {
    font-family: 'Lato', Arial, sans-serif;
    font-weight: 400;
    font-size: 26px;
    line-height: 36px;
    color: #84888e;
    margin: 0 0 20px;
}

a.gray:link,
a.gray:visited {
    color: #3d3d3d;
    text-decoration: none;
}

a.gray:hover,
a.gray:active {
    color: #6aa0ba;
    text-decoration: none;
}

#services {
    background-image: url(images/expertise_banner.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    padding-top: 120px;
    margin-bottom: 100px;
    height: auto;
    width: 100%;
    background-size: cover;
    min-height: 400px;
    position: relative;
}


#services .col-icon {
    position: absolute;
    width: 31px;
    height: 31px;
    left: -50px;
    top: 5px;
    display: block;
}

#services .col {
    position: relative;
    width: 100px;
    display: block;
    float: left;
    margin-right: 250px;
    box-sizing: border-box;
}

#services .col.last {
    margin-right: 0;
}

.home h2,
.home h2 a:link,
.home h2 a:visited {
    font-family: 'Lato', Arial, Helvetica, sans-serif;
    font-weight: 300;
    text-transform: uppercase;
    color: #ea9d1c;
    font-size: 38px;
    line-height: 44px;
    margin: 0 0 20px;
    text-decoration: none;
}

.home h2 a:hover,
.home h2 a:active {
    color: #FFF;
}

#services .col ul {
    margin: 0;
    padding: 0;
}

#services .col ul li {
    list-style-type: none;
    margin: 0 0 10px;
    padding: 0;
    font-size: 17px;
    line-height: 22px;
    color: #FFF;
    font-weight: 300;
}

#who {
    height: 464px;
    margin-top: 120px;
    margin-bottom: 120px;
    margin-left: 65px;

    .center-wrapper {
        width: 100%;
    }

    #logo {
        margin: 0 auto;
        float: none;
    }

    #tagline {
        clear: both;
        padding-left: 0;
        display: block;
        text-align: center;
        width: 100%;
        font-size: 26px;
    }

    #image {
        margin-top: 180px;
    }


}

#who .title {
    width: 341px;
    float: left;
}

#who .copy {
    float: left;
    width: 100%;
    max-width: 667px;
    border-left: 1px solid #006e96;
    box-sizing: border-box;
}

#who .copy ul {
    margin: 0;
    padding: 0;
}

#who .copy ul li {
    margin: 0;
    padding: 0;
    list-style-type: none;
    float: left;
    width: 333px;
    height: 116px;
}

/* inside pages */
.not-front #header {
    background-repeat: repeat-x;
    background-color: #00627e;
}

.not-front #header .inner-layer {
    background-repeat: no-repeat;
    background-position: top center;
    height: 94px;
    display: block;
}

/* body.not-front {} */

#content {
    clear: both;
    margin-top: 200px;
}

#content_no_margin {
    clear: both;
}

body.not-front h1.title {
    font-weight: 400;
    text-transform: uppercase;
    margin: 0 0 60px;
    font-size: 64px;
    line-height: 68px;
    font-family: 'Raleway', Arial, Helvetica, sans-serif;
    color: #6aa0ba;
    position: relative;
    padding-right: 20px;
}

body.not-front h2 {
    font-weight: 300;
    text-transform: uppercase;
    font-size: 45px;
    line-height: 50px;
    color: #ea9d1c;
    margin: 50px 0 20px;
}

h3 {
    font-weight: 300;
    text-transform: uppercase;
    margin: 30px 0 10px;
    font-size: 28px;
    line-height: 32px;
    color: #3d3d3d;
}

h4 {
    font-weight: 300;
    color: #73777d;
    font-size: 18px;
    line-height: 22px;
    margin: 0 0 20px;
}

/* body.not-front  */
h5,
body.not-front h5 a:link,
body.not-front h5 a:visited {
    font-weight: 300;
    font-size: 17px;
    line-height: 22px;
    color: #00627e;
    text-decoration: none;
}

body.not-front h5 a:hover,
body.not-front h5 a:active {
    color: #73B1B7;
}

.main-copy {
    width: 800px;
    margin-bottom: 100px;
    padding-left: 20px;
}

.main-copy-contact {
    width: 100%;
    max-width: 800px;
    margin-bottom: 100px;
    float: left;
    padding-left: 20px;
}


.main-copy-expertise {
    box-sizing: border-box;
    width: 100%;
    max-width: 800px;
    margin-bottom: 100px;
    display: block;
    margin-left: 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.sidebar {
    width: 285px;
    margin-top: 0;
}

.sidebar.right {
    float: right;
    margin-left: 72px;
    display: block;
    min-height: 100px;
}

h2.leadership {
    position: relative;
}

ul#clients {
    margin: 0;
    padding: 0;
}

ul#clients li {
    margin: 0;
    padding: 0;
    list-style-type: none;
    width: 333px;
    height: 116px;
    float: left;
    display: block;
}

.callout {
    width: 100%;
    display: block;
    background-color: #FFF;
    padding: 20px 40px;
    box-sizing: border-box;
}

.sidebar p.icon {
    font-size: 40px;
    line-height: 40px;
    text-align: center;
    margin: 0;
    color: #6aa0ba;
}

body.not-front .sidebar h2 {
    font-size: 22px;
    line-height: 26px;
    color: #6aa0ba;
    margin: 10px 0 35px;
    text-align: center;
}

.callout p a.call {
    text-decoration: none;
    text-transform: uppercase;
    font-size: 18px;
    line-height: 24px;
    padding: 10px 0;
    color: #FFF;
    margin: 0;
    display: block;
    width: 100%;
}

.callout p.sidebar-btn {
    background-color: #e99c1b;
    padding: 0 10px;
}

.callout p.sidebar-btn:hover,
.callout p.sidebar-btn:active {
    background-color: #6aa0ba;
}

.callout .service {
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
    margin: 0 0 10px;
}

.callout .service a:link,
.callout .service a:visited {
    color: #73777d;
    text-decoration: none;
    padding-left: 20px;
    background-image: url(images/sidebar-icons.jpg);
    background-repeat: no-repeat;
}

.callout .service a:hover,
.callout .service a:active {
    color: #6aa0ba;
}

.callout .service #strategic {
    background-position: 0 3px;
}

.callout .service #strategic:hover {
    background-position: 0 -85px;
}

.callout .service #premiere {
    background-position: 0 -27px;
}

.callout .service #premiere:hover {
    background-position: 0 -115px;
}

.callout .service #precise {
    background-position: 0 -56px;
}

.callout .service #precise:hover {
    background-position: 0 -144px;
}

.slider,
.testimonial {
    margin-top: 45px;
    margin-right: 20px;
}

.author {
    font-size: 14px;
    line-height: 18px;
    color: #00627e;
}

.testimonial {
    padding: 0 25px;
}

body.contact-submit h5 {
    font-size: 22px;
    line-height: 26px;
}

body.contact-submit .form-results h4 {
    font-size: 18px;
    line-height: 22px;
    font-weight: 400;
}

.not-front .testimonial {
    margin-top: 20px;
    padding: 0;
    margin-bottom: 80px;
}

#contact_form_errorloc ul {
    margin: 0 0 30px;
}

#contact_form_errorloc ul li {
    font-style: italic;
    color: #f00033;
    list-style-type: none;
}

label .required {
    color: #f00033 !important;
}

/* footer */
#footer {
    background-color: #d45c41;
    color: #FFF;
    padding: 45px 0;
    display: block;
    clear: both;
    text-align: center;
    height: auto;
    padding-left: 20px;
    padding-right: 20px;
}

body.home #footer {
    margin-top: 150px;
}

#footer p {
    font-size: 16px;
    line-height: 22px;
    margin: 0;
}

body.not-front #footer h3,
#footer h3 {
    font-family: 'Lato', Arial, Helvetica, sans-serif;
    font-size: 30px;
    line-height: 34px;
    font-weight: 300;
    text-transform: uppercase;
    margin: 0 0 16px;
    color: #FFF;
}

a.gold:link,
a.gold:visited {
    text-decoration: none;
    color: #fff;
}

h3 a.gold:hover,
a.gold:active {
    color: #b9b9b9;
}

#footer p a:link,
#footer p a:visited {
    text-decoration: none;
    color: #FFF;
}

#footer p a:hover,
#footer p a:active {
    color: #bababa;
}

.mobile {
    display: none;
}

h2.services {
    position: relative;
}

#logo a,
#logo img {
    border: none !important;
    text-decoration: none !important;
}

*+html #beyond .copy {
    width: 480px;
}

.clear {
    clear: both;
}

.img-left {
    display: block;
    float: left;
}

.img-right {
    display: block;
    float: right;
}

.border {
    border: 1px solid #dcdcdc;
}

/* gallery page */
a.gallery-link {
    display: block;
    width: 100%;
    max-width: 667px;
    min-height: 266px;
    background-image: url(images/view-gallery.jpg);
    background-repeat: no-repeat;
    background-position: top center;
}

#image-gallery {
    display: block;
    width: 100%;
    max-width: 667px;
}

#image-gallery ul.thumbs {
    margin: 0;
    padding: 0;
}

#image-gallery ul.thumbs li {
    list-style-type: none;
    margin: 0;
    padding: 0 33px 33px 0;
    display: block;
    float: left;
    width: 200px;
    height: 189px;
}

#image-gallery ul.thumbs li.last {
    padding: 0 0 30px;
}

#image-gallery ul.thumbs li.row {
    clear: both;
}

/* #image-gallery ul.thumbs li a img {} */

/* NEW CLASSES/CLASS ATTRIBUTE CHANGES */
/* logo */
.logo-wrapper {
    border: red;
}

#logo {
    margin-left: 62px;
    margin-top: 0;
}


#slogan {
    text-align: left;
    width: 45%;
    margin: 50px 0;
    z-index: 2;
    padding-top: 1px;
    padding-left: 60px;
}

/* we cut through the noise */
#beyond .copy {
    padding-top: 20px;
    padding-left: 65px;
    height: 200px;
}

#beyond h1.big-title {
    padding-top: 0;
    line-height: 70px;
    padding-left: 0;
    font-weight: 400;
}

/* expertise banner */
#expertise_banner {
    background-image: url(images/expertise_banner.jpg);
    background-size: cover;
    width: 100%;
    height: 486px;
    background-position: center center;
    position: relative;
}

#expertise_banner::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.6) 75%);
    background-size: cover;
    opacity: .75;
    z-index: 1;
}

#expertise_banner::before {
    content: "";
    position: absolute;
    top: 10px;
    right: 0;
    bottom: 10px;
    left: 0;
    border-top: 1px white solid;
    border-bottom: 1px white solid;
    z-index: 2;
}

#economic,
#manufacturing,
#childhood,
#community {
    color: #fff;
    font-weight: 700;
    font-size: 28px;
    padding-top: 368px;
    position: relative;
    width: 25%;
    float: left;
    text-align: center;
    z-index: 2;
}

#economic {
    background-image: none;
}

.mobile_hr {
    display: none;
}

.expertise {
    color: #fff;
    width: 100%;
}

/* our work */
#who .copy {
    width: 100%;
    max-width: 900px;
    padding-left: 55px;
}

#who {
    height: 100%;
}

#who .copy ul {
    width: 1000px;
    padding-left: 55px;
}

#who .title {
    width: 250px;
}

.case_icon {
    width: 255px;
    height: 255px;
}

.case {
    width: 255px;
    height: 270px;
    display: inline-block;
    margin: 0 69px 20px 0;
    padding-bottom: 20px;
    vertical-align: top;
}

.case_name {
    text-align: center;
    color: #d45c41;
    font-weight: 400;
    margin-top: 15px;
    font-size: 20px;
}

#who .big-title {
    line-height: 70px;
}

#work_wrapper {
    float: left;
    border-left: #006e96 solid 1px;
    padding-left: 68px;
    text-align: center;
}

#bestseller .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

#bestseller .inner .title {
    width: 100%;
    max-width: 880px;
    text-align: center;
}

#bestseller .inner .image {
    width: 100%;
    max-width: 160px;
}

#bestseller .inner .image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Charitable Organizations */
#organizations .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

#organizations .title {
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 34px;
    line-height: 42px;
    color: #00627e;
    font-weight: 500;
    text-align: left;
    margin: 50px auto 0;
    padding-top: 50px;
    padding-left: 0px;
    text-align: center;
    max-width: 880px;
}

#organizations .logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}

#organizations .logos .logo {
    max-width: 200px;
}

#organizations .logos .logo img {
    width: 100%;
    height: 100%;
    max-width: 200px;
    max-height: 140px;
    object-fit: contain;
}

/* case studies */
.case_title,
.client {
    text-transform: uppercase;
    color: #d45c41;
}

.client {
    margin-top: 0;
}

.main-copy a {
    color: black;
}

.experience_image {
    display: inherit;
    width: 100%;
    max-width: 578px;
    height: auto;
    margin: 30px auto 15px;
}

a.case_name {
    color: #d45c41;
    display: inline-block;
    margin-top: 25px;
}

.case_name:hover {
    color: #ff7c4c;
}

.caption {
    font-style: oblique;
    text-align: center;
}

.red {
    color: #d45c41;
}

.gray {
    color: #464646;
}

/* quotes */
.quote p {
    font-size: 18px;
    line-height: 24px;
    color: #00627e;
    border-top: #b7b7b7 solid 1px;
    border-bottom: #b7b7b7 solid 1px;
    padding-top: 16px;
    padding-bottom: 16px;
    font-style: italic;
    font-family: raleway;
}

/* footer */
.word_dividers {
    display: inline-block;
}

/* colors */
.white {
    color: #fff;
    text-shadow: 0 0 0 white;
}


/* misc */
.headshot {
    width: 200px;
    height: 239px;
    float: left;
    margin-right: 15px;
    object-fit: cover;
}

.main_copy_bullets {
    margin-left: 0;
}

.main_copy_bullets li {
    list-style-type: none;
}

.main_copy_bullets li::before {
    content: "\2022";
    color: #d45c41;
    margin-right: 10px;
    list-style-type: none;
}

.group {
    white-space: pre;
}

.mobile_image {
    display: none;
}

.gallery_images {
    text-align: center;
    width: 100%;
    height: auto;
}

strong {
    font-weight: 400;
}

.not_mobile {
    display: inline-block;
}

/* font-styling */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Raleway', 'Times New Roman', sans-serif;
}

h3 {
    font-size: 24px;
    color: #464646;
}

body.not-front h2 {
    color: #d45c41;
    font-size: 36px;
}

body.not-front h1.title {
    color: #00627e;
    font-size: 48px;
    margin-bottom: 30px;
    margin-left: 20px;
    padding-right: 20px;
}



ul {
    /* list-style-type: ; */
    margin-left: 20px;
}

li {
    color: #464646;
}

#president {
    color: #464646;
    text-decoration: none;
    font-style: italic;
}

.main-copy a {
    display: block;
}

.main-copy p a {
    display: inline-block;
}

.contact a {
    display: inline;
}

.contact_method {
    display: inline-block;
    font-style: italic;
    margin-bottom: 15px;
}

h1 a:hover {
    color: #00627e;
}

/*  services */
.expertise_title {
    text-transform: uppercase;
    color: #d45c41;
    margin-top: 20px;
    margin-bottom: 10px;
}

.expertise_wrapper {
    width: 100%;
    height: 550px;
}

.even_wrapper {
    margin-right: 0;
}

/* services box */
#services_box {
    box-sizing: border-box;
    background-color: #00627e;
    padding: 8px 4px;
    font-size: 20px;
    line-height: 30px;
    width: 1029px;
    position: relative;
    margin-left: 20px;
}

#services_box_wrapper {
    width: 100%;
    height: auto;
    display: block;
}

.services_list {
    width: 100%;
    max-width: 1025px;
}

.services_list {
    box-sizing: border-box;
    columns: 3;
    -webkit-columns: 3;
    -moz-columns: 3;
    list-style-position: inside;
    list-style-type: none;
    margin: 0 auto;
    width: 98%;
    padding: 15px 25px 15px 25px;
}

.services_list li {
    color: #fff;
    text-indent: -17px;
    padding-left: 10px;
    line-height: 40px;
    margin: 0;
}

.services_list li::before {
    content: "\2022";
    color: #d45d42;
    margin-right: 5px;
}

#services_box::after {
    content: "";
    position: absolute;
    top: 6px;
    right: 6px;
    bottom: 6px;
    left: 6px;
    border: 1px #fff solid;
}

.title_wrapper {
    margin: 0 auto;
    width: 100%
}

.title_wrapper_services {
    margin: 0 auto;
    width: 100%
}

#mobile_margin {
    display: none;
}



.news.inner {
    display: flex;
    flex-direction: row;
    gap: 30px;
}

.news.inner .left-column {
    width: 65%;
}

.news.inner .right-column {
    width: 35%;
}

.news.inner .right-column .seen-in {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.news.inner .interview {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.news.inner .interview .youtube-embed {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.news.inner .pdf-link {
    width: fit-content;
}

.news.inner .spotify-link {
    display: block;
    background-color: black;
    width: fit-content;
    border: 1px solid black;
    border-radius: 6px;
    padding: 10px 20px;
    height: fit-content;
}