html {
    overflow-x: hidden;
}
body {
    color: #333;
    font-family: Lato, sans-serif;
    margin: 0;
}
.banner, .footer, nav {	
    width: 100%;	
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
}
.banner {
    max-width: 900px;
}
.container {
    padding: 0 1rem 1rem 1rem !important;
    width: 100%;
    max-width: 900px;
    overflow: hidden;
    border-top: none;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    position: relative;
    left: calc((100vw - 100%) / 2);
    left: 0;
}
.container.hp {
    overflow: visible;
}
@media screen and (min-width: 480px) {
    .container {
        padding: 0;
    }		
}
.main, .bio {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    overflow: visible;
    padding-bottom: 0px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.5;
}
@media screen and (min-width: 900px) {
    .banner {
        padding-bottom: 86px;
        margin-bottom: 50px;
        left: 0px !important;
        width: 100% !important;
        max-width: 900px !important;
    }
}
.main blockquote {
    margin: 0;
    margin-bottom: 0;
    position: relative;
    padding: 0;
    margin-left: 15%;
    margin-right: 15%;
    background-color: white;
    border: 1px solid #eaeada;
    font-size: 15px;
    padding: 1rem;
}
.main blockquote::before {
    content: ',';
    font-family: serif;
    font-size: 200px;
    display: block;
    position: absolute;
    color: #eaeada;
    top: calc(-100% + 4rem);
    left: -40px;
    transform: rot(180deg);
    transform: scaleX(-1);
    display: none;
}
.banner {
    width: 100%;
    /*height: 250px;*/
    position: relative;
    overflow: hidden;
    margin-bottom: 2.5rem;
}
nav {
    padding: 9px 0;
    border: none;
    border-bottom: 1px solid #d9d9c9;
    height: auto;
}
.main, .footer {
    border: none;
}
.banner.img {
    position: relative;
    right: 0px;
    top: 0;
    height: 300px;
    width: 100%;
    background: url('../images/serene-space-2.webp') -92px 0px no-repeat;
    background-size: 186%;
    box-sizing: border-box;
}
.banner.img .text {
    height: 100%;
}
@media screen and (min-width: 410px) {
    .banner.img {
        background: url('../images/serene-space-2.webp') -75px -29px no-repeat;
        background-size: 165%;
    }
}
.banner.img .text {
    position: relative;
    height: 100%;
    width: 100%;
    max-width: 550px;
    max-width: 50%;
    top: 0;
    left: 0;
    background-color: #001122;
    opacity: .85;
    z-index: 100;
    box-sizing: border-box;
    padding: 1rem;
    font-size: 16px;
    color: #555;
    text-align: center;
    padding: 5px 16px 36px 16px;
    color: #4e504b;
    color: white;
    font-family: Courier;
    font-size: 36px;
    padding-top: 5px;
    width: 50%;
    text-align: right;
    }
.banner .text div {
    color: red;
    display: inline-block;
    position: relative;
    top: 13px;
    top: -20px;
}
.banner .text div.container {
    top: 0px;
    right: 1px;
    padding: 0 !important;
    margin-right: 0;
}
@media screen and (min-width: 480px) {
    .banner.img {
        background: url('../images/serene-space-2.webp') -1px 0px no-repeat;
        background-size: 119%;
    }
    .banner .text > div {
        top: -3px;        
    }
    .banner .text div div {
        top: -3px;
    }
}
@media screen and (min-width: 570px) {
    .banner .text div.container {
        width: auto;
        top: 0;
    }
    .banner.img {
        background: url('../images/serene-space-2.webp') 3px -33px no-repeat;
        background-size: 123%;
    }
    .banner .text div div {
        top: -4px;
    }
}
@media screen and (min-width: 600px) {
    .banner.img {
        background: url(../images/serene-space-2.webp) 4px -77px no-repeat;
        background-size: 116%;
    }
}
@media screen and (min-width: 768px) {
    .banner.img {
        height: 300px;
    }           
    .banner.img .text {         
        width: 39%;
        height: 300px;
    }
    .banner.img {
        background: url('../images/serene-space-2.webp') -55px -95px no-repeat;
        background-size: 117%;
    }
    .banner .text div div {
        top: -4px;
    }
}
@media screen and (min-width: 900px) {
    .banner.img {
        background: url(../images/serene-space-2.webp) -27px -85px no-repeat;
        background-size: 106%;
    }
}
.banner .text span {
    font-size: 12px;
    line-height: 15px;
    color: #fcfcff;
    padding: 0;
    letter-spacing: .5px;
    display: block;
    font-family: Lato, sans-serif;
}
.banner .text .container span {
    font-size: 12px;
    line-height: 16px;
    color: #fcfcff;
    padding: 0;
    letter-spacing: .9px;
    display: block;
    margin-top: 4px;
}
.banner .text .container span:last-of-type {
    margin-top: 5px;
}
.banner .text .container span:first-of-type {
    font-family: Lato, sans-serif;
    margin-top: 54px;
}
.banner .text span.contact a,
.banner .text span.contact a:link,
.banner .text span.contact a:visited {
    display: block;
    font-size: 16px;
    padding: 6px 12px;
    width: 130px;
    border: 1px solid #bbde91;
    box-sizing: border-box;
    text-align: center;
    margin: 3rem 6px auto auto !important;
    font-weight: normal;
}
div.text > div {
    margin-top: 1rem;
}
div.text div > div {
    font-size: 24px;
    line-height: 28px;
    display: inline-block;
    font-family: Lora;
    font-family: Lora, serif;
}
div.text div h1.title {
    color: red;
    color: #ff0043;
    font-family: Lora, serif;
    font-size: 42px;
    margin-top: 48px;
    display: block;
    font-weight: bold;
    text-align: right;
    letter-spacing: 1px;
    margin-bottom: 3px;
}
@media screen and (min-width: 390px) {
    div.text div h1.title {
        font-size: 42px;
    }
    .banner .text span {
        font-size: 13px;
    }
    .banner .text .container span {
        font-size: 12px;
    }
    .banner .text .container span:first-of-type {
        margin-top: 54px;
    }
}
@media screen and (min-width: 450px) {
    .banner .text span {
        font-size: 14px;
    }
    .banner .text .container span {
        font-size: 13px;
    }
    .banner .text .container span:first-of-type {
        margin-top: 54px;
    }
}
@media screen and (min-width: 480px) {
    div.text div h1.title {
        margin-top: 38px;
    }
    .banner .text span {
        font-size: 16px;
        line-height: 20px;
    }
    .banner .text .container span {
        font-size: 15px;
    }
}
nav div span.name {
    font-family: Lato;
    font-size: 12px;
    display: block;
    margin-left: 2px;
    color: white;
    letter-spacing: .1px;
}
nav {
    position: relative;
}
nav ul {
    display: inline-block;
    list-style: none;
    position: static;
    right: 0;
    top: 6px;
    margin: 0;
    padding: 0 0 0 0;
}
nav ul li {
    font-size: 14px;
    padding-top: 2px;
    list-style-type: none;
    display: inline-block;
    position: relative;
    padding: 3px 12px;
    height: 24px;
    color: #33333f;
}
nav ul li:last-of-type:after {
    display: none;
}
@media screen and (min-width: 768px) {
    .banner .text span.contact a {
        margin: 0;
        text-align: right;
    }
}
nav ul {
    display: inline;
    position: absolute;
    padding-right: 0;
}
nav .name a {
    font-size: 1rem;
}
h1 {
    font-size: 3rem;
    color: #2f4f4f;
    font-weight: normal;
    margin: 0;
    padding-left: 0px;
    padding-top: 0px;
    font-family: Lora;
    margin-top: 2rem;
    text-align: center;
    margin-bottom: 2rem;
}
.main.cs h1 {
    color: #2f4f4f;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 1rem;
    line-height: 2.75rem;
}
.main.cs h2 {
    color: #333;
    margin-bottom: 5rem;
    font-size: 1.5rem;
}
.main.cs h3 {
    color: #454545;
    font-weight: bold;
    letter-spacing: .5px;
    margin-bottom: 1.5rem;
    margin-top: 0;
}
@media screen and (min-width: 375px) {
    h1 {
        font-size: 3.5rem;
    }
}
h2 {
    font-size: 14px;
    color: #506003;
    color: #2f4f4f;
    color: #555;
    font-weight: normal;
    margin: 0;
    padding-left: 0px;
    padding-top: 0px;
    font-family: Lora;
}
div.name a {
    padding: 1px 3px 4px 4px;
    box-sizing: border-box;
    height: 30px;
    width: 30px;
    border-radius: 15px;
    border: 1px solid #dadada;
}
div.name span:last-of-type {
    position: relative;
    top: 4px;
}
div.name span.learn-med:first-of-type {
    position: relative;
    top: -2px;
}
div.name span.learn-med:last-of-type {
    position: relative;
    top: 2px;
    left: -1px;
}
div a, div a:link, .bio a, .bio a:link, .contact a, .contact a:link {
    color: #2f4f4f;
    text-decoration: none;
    font-weight: normal;
}
div.bio a.bio {
    color: #2f4f4f;
    border-bottom: 1px solid #555;
    display: inline;
    width: auto;
    padding: 0;
}
div.bio a:hover {
    border-bottom: 1px solid #c51a09;
    color: #c51a09 !important;   
}
div a:hover {
/*    border-bottom: 1px solid #c51a09;
    color: #c51a09;*/
}
div a {
    display: inline-block;
    width: auto;
}
div.name a:hover {
    color: #c51a09 !important;
    border: 1px solid #c51a09;
    border-radius: 15px;
}
div.name a.no-hov {
    cursor: default;
    border: 1px solid #dadada;
    color: #2f4f4f !important;
}
h2 {
    font-family: Lora, serif;
    font-size: 30px;
    font-weight: normal;
    text-align: left;
    position: relative;
    color: #506030;
    color: #2f4f4f;
    letter-spacing: 1px;
}
h2::after, div.h2::after {
    content: '';
    display: none;
    width: 30%;
    bottom: 38px;
    left: calc(35%);
    position: absolute;
    border-bottom: 1px solid #c9c9b9;
}
.portfolio {
    overflow: visible;
    padding-bottom: 0;
    box-sizing: border-box;
}
.portfolio ul {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    box-sizing: border-box;
    padding-bottom: 0;
    height: auto;
}
.portfolio ul li {
    box-sizing: border-box;
    float: left;
    height: 100%;
    width: 100%;
    clear: both;
    margin-right: 0;
    margin-left: 0;
    border-bottom: 1px solid #d9d9c9;
    padding: 0;
    margin-bottom: 1rem;
    background-color: #fff;
    padding: 1rem;
    padding-bottom: 3rem;
    position: relative;
    text-align: center;
}
.portfolio.projects ul li {
    text-align: left;
}
/*.portfolio.projects ul li div.clip-modal img {
    border-radius: 10px;
}*/
.portfolio ul li:last-of-type {
    margin-bottom: 0;
}
@media screen and (min-width: 768px) {
    .portfolio ul li {
        padding-bottom: 1rem;
        margin-bottom: 0;
    }
    .portfolio.projects ul li {
        margin-bottom: 1rem;
    }
    .portfolio.projects ul li:last-of-type {
        margin-bottom: 0;
    }
}
.portfolio ul li a figcaption,
.portfolio ul li.border-light a figcaption {
    color: #666666 !important;
}
.main h2.glance {
    text-align: center;
    margin-bottom: 2rem;
}
.portfolio ul li.border-dark a figcaption {
    color: #2f4f4f !important;
}
.border-dark {
    border: 1px solid #999 !important;
}
.border-light {
    border: 1px solid #d9d9c9 !important;
}
.portfolio ul li figure {
    margin: 0;
    padding: 0;
    height: 100%;
    text-align: center;
    box-sizing: border-box;
}
.portfolio ul li figure img {
    width: 50%;
    height: auto;
}
.portfolio ul li figure img.design-flaws {
    margin-top: 10px;
    border: 1px solid #ddd;
    padding-top: 14px;
    box-sizing: border-box;
    padding-bottom: 12px;
    border-radius: 5px;
    box-shadow: 2px 2px 4px #ccc;
}
.portfolio ul li figure img.online-doc {
    margin-top: 10px;
    width: 60%;
    box-shadow: 2px 2px 4px #ccc;
}
.portfolio ul li figure img.flowchart {
    margin-top: 7px;
}
.portfolio ul li figure img.stress-eraser {
    margin-top: 18px;
    width: 57%;
    height: 100%;
}
.portfolio ul li figure img.accessible-modal {
    width: 61%;
}
.portfolio ul li figure img.agentic-ai,
.portfolio ul li figure img.accessible-modal {
    border-radius: 10px;
    margin-top: 12px;
}
.portfolio ul li figure img.agentic-ai {
    border: 1px solid #e0e0e0;
}
.portfolio ul li figure img.sangha-homepage {
    height: auto !important;
    width: 63%;
    margin-top: .71rem;
}
.portfolio ul li figure img.agentic-ai {
    height: auto !important;
    width: 63%;
    margin-top: .71rem;
}
.portfolio ul li figure img.learn-to-meditate {
    margin-top: 10px;
    width: 65%;
}
@media screen and (min-width: 570px) {
    .portfolio ul li figure img.learn-to-meditate {
        width: 80%;
    }
}
@media screen and (min-width: 600px) {
    .portfolio ul li figure img.learn-to-meditate {
        width: 85%;
    }
}
@media screen and (min-width: 670px) {
    .portfolio ul li figure img.learn-to-meditate {
        width: 90%;
    }
}
@media screen and (min-width: 768px) {
    .portfolio ul li figure {
        height: 140px;
    }
    .portfolio ul li figure img {
        height: 100%;
        max-height: 150px;
    }
    .portfolio ul li figure img.flowchart {
        margin-top: 5px;
    }
    .portfolio ul li figure img.online-doc {
        margin-top: 1.5rem;
        width: 60%;
        height: auto;
    }
    .portfolio ul li figure img.stress-eraser {
        max-height: 103px;
        height: auto;
        width: 80%;
        margin-top: 1.5rem;
    }
    .portfolio ul li figure img.accessible-modal {
        width: 60%;
        height: auto;
        margin-top: 30px;
    }
    .portfolio ul li figure img.sangha-homepage {
        width: 68%;
    }
    .portfolio ul li figure img.agentic-ai {
        margin-top: 1.2rem;
        width: 68%;
    }
    .portfolio ul li figure img.learn-to-meditate {
        margin-top: 10px;
        width: auto;
    }
}
.portfolio ul li figure figcaption {
    position: absolute;
    height: 20px;
    left: 0;
    width: 100%;
    text-align: center;
    color: #000;
    font-size: 16px;
    font-family: Lato, sans-serif;
    bottom: 1rem;
}
div.footer {
    padding: 0;
    font-family: Lato, sans-serif;
    font-size: 16px;
    clear: both;
    background-color: #eaeada;
    background-color: #efefe6;
    height: 230px;
}
div.footer ul {
    list-style: none;
    padding-left: 0;
}
div.footer ul li {
    display: block;
    font-size: 20px;
    box-sizing: border-box;
    position: relative;
    padding-top: 0;
    padding: 0;
    width: auto;
    text-align: center;
    line-height: 1.6;
}
div.footer ul li:first-of-type {
    text-align: center;
    padding: 0;
}
div.footer ul li:first-of-type::after {
    content: '';
    display: none;
    width: 1px;
    height: 100px;
    position: absolute;
    border-right: 1px solid #c0c0a0;
    left: 100%;
    top: -30px;
}
div.footer h2 {
    padding-top: 40px;
    padding-bottom: 15px;		
}
.projects ul li img {
    width: 80%;
    box-sizing: border-box;
}
.projects ul li img.drop-shadow {
    box-shadow: 2px 2px 4px #ccc;
    padding-left: 0;
    border-radius: 5px;
}
.projects ul li img.learn-to-meditate {
    width: 40%;
    box-sizing: border-box;
}
.projects ul li img.design-flaws {
    border: 1px solid #ddd;
    padding-top: 22px;
    padding-bottom: 22px;
    width: 68%;
}
.projects ul li img.online-doc {
    width: 85%;
    border-radius: 5px;
    box-shadow: 2px 2px 4px #ccc;
}
/**/
.portfolio.case-study .img-container {
    width: 100%;
    text-align: center;
}
.portfolio.case-study img.img-1-full {
    border: 1px solid #ccc;
    width: 62%;
    height: auto;
}
.portfolio.case-study img.img-modal-1,
.portfolio.case-study img.img-1 {
    height: auto;
    width: 60%;
    background: linear-gradient(#333, #000), padding-box, linear-gradient(to right, darkblue, darkorchid) border-box;
    border-radius: 16px;
    border: 1px solid transparent;
    padding: 3px;
    margin-top: 1rem;
}
.portfolio.case-study img.img-button-attributes {
    max-width: 100%;
    width: 100%;
    height: auto;
    border: 1px solid #ccc;
    border-radius: 12px;
    margin-top: 1rem;
    margin-bottom: .5rem;
    margin-left: 15%;
    box-shadow: 2px 2px 4px #ccc;
    display: block;
}
.img-button-attributes-1 {
    margin-left: 15%;
    max-width: 100%;
}
.portfolio.case-study .img-container {
    margin-bottom: 0;
}
.portfolio.case-study div figcaption {
    margin: 0 auto 1rem auto;
    display: block;
    font-size: 10px;
    letter-spacing: .5px;
    box-sizing: border-box;
}
.portfolio.case-study ul {
    padding: 0 !important;
    margin-top: 1rem;
    padding-left: 30px !important;
    list-style: disc;
}
.portfolio.case-study ul li:last-of-type {
    margin-top: 0;
    padding-top: 1rem;
}
.portfolio.case-study ul li {
    height: auto;
    border-bottom: none;
    padding: 0 !important;
    width: 100% !important;
    clear: both;
    float: none;
}
.portfolio.case-study ul.process li {
    text-align: left;
}
.portfolio.case-study.agentic-ai ul > li {
    margin-bottom: .75rem !important;
}
.portfolio.case-study.agentic-ai ul > li ul {
    margin-top: 0.25rem !important;
}
.portfolio.case-study.agentic-ai ul > li ul > li {
    margin-bottom: 0 !important;
}
.portfolio.case-study ul li.mgn-btm-0 {
    margin-bottom: 0 !important;
}
.portfolio.case-study > div {
    margin-top: 2rem;
}
.portfolio.case-study > div:first-of-type {
    margin-top: 0;
}
.portfolio ul li div.clip-sangha img {
    padding-left: 0;
}
.portfolio.case-study img.img-button-attributes {
    width: 100%;
    max-width: 550px;
    box-sizing: border-box;
    margin-left: 0;
}
.portfolio.case-study img.img-modal-1,
.portfolio.case-study figcaption.modal-1 {
    width: 100%;
    max-width: 550px;
    box-sizing: border-box;
    margin-left: 0;
}
.portfolio.case-study figcaption.modal-1 {
    margin-left: 3px;
}
.portfolio.case-study ul.modal ul {
    margin-bottom: 12px;
}
@media screen and (min-width: 480px) {
    .portfolio ul li img {
        width: 65%;
    }
    .projects ul li img {
        width: 70%;
    }
    .projects ul li img.learn-to-meditate {
        width: 42%;
    }
    .projects ul li img.online-doc {
        width: 68%;
    }
    .portfolio ul li figure img.design-flaws {
        margin-top: 10px;
    }
    .portfolio ul li div.clip-sangha img {
        width: 73%;
    }
    .portfolio.case-study img.img-button-attributes {
        margin-left: 0;
    }
}
@media screen and (min-width: 768px) {
    .portfolio ul {
        overflow: hidden;
        padding-left: 14%;
    }
    .portfolio ul li {
        clear: none;
        width: 40%;
        height: 210px;
        margin-right: 3.5% !important;
        margin-bottom: 1rem;
        box-sizing: border-box;
    }    
    .portfolio ul li a {
        padding: 0;
        margin: 0;
        display: inline;
    }
    .portfolio ul li:last-of-type {
        margin-right: 0 !important;
        padding-top: 2.25rem;
        padding-top: 1.5rem;
        margin-bottom: 0;
    } 
    .portfolio.case-study ul ul {
        padding-left: 40px !important;
        margin-top: .75rem !important;
        list-style-type: disc;
    }
    .portfolio.case-study ul li:last-of-type {
        margin-top: 0;
        padding-top: 1rem;
    }
    .portfolio.case-study ul li {
        height: auto;
        border-bottom: none;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        clear: both;
        float: none;
    }
    .portfolio.case-study img.img-1 {
        width: 250px;
    }
    .portfolio.case-study img.img-modal-1,
    .portfolio.case-study figcaption.modal-1 {
        margin-left: calc(50% - 275px);
    }
    .portfolio.case-study .img-container {
        width: 100%;
        text-align: center;
    }
    .portfolio.case-study img.img-1-full {
        width: 25%;
    }
    .portfolio.projects ul li {
        height: auto;
    }
    .portfolio ul li figure#flowchart {
        width: 60%;
        margin: auto;
    }
    .portfolio ul li figure img.design-flaws {
        margin-top: 6px;
    }
    div.footer ul li {
        display: inline-block;
        text-align: left;
        padding-left: 3rem;
        padding-bottom: 1rem;
        width: 50%;
    }
    div.footer ul li:first-of-type {
        text-align: right;
        padding-right: 3rem;
    }
    div.footer ul li:first-of-type::after {
        display: block;
    }
    h2, div.h2 {
        padding-bottom: 80px;
        padding-bottom: 0;
    }
    div.footer h2 {
        padding-bottom: 30px;		
    }
    h2::after, div.h2::after {
        display: block;
        display: none;
    }
}
div.footer h2::after {
    display: none;
}
footer,
.note {
    font-size: 11px;
    background-color: #fff;
    margin-top: 24px;
    padding: 0 1rem 1rem 1rem !important;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    box-sizing: border-box;
}
footer,
.container .note {
    padding: 0 !important;
}
h1 a {
    padding: 0;
}
nav ul li a:link {
    color: #2f4f4f;
    height: 100%;
    width: 100%;
    font-weight: normal;
    font-size: 16px;
}

@media screen and (max-width: 479px) {
    nav ul li a:first-of-type {
        padding-left: 0;
    }
}
nav ul li a {
    box-sizing: border-box;
}
nav ul li {
    top: 4px;
}
nav ul li.current {
    position: relative;
}
nav ul li a, nav ul li a:link {
    text-decoration: none;
    border-bottom: 1px solid white;
    font-size: 14px;
}
blockquote a:visited,
nav ul li a:visited {
    font-weight: normal;
    font-size: 14px;
    color: #666666 !important;
}
nav ul li a:hover {
    color: #c51a09 !important;
    font-weight: normal !important;
    font-size: 14px !important;
    border-bottom: 1px solid #c51a09;
}
.bio a:hover, .contact a:hover {
    color: #2f4f4f !important;
    font-weight: normal !important;
    font-size: 16px !important;
    border-bottom: 1px solid #2f4f4f;
}
blockquote a {
    font-size: 20px;
    display: inline;
    padding: 0;
    color: #2f4f4f !important;
}
blockquote a:hover {
    color: #2f4f4f !important;
    font-weight: normal;
}
.portfolio.bio {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-direction: column-reverse;
    justify-content: space-between;
}
.portfolio.bio div.col {
    width: 100%;
}
.portfolio.bio div.col:last-of-type {
    width: 100%;
    text-align: center;
}
@media screen and (min-width: 768px) {
    .portfolio.bio {
        flex-direction: row;
        gap: 64px;
    }
    .portfolio.bio div.col:first-of-type {
      width: 60%;
    }
    .portfolio.bio div.col:last-of-type {
      width: 40%;
    }
}
.portfolio.bio div.col {
    flex: 1;
    line-height: 1.6;
}
.portfolio.bio div.col img {
    border-radius: 139px;
    box-shadow: 2px 4px 8px #888;
}
.portfolio.contact {
    text-align: center;
    font-size: 1.5rem;
}
.portfolio.contact div {
    max-width: 650px;
    margin: 0 auto 2rem auto;
}
.portfolio.contact div a.res {
    display: inline-block;
    padding: 12px 24px;
    background-color: #e51a19;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.3s ease, transform 0.2 ease;
    font-family: Lato, sans-serif;
    margin-top: 20px;
    letter-spacing: .5px;
}
.portfolio.contact div a.res:hover {
    background-color: #bf360c;
    color: white !important;
}
.portfolio.contact div > span {
    font-size: 1rem;
    line-height: 1.5rem;
    display: block;
}
.case-study div span.reverse,
.portfolio.contact div span.reverse {
    display: inline-block;
    unicode-bidi: bidi-override;
    direction: rtl;
}
.bio div {
    width: 100%;
    float: left;
    font-size: 16px;
    padding-right: .5rem;
    box-sizing: border-box;
    line-height: 1.6;
}
.bio div:last-of-type {
    width: 100%;
}
.bio div span.image-float,
.bio div.image span {
    display: block;
    border: 1px solid #ccc;
    height: 250px;
    width: 100%;
    margin-top: 2rem;
    border-radius: 135px;

}
@media screen and (min-width: 480px) {
    .bio div span.image-float {
        height: 175px;
        background-size: 165%;
    }
}
@media screen and (min-width: 600px) {
    .bio div span.image-float {
        height: 240px;
        background-size: 172%;
    }
}
@media screen and (min-width: 768px) {
    .bio div span.image-float {
        height: 210px;
        background-size: 138%;
    }
    .bio div span.image-float { 
        margin-left: 24px;
    }
}
.bio {
    overflow: hidden;
    padding-bottom: 18px;
}
.projects ul li div.image {
    text-align: center;
    float: none;
    padding: 1rem 0;
}
@media screen and (min-width: 768px) {
    .projects ul li div.image {
        float: left;
        width: 50%;
    }
    .bio div span.image-float {
        width: 25%;
    }
}
div.image img {
    padding-left: .5rem;
    width: 80%;
    height: 80%;
    max-width: 574px;
}
.projects ul li:last-of-type div.image img {
    position: relative;
    top: 0px;
    left: 0px;
}
.projects ul li div.description span.product {
    font-weight: bold;
    letter-spacing: .3px;
    display: block;
    color: #333;
    font-size: 17px;
}
.main.cs h2 {
    margin-bottom: .3rem;
    font-weight: bold;
}
.portfolio.case-study div h3.case-study {
    letter-spacing: .5px;
    font-weight: bold;
    font-size: 1.25rem;
}
.portfolio.case-study div p {
    margin-top: 1rem;
}
.portfolio.case-study div img.half-size {
    width: calc(100% - 1rem);
    width: 100%;
    height: auto;
    border: 1px solid #ccc;
    padding: 1.5rem;
    border-radius: 9px;
    box-sizing: border-box;
}
@media screen and (min-width: 768px) {    
    .portfolio.case-study div img.half-size {
        width: 50%;
        max-width: 434px;
        margin-left: calc(50% - 217px);
    }
    .portfolio.case-study div figcaption.sangha-homepage {
        max-width: 250px;
        margin: auto;
    }
    .portfolio.case-study div figcaption.agentic-ai {
        max-width: 250px;
        margin: auto;
    }
    .portfolio.case-study div figcaption {
        max-width: 434px;
    }
    .portfolio.case-study div figcaption.online-support {
        width: 50%;
        margin: auto;
    }
    .portfolio.case-study img.img-button-attributes,
    .portfolio.case-study div figcaption.img-button-attributes-1 {
        max-width: 60%;
        margin-left: 15%;
    }
}
.portfolio.case-study .slide {
    position: relative;
}
.portfolio.case-study a {
    border-bottom: 1px solid #555;
} 
.portfolio.case-study a:hover {
    color: #c51a09;
    border-bottom: 1px solid #c51a09;
}
.portfolio.case-study div p.no-btm-mgn {
    margin-bottom: 0;
}
.portfolio.case-study h3.case-study {
    color: #454545;
}
.portfolio.case-study .cols-even,
.portfolio.case-study .cols {
    display: flex;
    flex-wrap: wrap;
}
.homepage .portfolio.case-study .cols-even,
.homepage .portfolio.case-study .cols {
    margin-top: 2.5rem;
}
.homepage .portfolio.case-study > .cols-even {
    width: 100%;
}
.homepage .portfolio.case-study .cols-even,
.portfolio.case-study > .cols > .col-1 {
    width: 100%;
}
.portfolio.case-study .one-col,
.portfolio.case-study > .cols > .col-2 {
    width: 100%;
    text-align: center;
    margin: 1.5rem 0 2rem 0;
}
.portfolio.case-study .one-col {
    text-align: left;
}
.portfolio.case-study > .cols-even .cols ul {
    margin: 0;
    padding: 0 0 0 20px;
}
.portfolio.case-study .cols-even.reverse {
    background-color: #c60;
    color: #fff;
    margin-top: 3rem;
    margin-bottom: 3rem;
    padding: 1.5rem 1rem;
    height: 275px;
    position: relative;
    z-index: 100;
    display: flex;
    align-items: center;
}
.portfolio.case-study .one-col.persona,
.portfolio.case-study .one-col.pain-points,
.portfolio.case-study .one-col.study-findings,
.portfolio.case-study .one-col.study-parameters {
    text-align: left;
}
.portfolio.case-study .cols-even.reverse .cols {
    width: 62%;
    box-sizing: border-box;
    z-index: 1000;
    margin-top: .5rem;
}
.portfolio.case-study .one-col.persona .img,
.portfolio.case-study .one-col.pain-points .img,
.portfolio.case-study .one-col.study-findings .img,
.portfolio.case-study .one-col.study-parameters .img {
    width: 100%;
    text-align: center;
}
.portfolio.case-study .one-col.persona ul,
.portfolio.case-study .one-col.study-findings ul,
.portfolio.case-study .one-col.study-parameters ul,
.portfolio.case-study .one-col.pain-points ul {
    width: 100%;
    text-align: center;
    padding-left: 25%;
}
.portfolio.case-study .one-col.persona ul li,
.portfolio.case-study .one-col.study-parameters ul li,
.portfolio.case-study .one-col.study-findings ul li,
.portfolio.case-study .one-col.pain-points ul li {
    width: 25%;
    padding: 0;
    text-align: left;
    border-bottom: none;
    margin: 0;
    height: auto;
}
.portfolio.case-study .cols-even.reverse .cols:first-of-type {
    border-right: 1px solid white;
    text-align: right;
    width: 38% !important;
}
.portfolio.case-study .cols-even.reverse h3 {
    color: #fff;
    box-sizing: border-box;
    margin-top: 2rem;
    text-align: right;
    margin-right: 1.5rem;
    letter-spacing: 1px
}
.portfolio.case-study .cols-even.reverse::before,
.portfolio.case-study .cols-even.reverse::after {
    height: 100%;
    position: absolute;
    content: ' ';
    display: block;
    width: 150vh;
    background-color: #c60;
    top: 0;
}
.portfolio.case-study .cols-even.reverse::before {
    left: -110%;
}
.portfolio.case-study .cols-even.reverse::after {
    right: -100%;
}
.portfolio.case-study > .cols-even .cols ul li {
    display: list-item;
    border: none;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    position: relative;
    color: #333;
    width: auto;
    background-color: inherit;
}
.portfolio.case-study > .cols-even .cols ul li::before {
    position: absolute;
    color: #c93 !important;
    display: inline-block;
    content: '-';
    width: 10px;
    left: -10px;
    font-weight: bold;
}
.portfolio.case-study > .cols-even.reverse .cols ul {
    margin-left: 1.5rem;
    padding-right: 2rem;
}
.portfolio.case-study > .cols-even.reverse .cols ul li {
    color: #fff;
    font-size: 18px;
    letter-spacing: .5px;
    width: auto;
    clear: both;
}
.portfolio.case-study > .cols-even.reverse .cols ul li::before {
    content: '\2666';
    display: block;
    position: absolute;
    left: -16px;
    color: white !important;
}
.portfolio.case-study .cols-even .cols .col-1,
.portfolio.case-study .cols .cols .col-1 {
    width: 10%;
}
.portfolio.case-study .cols-even .cols .col-2,
.portfolio.case-study .cols .cols .col-2 {
    width: 90%;
}
.portfolio.case-study .cols span.img img,
.portfolio.case-study .cols span.fa-clock-o {
    width: 30px;
    height: auto;
}
.portfolio.case-study .cols span.fa-clock-o {
    font-size: 26px;
    color: #c63;
}
.portfolio.case-study .cols .col-2 img {
    width: 30%;
    width: 250px;
    height: auto;
    background: linear-gradient(#333, #000), padding-box, linear-gradient(to right, darkblue, darkorchid) border-box;
    border-radius: 16px;
    border: 1px solid transparent;
    padding: 3px;
}
.portfolio.case-study .cols.prototype .col-2 img,
.portfolio.case-study .cols.wireframes-paper .col-2 img,
.portfolio.case-study .cols.wireframes-digital .col-2 img,
.portfolio.case-study .cols.user-journey-map .col-2 img,
.portfolio.case-study .cols.sitemap .col-2 img {
    width: 100%;
    height: 330px;
}
@media screen and (min-width: 675px) {
    .portfolio.case-study > .cols > .col-1 {
        width: 60%;
    }
    .portfolio.case-study > .cols > .col-2 {
        width: 40%;
        margin: 1rem 0 1.5rem 0;
    }
     .portfolio.case-study > .cols.prototype > .col-1,
     .portfolio.case-study > .cols.wireframes-paper > .col-1,
     .portfolio.case-study > .cols.wireframes-digital > .col-1,
     .portfolio.case-study > .cols.user-journey-map > .col-1,
     .portfolio.case-study .cols.sitemap > .col-1 {
        width: 30%;
    }
    .portfolio.case-study > .cols.prototype > .col-2,
    .portfolio.case-study > .cols.wireframes-paper > .col-2,
    .portfolio.case-study > .cols.wireframes-digital > .col-2,
    .portfolio.case-study > .cols.user-journey-map > .col-2,
    .portfolio.case-study .cols.sitemap > .col-2 {
        width: 70%;
        margin: 1rem 0 1.5rem 0;
    }
    .portfolio.case-study > .cols-even .cols {
        width: 50% !important;
        margin-top: 0;
    }
    .portfolio.case-study > .cols-even h3,
    .portfolio.case-study > .cols-even {
        width: 100%;
    }
}
.portfolio.case-study ol {
    width: auto;
    display: block;
    margin-bottom: 1rem;
    margin-top: .5rem !important;
    padding-left: 40px;
}
.portfolio.case-study ol li {
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    display: list-item;
    float: none;
    border: none;
}
.projects ul li div.description a {
    display: inline-block;
    color: #506003;
    margin-left: 0;
    padding: 0;
    text-decoration: underline;
}
.projects ul li div.description a:hover {
    font-weight: normal;
}
.projects ul li div.description a:visited, span a:visited {
    display: block;
    color: #666666;
}
.projects ul li div.description span {
    font-size: 16px;
    display: block;
}
.projects ul li div.description span.mgn-top {
    margin-top: 24px;
}
.projects ul li div.description span.subheader {
    color: #454545;
    padding-bottom: 5px;
    font-size: 11px;
}
.projects ul li div.description span.mb-hide {
    display: none;
}
.projects ul li div.description span a {
    position: relative;
    /*padding-right: 28px !important;*/
    text-decoration: none;
    border-bottom: 1px solid #555;
}
.projects ul li div.description span a, .projects ul li div.description span a:link, .projects ul li div.description {
    display: inline !important;
    padding: 0;
    font-size: 16px;
    color: #666666;
}
div.description span a, .projects ul li div.description span a:link {
    color: #555;
    border-bottom: 1px solid #555;
}
.projects ul li div.description span a:hover {
    color: #c51a09;
    border-bottom: 1px solid #c51a09;
}   
.projects ul li div.description span a:last-of-type::after {
    content: '\f019';
    display: inline-block;
    font-size: 16px;
    position: absolute;
    bottom: -5px;
    left: calc(100% + 10px);
    color: #666666;
    font-weight: 300;
    font-family: 'FontAwesome';
}
.projects ul li div.description span a.icon-link::after,
.projects ul li div.description span a:first-of-type::after {
    content: '\f08e';
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: calc(100% + 10px);
    bottom: -5px;
    color: #666666;
    font-weight: 300;
    font-size: 16px;
    font-family: 'FontAwesome';
}
.projects ul li div.description span a:hover:first-of-type::after,
.projects ul li div.description span a:hover:last-of-type::after {
    color: #c51a09;
}
.mb-hide {
    display: inline;
    display: none;
}
@media screen and (min-width: 480px) {
    .mb-hide {
        display: none;
    }
}
@media screen and (min-width: 768px) {
    .mb-hide {
        display: inline;
        display: none;
    }
}
@media screen and (min-width: 830px) {
    .mb-hide {
        display: none;
    }
}
h2.project-title {
    letter-spacing: .3px;
}
h2.project-title, h3 {
    color: #506030;
    color: #2f4f4f;
    font-family: Lato, sans-serif;
    font-size: 24px;
    font-weight: normal;
}
.contact h3 {
    margin-bottom: 0;
}
.projects ul li div.description {
    width: 100%;
    padding-left: 1rem;
    font-size: 16px;
    line-height: 1.6;
}
@media screen and (min-width: 768px) {
    .projects ul li div.description {
        float: left;
        width: 50%;
    }
}
.projects h2.project-title,
.projects h3 {
    padding: 0;
    margin: 0;
    margin-bottom: 1rem;
}
.bio div h3 {
    margin: 2rem 0 0 0;
}
.bio div h3:first-of-type {
    margin-top: 0;
}
.projects ul {
    height: auto !important;
}
.projects ul, .projects ul li {
    width: 100% !important;
    padding: 0rem;
}
.projects ul li {
    padding: 1rem 1rem 2.5rem 1rem;
}
.project ul li {
    margin-bottom: 0 0 1rem 0;
}
.projects ul li div {
    float: left;
    overflow: hidden;
    box-sizing: border-box;
    padding: 1rem;
    padding-left: 0 !important;
}
.main blockquote a {
    text-decoration: underline !important;
}
.hide {
    display: none !important;
}