﻿/*
    font-family: proxima-nova, sans-serif; //body
    font-family: proxima-nova-condensed, sans-serif;
    font-family: jubilat, serif; //titles
    font-family: jubilat-thin, serif; 

    teal:       #8ED1C0     rgba(142,209,192,1)
    light blue  #C5E7E7     rgba(197,231,231,1)
    red:        #EF3E39     rgba(239,62,57,1)
    yellow:     #FFD65C     rgba(255,214,92,1)    
    dark gray:  #3C3C3D     rgba(60,60,61,1)
*/
/*#region keyframes*/
@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-ms-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fade-in-move-down {
    0% {
        opacity: 0;
        transform: translateY(-3rem);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fade-in-move-up {
    0% {
        opacity: 0;
        transform: translateY(3rem);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes move-down {
    0% {
        transform: translateY(-3rem);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes move-up {
    0% {
        transform: translateY(3rem);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes fade-in-move-right {
    0% {
        opacity: 0;
        transform: translateX(-3rem);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fade-in-move-left {
    0% {
        opacity: 0;
        transform: translateX(3rem);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes zoom-in {
    0% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -o-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }
}


@keyframes fadeIn-zoom {
    0% {
        opacity: 0;
        transform: scale(1);
    }

    100% {
        opacity: 1;
        transform: scale(1.1);
    }
}

@-moz-keyframes fadeIn-zoom {
    0% {
        opacity: 0;
        -moz-transform: scale(1);
    }

    100% {
        opacity: 1;
        -moz-transform: scale(1.1);
    }
}

@-webkit-keyframes fadeIn-zoom {
    0% {
        opacity: 0;
        -webkit-transform: scale(1);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale(1.1);
    }
}

@-o-keyframes fadeIn-zoom {
    0% {
        opacity: 0;
        -o-transform: scale(1);
    }

    100% {
        opacity: 1;
        -o-transform: scale(1.1);
    }
}

@-ms-keyframes fadeIn-zoom {
    0% {
        opacity: 0;
        -ms-transform: scale(1);
    }

    100% {
        opacity: 1;
        -ms-transform: scale(1.1);
    }
}
/*#endregion*/

/*#region general styles*/

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0
}

.fade-in-text {
    animation: fadeIn linear .25s;
    -webkit-animation: fadeIn linear .25s;
    -moz-animation: fadeIn linear .25s;
    -o-animation: fadeIn linear .25s;
    -ms-animation: fadeIn linear .25s;
}

.blueText {
    color: #C5E7E7;
}

.tealText {
    color: #8ED1C0;
}

.redText {
    color: #EF3E39;
}

.yellowText {
    color: #FFD65C;
}

.grayText {
    color: #3C3C3D;
}

.headingH2Jub {
    font-family: jubilat, serif;
    font-size: 2rem !important;    
    margin-bottom: 0;
    text-decoration: none;
}
.headingH2Pro {
    font-family: proxima-nova, sans-serif;
    font-size: 2rem;
    letter-spacing: 10px;
    margin-bottom: 0;
    text-decoration: none;
}

/* Track */
::-webkit-scrollbar {
    width: 5px;
}

::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px grey;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #FFD65C;
    border-radius: 5px;
}

.sectionDivider {
    height: 1rem;
    border-radius: 14px;
    max-width: 95rem;
    margin:0 auto 2rem auto;
    background: rgb(255,0,18);
    background: linear-gradient(90deg, rgba(255,0,18,1) 15%, rgba(255,171,0,1) 35%, rgba(100,191,0,1) 75%, rgba(0,154,156,1) 90%);
}


.revealCustom {
    position: relative;
    transform: translateY(150px);
    opacity: 0;
    transition: all .75s ease-in-out;
}

.revealCustom.active {
    transform: translateY(0);
    opacity: 1;
}

/*#endregion*/

/*#region header*/
#sectionHeader {
    background: transparent;
    width: 100%;
    padding-bottom: 2rem;
}
#headerContent {
    position: relative;
}

#headerContentInner {
    float:right;
    padding: 3rem 4rem 2rem 2rem;
    max-width: 50rem;
    width: 100%;
    font-size: 1.5rem;
    line-height: 1.75;
    color: #3C3C3D;
    margin-top:1.5rem;
    -webkit-animation: fade-in-move-up .75s; /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fade-in-move-up .75s; /* Internet Explorer */
    -o-animation: fade-in-move-up .75s; /* Opera < 12.1 */
    animation: fade-in-move-up .75s;
}

#headerContentInner h1 {
    color: #05415d;
    font-size: 5rem;
    line-height: 1;
    letter-spacing: 0px;
    font-family: Jubilat, serif;
    font-weight: 500;
    text-decoration: none;
    -webkit-animation: fade-in-move-down .75s; /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fade-in-move-down .75s; /* Firefox < 16 */
    -ms-animation: fade-in-move-down .75s; /* Internet Explorer */
    -o-animation: fade-in-move-down .75s; /* Opera < 12.1 */
    animation: fade-in-move-down .75s;
}
#headerContentInner ul {
    margin-top: 1.5rem;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    list-style: square;
    font-size: 1.2rem;
    margin-left:3rem;
}

#headerContentInner ul li::marker {
    color: #FFD65C;
}

#headerContentInner ul li {
    font-family: proximal-nova, sans-serif;
    color: #3C3C3D;
    padding-bottom:.25rem;
}


/*#endregion*/

/*#region featured image*/
#featuredFrameContainer {
    position: relative;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    margin-top: 2rem;
    border-radius: 12px 0px 0px 12px;
    text-align:center;
}

    #featuredFrameContainer img {
        object-position: center center;
        /*
        width: 100%;
        height: 100%;
        object-fit: cover;
        
        max-height: 55vh;
    */
    }
/*#endregion*/

/*#region tabs*/
    .tabs-container {
    }
    .tabs-block {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .tabs {
        display: flex;
        flex-wrap: wrap;
        border:none;
        background: transparent;
    }
    .tabs label {
        font-size: 1.5rem;
        letter-spacing: 0px;
        font-family: proxima-nova, sans-serif;
        color: #8ED1C0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: .5rem .5rem .5rem 0;
        cursor: pointer;       
        margin-right: 1.5rem;
    }
    
    .tabTitle::after {
        display: block;
        content: '';
        border-bottom: solid 2px #8ED1C0;
        transform: scaleX(0);
        transition: transform 250ms ease-in-out;
    }

    .tabTitle:hover::after {
        transform: scaleX(1);
    }

    .tabs label:hover {
        color:#3C3C3D
    }
    .tabs label .material-icons {
        margin-right: 0.3rem;
    }
    .tabs .tab {
        flex-grow: 1;
        width: 100%;
        height: 100%;
        display: none;
        padding: 2rem 1rem 2rem 0;
    }
    .tabs .tab > *:not(:last-child) {
        margin-bottom: 0.8rem;
    }
    .tabs [type=radio] {
        display: none;
    }
    .tabs [type=radio]:checked + label {
        color: #0B2404;        
    }

    .tabs [type=radio]:checked + label .tabTitle::after{
        transform: scaleX(1);
    }

    .tabs [type=radio]:checked + label + .tab {
        display: block;
    }

    @media (min-width: 0px) {
        .tabs-container {
            padding: 0;
        }
        .tabs label {
            order: 1;
            width: auto;
        }
        .tabs .tab {
            order: 9;
        }
        .tabs [type=radio]:checked + label {
            border-bottom: none;
        }
    }

    @media (min-width: 0px) {
        .tabs {
            width: 100%;
        }
    }

/*#endregion*/

/*#region content*/
#sectionBody {
    background-color: #fafafa;
}

#bodyInner {   
    z-index: 30;
    min-height: 200px;
    padding: 2rem;
}

.wysiwyg {
    margin-bottom: 2rem;
    font-size: 1.35rem;
    line-height: 1.85;
    color: #3C3C3D;
}

.wysiwyg-title {
    color: #05415d;
    line-height: 1;
    font-family: Jubilat, serif;
    font-size: 3rem;
    letter-spacing: 0;
}

.wysiwyg h1, .wysiwyg h2, .wysiwyg h3, .wysiwyg h4, .wysiwyg h5 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.wysiwyg ul {
    margin-left: 3rem;
    margin-top: 1rem;
}

.wysiwyg a {
    color: rgba(100,191,0,1);
    text-decoration: underline;
}

.wysiwyg .button a {
    color: #fefefe;
    text-decoration: none;
}

.wysiwyg .button:hover a {
    color: #fefefe;
}

.wysiwyg a:hover, .wysiwyg a:active, .wysiwyg a:focus {
    color: rgba(255,171,0,1);
    text-decoration: none;
}
#sectionResources {
    margin-bottom: 0;
    margin-top: 5rem;
}
/*#endregion*/

/*#region featured work*/
#featuredWorkInner {
    padding:4rem 2rem;
}
#featuredWorkInner h2 {
    text-align: center;
    width: 100%;
    padding-bottom:1rem;
}
.featuredItemCard {
    padding: 2rem;
}
.featuredItemImage {
    border-radius: 12px;
    height:250px;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 15px;
}
    .featuredItemImage img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        object-position: center center;
        transition: all .75s ease-in-out;
    }
    
    .featuedItemText {
        font-family: proxima-nova, sans-serif;
        padding: 1rem 0rem;
        text-align: center;
        color: #707070;
        font-size: 1.2rem;
        font-weight: 300;
    }
/*#endregion*/

/*#region client quote*/
#sectionQuote {
    background:#FAFAFA;
    min-height:300px;
}
#quoteInner {    
    padding:4rem;
}
#quoteInner h2 {
    text-align: center;
    width: 100%;
    padding-bottom: 1rem;
}
#quoteContainer {
    display: flex;
}

#quoteImage {
    flex: 1;    
    width:50%;    
    padding-right:4rem;      
}
#quoteContent {
    padding-left: 0;
    width: 50%;
    text-align:left
}

#quoteImageBox {
    background: #FFF;
    border-radius: 12px;
 
    width: 450px;
    color: #FFF;
    float: right;
}
#quoteImageBox td {
    align-content:center;
    vertical-align:middle;
    padding:1rem;
}

.blockquote {
    position: relative;
    font-family: jubilat, serif;
    max-width: 600px;
}

.blockquote .quoteText {
    font-family: jubilat, serif;
    position: relative; /* for pseudos */
    color: #3C3C3D;
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
    border: 2px solid #fff;
    border: solid 2px #EF3E39;
    border-radius: 20px;
    padding: 25px;
}

.blockquote .quoteText:after {
    content: "";
    position: absolute;
    border: 2px solid #EF3E39;
    border-radius: 0 50px 0 0;
    width: 60px;
    height: 60px;
    bottom: -60px;
    left: 50px;
    border-bottom: none;
    border-left: none;
    z-index: 3;
}

.blockquote .quoteText:before {
    content: "";
    position: absolute;
    width: 80px;
    border: 6px solid #f9f9f9;
    bottom: -3px;
    left: 50px;
    z-index: 2;
}

.blockquote .quoteClient {
    position: relative;
    color: #05415d;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
    padding-top: 15px;
    z-index: 1;
    margin-left: 150px;
    padding-left: 12px;
}

.blockquote .quoteClient:first-letter {
    margin-left: -12px;
}
/*#endregion*/

/*#region client logos*/
#theClientLogos {
    -webkit-animation: fade-in-move-up .75s; /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fade-in-move-up .75s; /* Internet Explorer */
    -o-animation: fade-in-move-up .75s; /* Opera < 12.1 */
    animation: fade-in-move-up .75s;
}
#sectionClients {
}

#clientsInner {
    padding: 4rem 2rem;
}
#clientsInner h2 {
    text-align: center;
    width: 100%;
    padding-bottom: 1rem;
    color:#8ED1C0;
}
#sponsorContainer {
    text-align: center;
    padding: 2rem;
}

.sponsorLogo {
    display: inline-block;
    padding: 1.5rem;
    margin: 1rem;
    padding: 0;
    margin-bottom: .5rem;
    height: 180px;
    overflow: hidden;
}
.sponsorLogo img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center center;
}
/*#endregion*/
    /*#region case studies*/
    #sectionRelatedWork {
        padding: 4rem 1rem 2rem 1rem;
        background: #f9f9f9;
        border-top: 1px solid rgba(0,0,0,0.05);
    }
    #relatedWorkInner {
        max-width: 100rem;
        margin: 0 auto;
        padding:2rem;
    }
    #relatedWorkInner h2 {
        color: #EF3E39;
        line-height: 1;
        font-family: Jubilat, serif;
        font-size: 2rem;
        letter-spacing: 1px;
        padding-left: 1rem;
    }
    #relatedContainer {
        overflow: hidden;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    }
    .relatedItem {
        width: 33.3333333%;
        padding: 2rem 1rem 2rem 1rem;
        text-align: center;
    }
    .relatedImage {
    
        width: 100%;
        height: 300px;
        overflow: hidden;
        margin: 0 auto;
        border-radius: 12px;
    }
    .relatedImage img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        object-position: center center;
        transition: all .75s ease-in-out;
    }
    .relatedTitle {
        font-family: proxima-nova, sans-serif;
        padding: .5rem 1rem;
        text-align: left;
        color: #707070;
        font-size: 1.2rem;
        font-weight: 600
    }
    a:hover .relatedTitle, a:focus .relatedTitle, a:active .relatedTitle {
        color: #EF3E39;
    }
    a:hover .relatedImage, a:active .relatedImage, a:focus .relatedImage {
    
    }
    .relatedItem:hover .relatedImage img {
        transform: scale(1.1);
    }
/*#endregion*/

/*#region media breaks*/
@media(max-width:1600px) {
    #headerContentInner, #headerContentInner ul, .wysiwyg {
        font-size: 1.25rem;
    }
    #headerContentInner h1 {
        font-size: 4.5rem;
    }
    #headerContentInner ul {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
        margin-left: 4rem;
    }
    #headerContent, #headerImage {
        width:100%;
    }
    #headerContent {
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2;
    }
    #headerContentInner {
        background: #FFF;
        max-width: 75rem;
        border-radius: 12px 12px 0 0;
        float: none;
        margin: -4rem auto 0 auto;
        padding: 2rem 3rem;
    }
    #headerImage {
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
        -ms-flex-order: 1;
        order: 1;
    }
    #featuredFrameContainer {        
        margin-top: 3rem;
        border-radius: 12px 12px 0 0;
        text-align: center;
        height: 500px;
    }
    #featuredFrameContainer img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        object-position: center center;
        position: relative;
    }
    .wysiwyg-title {       
        font-size: 2.7rem;
    }
    .headingH2Jub {
        font-size: 1.8rem !important;
    }
}
@media(max-width:1430px) {
    #featuredFrameContainer {       
        height: 450px;
    }
}
@media(max-width:1236px) {
    #featuredFrameContainer {
        height: 405px;
    }
    #headerContentInner {
        max-width: 94%;        
    }
    #headerContentInner h1 {
        font-size: 4.05rem;
    }
    .wysiwyg-title {
        font-size: 2.43rem;
    }
    .headingH2Jub {
        font-size: 1.62rem !important;
    }
}
@media(max-width:1125px) {
    #featuredFrameContainer {
        height: 365px;
    }
    #headerContentInner h1 {
        font-size: 3.65rem;
    }
    .wysiwyg-title {
        font-size: 2.187rem;
    }
        
}
@media(max-width:1023px) {
    #headerContentInner h1 {
        font-size: 3.285rem;
    }
    #headerContentInner ul {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        margin-left: 3rem;
    }
    .tabs label {
        font-size: 1.3rem;        
    }
    .wysiwyg-title {
        font-size: 1.9683rem;
    }
    .featuredItemCard {
        padding: 1rem 0 .5rem 0;
    }
    .featuredItemImage {
        height: 400px;
    }
    .headingH2Jub {
        font-size: 1.50rem !important;
    }
    #quoteImage {
        display: none;
    }
    #quoteImage, #quoteContent {
        width:100%;
    }
    #quoteImageBox {       
        float: none;
        margin: 0 auto;
    }
    #quoteImage {
        padding-right: 0;
    }
    .blockquote {        
        max-width: 600px;
        margin: 1rem auto;
    }
    #clientsInner {
        padding: 2rem;
    }
    #sponsorContainer {
        padding: 0;
    }
    .sponsorLogo {
        height: 100px;
    }
    #relatedWorkInner {
        padding: 2rem 0;
        text-align: center;
    }
    .relatedItem {
        width: 100%;
        height:550px;
        margin-bottom:2rem;
    }
    .relatedImage {
        width: 100%;
        height: 100%;       
    }
    .relatedTitle {
        text-align: center;
    }    
}
@media(max-width:890px) {
    #headerContentInner h1 {
        font-size: 2.9565rem;
    }
    .tabs label {
        font-size: 1.15rem;
    }
    .wysiwyg-title {
        font-size: 1.78rem;
    }
    .headingH2Jub {
        font-size: 1.35rem !important;
    }
    .featuredItemImage {
        height: 360px;
    }
    .quoteClient {
        font-size:1.15rem !important;
    }
}
@media(max-width:830px) {
    #headerContentInner, #headerContentInner ul, .wysiwyg {
        font-size: 1.15rem;
    }
    #headerContentInner h1 {
        font-size: 2.89rem;
    }
    #headerContentInner ul {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
        margin-left: 3rem;
    }
    #bodyInner {       
        padding: 0 2rem;
    }
    .tabs label {        
        width: 100% !important;
    }
    .tab .wysiwyg-title {
        text-align: center;
        line-height: 1.35;
    }
    .relatedItem {
        height: 400px;
        padding: 2rem 0 2rem 0;
    }
}
@media(max-width:639px) {
    #featuredFrameContainer {
        height: 330px;
    }
    #headerContentInner h1 {
        font-size: 2.6rem;
    }
    #headerContentInner {
        padding: 2rem 1.5rem;
    }
    .wysiwyg-title {
        font-size: 1.6rem;
    }
    .featuredItemImage {
        height: auto;
    }
    #quoteInner {
        padding: 4rem 2rem;
    }
    .sponsorLogo {
        height: auto;
        width: 100px;
        margin: .25rem;
    }
    #sectionRelatedWork {
        padding: 1rem 1rem 2rem 1rem;      
    }
    #relatedWorkInner {
        padding: 2rem 1rem;
    }
    #relatedWorkInner h2 {
        padding-left: 0;
    }
    .relatedItem {
        height: 300px;       
    }
}
@media(max-width:500px) {
    #featuredFrameContainer {
        height: 300px;
    }
    #headerContentInner h1 {
        font-size: 2.35rem;
    }
    .wysiwyg-title {
        font-size: 1.45rem;
    }
}
@media(max-width:400px) {
}
    /*#endregion*/