html {
    font-size: 16px;
    line-height: 1.375;
    width: 100vw;
    font-family: 'Noto Sans', sans-serif;
    scroll-behavior: smooth;
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale
}
body { margin: 0; }
img { max-width: 100%; }
main { width: 100vw; overflow: hidden;}
a { font-weight: bold; color: black; }
address { font-style: normal; }
.hidden { display: none; }

img.blog-image { border-radius: 500px; border: 1px solid #ccc; }

section.banner {
    color: white;
}

section.banner::before {
    background: #3F2F9B;
    right: 0;
    left: -50vw;
    /* top: 0; */
    /* bottom: 0; */
    content: ' ';
    position: absolute;
    z-index: -2;
    border-bottom-left-radius: 8px;
    border-top-left-radius: 8px;
    height: 100%;
    width: 150vw;
    background-image: url('/wp-content/themes/indeed_opensource/img/opensource.png');
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: auto 100%;
    background-attachment: fixed;
}

section.banner::after {
    background: #3F2F9B;
    content: ' ';
    position: absolute;
    height: 100%;
    width: 150vw;
    z-index: -1;
    opacity: .5;
    left: -50vw;
}

@media screen and (max-width: 768px) {

    section.banner::before {
        background-position: center 47%;
    }

}

@media screen and (min-width: 1270px) {

    section.banner::before {
        background-position: 140% 47%;
    }

    section.banner::after {
        content: none;
    }

}

h2 {
    color: #3F2F9B;
    font-size: 16px;
    letter-spacing: 1.5px;
    line-height: 2;
    text-transform: uppercase;
    align-self: flex-start;
    max-width: 915px;
    /* width: 100%; */
    margin: 64px auto 57px 7vw;
}

@media (min-width: 980px) {
    h2 {
        margin: 64px auto 57px auto;
    }
}


section#upcoming-events div {
    color: #767676;
}
section#upcoming-events div time {
    display: block;
}
section#upcoming-events div address {
    font-style: normal;
}

section.banner h1 {
    font-size: 2.125rem;
    line-height: 1.06;
    padding-top: 90px;
}

@media (min-width: 768px) {

    section.banner h1 {
        padding-top: 0;
        font-size: 3.125rem;
        line-height: 1.06;
    }

}

section.banner p {
    font-size: 1.375rem;
    line-height: 1.2727;
}

section.banner span {
    color: #99CCFF
}

section.banner {
    width: 86vw;
    max-width: 915px;
    position: relative;
    display: flex;
    /* flex-direction: column; */
    align-items: flex-start;
    justify-content: flex-start;
    height: initial;
    overflow-x: visible;
    align-items: center;
    margin: 0 auto;
    min-height: 500px;
}

@media (max-width: 1024px) {

    section:not([hidden]):not(#work):not(#upcoming-events):not(#featured-blog):not(#email-section):not([is*=banner]):not(#foss) {
        width: 86vw;
    }

}

section:not([hidden]):not(#work):not(#upcoming-events):not(#featured-blog):not(#email-section):not(.banner):not(#foss):not(#banner) {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    height: initial;
    transition: height 2s;
    overflow-x: visible;
    align-items: center;
    left: 0;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 0 auto;
}

section#organizations {
    width: 100% !important;
}

h3, h4 {
    padding: 0;
}

h3 {
    margin: 50px 0 0 0;
    font-size: 2rem;
    line-height: 1.125;
}

h4 {
    margin: 0 0 37px 0;
    color: #767676;
    font-weight: normal;
    font-size: 1rem;
}

@media (min-width: 48em) {
    section#featured-projects article {
        position: relative;
    }

    section#featured-projects .description {
        padding-bottom: 55px;
    }

    section#featured-projects links {
        position: absolute;
        bottom: 0;
    }
}

section#email-section #Marketo_Form {
    max-width: 915px;
    margin: 64px auto 57px auto;
}

@media screen and (max-width: 48em) {
    section#email-section h2 {
        margin-left: 7vw;
    }

    section#email-section {
        max-width: 90vw;
    }

    section#email-section #Marketo_Form {
        width: 100%;
        margin: 0 7%;
    }
}

section#email-section #Marketo_Form.no-width, section#email-section .mktoForm.no-width {
    max-width: none;
}


a.btn {
    display: block;
    text-align: center;
    border: .125rem solid #3F2F9B;
    border-radius: 6px;
    text-decoration: none;
    margin-top: 50px;
    padding: .75rem 3rem;
    font-weight: bold;
    background-color: #3F2F9B;
    color: #fff;
    background-repeat: repeat-x;
    cursor: pointer;
    min-width: 6rem;
}

a.btn:hover {
    background: #000;
    border-color: #000;
    color: #ffffff;
}

.quote::before {
    background: #FFF;
    color: #3F2F9B;
    font-size: 16px;
    content: ' ';
    left: -50vw;
    top: 0;
    bottom: 0;
    position: absolute;
    z-index: -1;
    overflow: hidden;
    width: 150vw;
}

.quote {
    background: #FFF;
    color: #3F2F9B;
    font-size: 16px;
}

.quote > * {
    max-width: 86vw;
    margin: 0 auto;
}

.quote hr {
    border: #3F2F9B 1px solid;
    width: 53px;
    margin: 88px auto 40px auto;
}

.quote blockquote {
    margin: 0 auto;
    text-align: center;
    padding: 0;
    font-weight: 200;
}

.quote blockquote p {
    font-size: 30px;
    line-height: 40px;
}

.quote p:not(:first-child) {
    font-size: 16px;
    margin: 0;
}

.quote p.source {
    margin-top: 67px;
}

.quote p.role {
    margin-bottom: 91px;
}

.quote p.source::before {
    content: "—";
}

section#upcoming-events::before {
    content: ' ';
    position: absolute;
    background: rgba(112,63,158, .2);
    top: 0;
    left: -50vw;
    right:  -50vw;
    /* right: 0; */
    bottom: 0;
    overflow: hidden;
    z-index: -1;
}


section#work, section#organizations {
    background: #F9F9FE;
    position: relative;
}

section#organizations::before {
    /* content: ' '; */
    /* width: 200vw; */
    /* left: -100vw; */
    background: #F9F9FE;
    top: 0;
    bottom: 0;
    right: 0;
    /* height: 100%; */
    position: absolute;
    z-index: -1;
}

#organizations .logo-carousel {
    margin: 0 auto 30px auto;
    max-width: 80vw;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center;
}

#organizations .logo-carousel-item {
    display: flex;
    align-items: center;
    justify-content: center;
}

#organizations .logo-carousel-item img {
    max-width: 275px;
    padding: 30px;
    margin: 0 auto;
}

#organizations .slick-prev::before,
#organizations .slick-next::before {
    color: #333;
}


@media screen and (min-width: 1024px) {

    #organizations .logo-carousel {
        margin: 0 auto 30px auto;
        max-width: 900px;
    }

}

.citation {
    font-weight: lighter;
    color: #555;
    font-style: italic;
    width: 258px;
    margin: 85px auto 43px auto;
    font-size: 12px;
}

.footer-copyright {
    margin: 0 auto;
    font-weight: 400;
    font-size: 12px;
    text-align: center;
    border-top: 2px solid rgba(221,221,221,.11);
}

.footer-disclaimer {
    margin: 0 auto;
    max-width: 30%;
    padding: 30px 0;
    text-align: center;
    color: #555;
    font-size: 12px;
    font-style: italic;
}

section:not(#upcoming-events) .carousel-wrapper {
    display: flex;
    list-style: none;
    margin: 33px auto 91px auto;
    padding: 0;
    position: relative;
    width: 300vw;
    /* max-width: 915px; */
    justify-content: space-around;
    left: 0vw;
    z-index: 0;
}

/**
* Carousel
*/

.carousel-wrapper[data-type*=arrows]::before {
    /* content: ' '; */
    width: 1rem;
    height: 65px;
    background-image: url('/_assets/img/arrow.png');
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
}
.carousel-wrapper[data-type*=arrows]::after {
    /* content: ''; */
    width: 1rem;
    height: 65px;
    background-image: url('/_assets/img/arrow.png');
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
}

.carousel-wrapper[data-type*=arrows]::before {
    left: 5vw;
    /* left: -5vw; */
    z-index: 0;
}

.carousel-wrapper[data-type*=arrows]::after {
    transform: rotate(180deg);
    /* right: -5vw; */
    left: 90vw;
    /* right: 90vw; */
    top: 0;
}

.indeed-logo {
    display: block;
    padding: 20px;
}

@media (min-width: 950px) {
    .indeed-logo {
        padding-left: 0;
    }
}

.carousel-wrapper:not([data-type*=arrows]) .carousel-item:not([hidden]) {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* max-width: 86vw; */
    /* width: 100vw; */
    /* z-index: 100; */
}

section#featured-blog .carousel-wrapper {
    align-items: flex-start !important;
    width: 100vw;
}

section#featured-blog .carousel-item {
    width: 100vw;
    padding: 0 10px;
}

section#featured-blog .carousel-item p {
    max-width: 270px;
    padding: 0;
    margin: 0 0vw 94px 0vw;
    text-align: center;
}

section#featured-blog .carousel-wrapper .carousel-item p {
    margin-bottom: 0;
}

section#featured-blog img {
    width: 234px;
    height: auto;
}

@media (max-width: 48em) {
    section#featured-blog carousel-wrapper {
        width: 300vw;
    }
}

@media (min-width: 48em) {
    section#featured-blog img {
        width: 175px;
    }
}

section#featured-blog .slick-dots {
    width: 100vw;
    bottom: -50px;
}

section#featured-blog .slick-dots {
    list-style-type: none;
}

.slick-dots button {
    background: transparent !important;
    border: 1px solid #3F2F9B !important;
    border-radius: 100%;
}

.slick-active button {
    background: #3F2F9B !important;
    border-radius: 100%;
}

.slick-dots button:before {
    content: none !important;
}

.slick-slider {
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
  }
  .slick-list.draggable {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }

.carousel-item h3 {
    color: #000;
    font-weight: bold;
    text-decoration: underline;
    font-size: 1rem;
    margin: 39px 0 14px 0;
    padding: 0;
    text-align: center;
}

section#upcoming-events {
    display: block;
    position: relative;
    width: 100vw;
    padding-bottom: 25px;
}

section#upcoming-events .slick-track {
    display: flex !important;
}

section#upcoming-events  .slick-slide {
    height: inherit !important;
}

section#upcoming-events .events-carousel-wrapper {
    margin-top: 33px;
    width: 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

section#upcoming-events {
    position: relative;
    display: block;
}

section#upcoming-events .events-carousel-item-wrapper {
    padding: 50px 0 25px 0;
}

section#upcoming-events .events-carousel-item {
    max-width: 90vw;
    margin: 0 auto;
    padding: 15px 35px;
    background: #fff;
}

section#upcoming-events .event-item-wrapper {
    max-width: 100vw;
    margin: 0 auto;
}

section#upcoming-events .event-item-title {
    margin-top: 0;
}

section#upcoming-events .event-item {
    flex: 1;
}

section#upcoming-events .event-item--image img {
    max-height: 200px;
    width: auto;
}

@media screen and (min-width: 700px) {

    section#upcoming-events .event-item-wrapper {
        display: flex;
        flex-direction: row;
    }
    section#upcoming-events .event-item--text {
        width: 75%;
        padding-right: 50px;
    }
    
    section#upcoming-events .event-item--image {
        width: 25%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

}

@media screen and (min-width: 1024px) {

    section#upcoming-events .events-carousel-item {
        max-width: 1200px;
    }
    
    section#upcoming-events .event-item-wrapper {
        max-width: 915px;
        display: flex;
        flex-direction: row;
    }

    section#upcoming-events .event-item--text {
        padding-right: 100px;
    }
    
}

section#upcoming-events .carousel-item h3 {
    text-align: left;
    text-decoration: none;
    font-size: 2rem;
}

section#upcoming-events .carousel-wrapper > .carousel-item {
    background: #fff;
    width: 100vw;
    z-index: 30;
    justify-content: flex-start;

    margin-right: 16vw;
    margin-left: -3vw;

    margin: 0 auto;
}


.event-details time, .event-details address {
    color: #767676;
}

@media screen and (max-width: 48em) {
    a.btn {
        /* margin-bottom: 92px; */
    }
    section#upcoming-events h2 {
        margin: 57px 0 39px 7vw;
    }

    section > h2, section > h1 {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    header {
        height: 90px;
        display: flex;
        margin: 0 auto;
        width: 90vw;
        justify-content: space-between;
        align-items: center;
        position: fixed;
        z-index: 100;
        background: white;
        width: 100vw;
    }
    .carousel-wrapper[data-type="arrow"] {

    }

    .mobile-menu {
        margin-right: 9vw;

    }

    header nav ul {
        display: block;
        position: fixed;
        top: 100vh;
        left: 0;
        background: white;
        width: 100vw;
        margin: 0;
        padding: 0;
        background: #3F2F9B;
        color: #fff;
        padding: 10vh 0;
        z-index: 1;
        list-style: none;
        min-height: 100vh;
    }

    header {
        /* z-index: 0; */
    }

    header nav ul.open {
        top: 90px;
    }

    .admin-bar header nav ul.open {
        /*original top + admin bar height 46px (mobile) */
        top: 136px;
    }

    @media screen and (max-width: 782px) {
        .admin-bar header nav ul.open {
            /*original top + admin bar height 32px (desktop) */
            top: 122px;
        }
    }

    header nav ul li {
        text-align: center;
    }

    header nav ul li a {
        color: #FFF;
        width: 100vw;
        display: block;
        padding-bottom: 57px;
        font-weight: normal;
        text-decoration: none;
        font-size: 30px;
    }

    section.banner > * {
        max-width: 86vw;
    }
    section#featured-projects article hr {
        display: none;
    }
    section#upcoming-events h3 {
        margin-bottom: 14px;
        margin-top: 0;
    }

    section#upcoming-events div time {
        display: block;
        padding-bottom: 23px;
    }

    .event-card {
        padding: 0 6.3vw;
    }

    .event-details time, .event-details address{
        font-size: 0.875rem;
        line-height: 1.1429;
    }

    .event-details time:first-child {
        margin: 2rem 0 1rem 0;
        display: block;
    }

    section#work > * {
        /* max-width: 86vw; */
        /*padding: 64px 0 0 7vw;*/
    }
    section#work .flex-wrapper article {
        padding-bottom: 90px;
    }
    h2 {
        margin: 0;
        width: 100%;
        max-width: 90vw;
        margin: 0 auto;
    }
    section#work article {
        max-width: 86vw;
/*         margin-left: 7vw; */
    }
    section#upcoming-events .carousel-controls {
        margin: 0;
        width: 100vw;
        height: 10vh;
        align-items: center;
    }
    .carousel-wrapper {
        position: relative;
        transition: left ease 1s;
    }

    header nav ul {
        transition: linear top 300ms;
    }


    section:not([hidden]):not(#work):not(#featured-blog):not(#email-section):not(.banner):not(#foss) {
        width: 100vw;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        height: initial;
        transition: height 2s;
        overflow-x: visible;
        align-items: center;
        /* left: 0; */
        width: 300vw;
        justify-content: center;
        align-items: flex-start;
        flex-direction: column;
    }

    section:not([hidden]):not(#work):not(#featured-blog):not(.banner).quote {
        width: 100vw;
    }
    section#upcoming-events {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        height: initial;
        transition: height 2s;
        overflow-x: visible;
        align-items: center;
        /* left: 0; */
        /* width: 86vw; */
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
    section#upcoming-events .events-carousel-wrapper {
        position: relative;
    }

    .quote p:not(:first-child) {
        font-size: 16px;
        margin: 0 auto;
    }

   .quote p:last-child {
       margin-bottom: 43px;
   }

   .quote p.role, .quote p.source {
       line-height: 1.25;
       font-weight: 200;
   }

    .quote p.role {
        margin-bottom: 87px;
    }

   span.go-back, span.go-forward {
        position: absolute;
        /* top: 28%; */
        left: 7vw;
        bottom: 38%;
    }

    span.go-forward {
        left: 93vw;
    }

    div.mobile-menu .hidden {
        display: none;
    }

    section#featured-projects article {
        width: 90vw;
    }

    .carousel-wrapper[data-type*=arrows] {
        transition: left ease 0.5s
    }
}

@media screen and (min-width: 48em) {
    a.btn {
        margin-top: 56px;
    }

    section h2 {
        width: 100%;
        max-width: 915px;
        /* margin: 0 auto; */
        padding-top: 20px;
    }
    .mobile-menu {
        display: none;
    }

    .carousel-wrapper[data-type*=arrows]::after {

    }

    .carousel-wrapper[data-type*=arrows]::before {

    }

    section#featured-blog .carousel-wrapper {
        /* max-width: 1140px; */
    }

    section.banner > * {
        width: 481px;
        /* align-self: flex-start; */
        /* margin: 0 auto; */
        /* width: 100%; */
        max-width: 915px;
        /* min-height: 500px; */
    }


    section:not([hidden]):not(.banner) {
        /* justify-content: space-around; */
        /* max-width: 1140px; */
        margin: 0 auto;
        height: fit-content;
    }

    .quote > * {
        text-align: center;
    }

    section.quote blockquote {
        margin: 0 auto;
        text-align: center;
        padding: 0;
        font-weight: 500;
    }

    section#organizations::before {
        content: ' ';
        width: 200vw;
        left: -100vw;
    }

    header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        max-width: 915px;
        margin: 0 auto;
    }

    nav ul {
        display: flex;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    nav ul li a {
        text-decoration: none;
        font-size: 16px;
        font-weight: normal;
        padding: 0 15px;
    }
    section#featured-projects article {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
        margin-bottom: 110px;
        max-width: 915px;
        margin: 0 auto 60px auto;
    }

    section#featured-blog .carousel-controls {
        display: none;
    }

    .quote hr {
        margin: 110px auto 53px auto;
    }

    section.quote .quote-heading {
        margin: 0 auto;
        text-align: center;
        padding: 0;
        font-weight: 500;
        font-size: 30px;
        text-transform: none;
        letter-spacing: 0;
        line-height: 1.35;
    }

    section#featured-projects article hr {
        width: 0;
        height: 475px;
        color: #d8d8d8;
    }
    section:not(#featured-projects):not(#foss) p a.btn {
        margin-bottom: 91px;
        text-align: center;

    }
    section#upcoming-events p a.btn{
        max-width:40px;
    }
    section#work p a.btn{
        display: inline-block;
    }

    .event-details {
        display: block;
    }

    .event-details:first-child {
        max-width: 450px;
        align-self: self-start;
    }

    .citation {
        width: 450px;
        text-align: center;
    }

    .event-card {
        display: flex;
        justify-content: space-around;
        align-items: center;
        width: 100%;
        /* padding: 0 6.3vw; */
        /* width: 59vw; */
        max-width: 915px;
        margin: 0 auto;
        justify-content: space-between;
    }

    section#upcoming-events .events-carousel-item > p {
        align-self: flex-start;
        /* margin-left: 7vw; */
        width: 100%;
        max-width: 915px;
        margin: 0 auto;
    }

    .event-details time:first-child {
        margin-bottom: 22px;
        display: block;
    }


    section.quote blockquote {
        max-width: 882px;
    }

/*     .carousel-wrapper:not([data-type*=mobile-only]) .carousel-item:not(:first-child) {
        display: none;
    } */
    .carousel-wrapper[data-type*=arrows]::before, .carousel-wrapper[data-type*=arrows]::after {
        display: none;
    }

    section#upcoming-events .events-carousel-wrapper > .events-carousel-item {
        padding: 0 6.3vw;
        align-items: baseline;
        justify-content: center;
        width: 100vw;
        margin-left: 8vw;
        max-width: 70vw;
        margin-right: 8vw;
    }
    section:not(#upcoming-events) .carousel-wrapper {
        justify-content: space-between;
        align-items: center;
    }

    p.source, p.role {
        display: inline;
    }

    .carousel-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        max-width: 86vw;
        /*         width: 100vw; */
        z-index: 2;
    }

    section:not(#upcoming-events) .carousel-wrapper {
        max-width: 915px;
    }

    section:not(#upcoming-events) .carousel-wrapper {
        width: 100vw;
    }

    span.go-back, span.go-forward {
        display: none;
    }

}

/**
 * Work section on landing page
 */
section#work .flex-wrapper {
    max-width: 86vw;
    padding: 0;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

.work-copy {
    order: 1;
}

.work-image-wrapper {
    order: 2;
}

.work-image-wrapper img {
    width: 100%;
    height: auto;
}

section#work::before {
    content: 'something';
    width: 200vw;
    left: -100vw;
    background: #F9F5FF;
    top: 0;
    bottom: 0;
    right: 0;
    height: 100%;
    position: absolute;
    z-index: -1;
}

section#work article a.btn {
    max-width: 198px;
}

section#work #work-header {
    padding-bottom: 30px;
    position: relative;
    z-index: 2;
}

@media screen and (min-width: 428px) {
    .work-image-wrapper {
        text-align: center;
    }

    .work-image-wrapper img {
        max-width: 500px;
    }

    section#work article a.btn {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 1290px) {
    section#work .flex-wrapper {
        max-width: 90vw;
        display: flex;
        /* align-items: center; */
        justify-content: space-between;
        margin: 0 auto;
    }

    .work-image-wrapper {
        position: absolute;
        z-index: 1;
        bottom: 0;
        left: 0;
        width: 600px;
    }

    .work-image-wrapper img {
        max-width: 750px;
        height: auto;
    }

    .work-copy {
        position: relative;
        z-index: 2;
        margin-left: 550px;
    }

    section#work flex-wrapper article h3 {
        margin: 0;
    }
}

/**
 * Standardize sections titles
 */

.section .section-title {
    padding: 64px 0 57px;
    margin: 0 auto;
    max-width: 86vw;
}

/**
 * Projects page - specific to projects page
 */
.page-template-page-projects section.banner {
    min-height: 330px;
}

.page-template-page-projects section.banner::before {
    background: #3F2F9B;
    right: 0;
    left: -50vw;
    /* top: 0; */
    /* bottom: 0; */
    content: ' ';
    position: absolute;
    z-index: -1;
    border-bottom-left-radius: 8px;
    border-top-left-radius: 8px;
    height: 100%;
    width: 150vw;
    background-image: none;
    background-repeat: no-repeat;
    background-position: right top;
    background-attachment: fixed;
}

.page-template-page-projects .projects-page-project:first-of-type {
    margin-top: 100px;
}

.page-template-page-projects .projects-page-project {
    margin-bottom: 100px;
    min-width: 100%;
}

.page-template-page-projects .projects-page {
    max-width: 90vw;
}

.page-template-page-projects .project-documentation a {
    color: #3F2F9B;
}

@media screen and (min-width: 768px) {

    .page-template-page-projects .projects-page {
        max-width: 60%;
    }

}

/**
 * Individual Project instance - template-parts/content-project
 * Homepage and project overview pages
 */
.project-page-header-image {
    margin-right: 30px;
}

.project-page-header-image img {
    max-width: 150px;
    height: auto;
}

.project-page-copy {
    margin-top: 30px;
}

.project-documentation {
    margin-top: 22px;
}

.project-documentation a {
    text-decoration: underline;
    font-weight: 700;
}

h2.project-page-title {
    font-size: 36px;
    letter-spacing: -.16px;
    color: #000;
    font-weight: bold;
    margin: 0;
    padding: 0;
    padding-top: 0;
    text-transform: none;
    line-height: 45px;
}

h3.project-page-subtitle {
    font-size: 16px;
    color: #555;
    font-weight: normal;
    margin: 0;
    padding: 0;
    line-height: 16px;
    margin-top: 15px;
}

a.project-btn {
    display: inline-block;
    margin-right: 20px;
    margin-top: 20px;
}

.project-link-all a.project-btn {
    background: transparent;
    color: #3F2F9B;
}

.project-link-all a.project-btn:hover,
.project-link-all a.project-btn:focus,
.project-link-all a.project-btn:active {
    background: transparent;
    color: #000;
}

@media screen and (min-width: 768px) {

    .project-page-buttons {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        margin-top: 50px;
    }
    

    .project-page-header-image img {
        max-width: 65px;
        height: auto;
    }
    
    .page-template-page-projects .projects-page {
        max-width: 60%;
    }

    .project-page-header {
        display: flex;
        flex-direction: row;
        align-items: center;
    }
    
}

/**
 * Homepage - featured projects
 */
 .featured-projects .projects-page-project {
    margin-bottom: 100px;
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 1024px) {

    .featured-projects .featured-project-image {
        order: 1;
        margin-bottom: 20px;
    }
    
    .featured-projects .featured-project-image img {
        width: 150px;
        height: auto;
    }
    
    .featured-projects .projects-page-content {
        order: 2;
    }
}

@media screen and (min-width: 1024px) {

    .featured-projects .projects-page-project {
       flex-direction: row;
   }
   
   .featured-projects .featured-project-image {
       margin: 0 0 0 100px;
       min-width: 300px;
   }

}

/**
 * FOSS section on homepage
 */
.foss-section {
    background: #F9F9FE;
    padding: 0 0 50px 0;
}

.foss-content {
    max-width: 90vw;
    margin: 0 auto;
}

.foss-title {
    margin: 0 0 40px;
}

#foss a.foss-btn {
    display: inline-block;
    margin-top: 35px;
    margin-bottom: 35px;
}

.foss-image {
    background: #551A8A;
    background-image: url(https://tophat-cms-prod.s3.amazonaws.com/images/open_source/IndeedOpenSource-Background@1423x810.png);
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: bottom right;
    height: 300px;
    width: 90vw;
    margin: 0 70px 20px 0;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.foss-image-text {
    display: block;
    font-family: 'Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif';
    font-weight: bold;
    font-size: 40px;
    padding: 50px;
}

.foss-image-text--highlight {
    color: #99CCFF;
}

@media screen and (min-width: 1024px) {

    .foss-image {
        height: 410px;
        width: 410px;
        margin: 0 70px 20px 0;
    }

    .foss-image-text {
        font-size: 60px;
        padding: 50px;
    }

    .foss-content {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        width: 100%;
        max-width: 915px;
        margin: 0 auto 60px auto;
    }

}

/**
 * accessibility
 */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.skip-link {
    position: absolute;
    top: 0;
    z-index: 9999;
    right: 100%;
    padding: 10px;
    color: #fff;
    background: #3F2F9B;
    border-radius: 0;
    border: 0;
}

.admin-bar .skip-link {
    top: 32px;
}

.skip-link:focus {
    right: auto;
}

/**
 * MARKETO
 */

#Marketo_Form .mktoForm {
    max-width: unset;
}

#Marketo_Form .mktoForm .mktoFormRow {
    clear: none;
}

.mktoFormRow, .mktoFormCol, mktoButtonRow {
    width: 98% !important;
    margin: 0 0 1rem 0 !important;
}

#Marketo_Form .mktoForm input[type=url], #Marketo_Form .mktoForm input[type=text], #Marketo_Form .mktoForm input[type=date], #Marketo_Form .mktoForm input[type=tel], #Marketo_Form .mktoForm input[type=email], #Marketo_Form .mktoForm input[type=number], #Marketo_Form .mktoForm textarea.mktoField, #Marketo_Form .mktoForm select.mktoField {
    border: 0!important;
    border-bottom: 1px solid #3F2F9B!important;
    font-family: 'Noto Sans', sans-serif; 
    color: #3F2F9B !important;
}

#Marketo_Form input::placeholder {
    color: #3F2F9B;
}

#Marketo_Form .mktoButton {
    display: block;
    text-align: center;
    border: .125rem solid #3F2F9B !important;
    border-radius: 6px !important;
    text-decoration: none;
    padding: .75rem 3rem !important;
    font-weight: bold;
    background-color: #3F2F9B !important;
    color: #fff;
    background-repeat: repeat-x;
    cursor: pointer;
    min-width: 6rem;
}

#Marketo_Form .mktoButton:focus {
    outline: 3px auto #000;
}

#Marketo_Form .mktoButton:hover {
    background: #652B95!important;
    color: #ffffff!important;
}

.mktoForm select.mktoField {
    color: #652B95 !important;
}

.mktoLogicalField label:before { border: 1px solid #652B95 !important; }
.mktoLogicalField label:after {
    background: #652B95 !important;
    top: -17px;
    left: 6px;
    width: 18px;
    height: 18px;
}

.mktoForm .confirmation-message {
    margin: 75px 0;
}

@media screen and (min-width: 48em) {
    .mktoForm .confirmation-message {
        margin: 175px 0;
    }
}

.mktoForm .confirmation-message h3 {
    font-weight: 500;
}

.mktoForm .confirmation-message hr {
    width: 58px;
    border: black 1px solid;
    margin-bottom: 40px;
    padding: 0;
}

.mktoForm .confirmation-message div{
    text-align: center;
    font-size: 30px;
    line-height: 1.3333;
}

.mktoForm .confirmation-message .confirmation-message-line-2 {
    font-weight: bold;
}

.mktoForm label[for="contactRequested"], 
.mktoForm label[for="indeedProducts"], 
.mktoForm label[for="marketing_and_promotions"] {
    width: 90% !important;
    color: #3F2F9B !important;
    font-family: 'Noto Sans', sans-serif !important;
}

.mktoForm .mktoLogicalField label:before {
    border: 1px solid #3F2F9B !important;
}

#Lblmarketing_and_promotions {
    padding-left: 20px;
}

.mktoForm .mktoError .mktoErrorMsg {
    background: #3F2F9B !important;
    color: #fff !important;
    border-color: #3F2F9B !important;
    border-top: 1px solid #3F2F9B !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

.mktoErrorArrow {
    background: #3F2F9B !important;
    border-color: #3F2F9B !important;
    border-top: 1px solid #3F2F9B !important;
}

#Marketo_Form .mktoLogicalField label:after {
    background: #3F2F9B !important;
}

#Marketo_Form .mktoHtmlText {
    margin-left: 90px;
    font-family: 'Noto Sans', sans-serif !important;
}

#Marketo_Form .mktoHtmlText span {
    color: #3F2F9B !important;
}

#Marketo_Form .mktoHtmlText {
    margin-left: 0;
}

.mktoForm .mktoHtmlText.mktoHasWidth {
    width: auto !important;
}

@media screen and (min-width: 48em) {

    .mktoFormRow:nth-child(1) {
        margin-right: 7% !important;
        margin-left: 4px !important;
    }

    .mktoFormRow:nth-child(1),.mktoFormRow:nth-child(2) {
        float: left;
        max-width: 45% !important;
    }
}