/* remove whitespace below footer */
#footer { 
		display: block;
}


/* 
use case page subtitle styling
*/


#content .case-study-subtitle .fl-rich-text p {
    font-weight: 300;
    font-size: 20px;
		max-width: none;
}

#content .case-study-subtitle .fl-rich-text {
    text-align: center;
}


/* 
Link STYLING
*/

.post-content a {
 	color: #555;
		font-weight: 300;
				text-decoration: underline;
}
.post-content a:hover {
	 	color: #1A73E8;
		text-decoration: underline;
}


/* 
PASSWORD FORM STYLING
*/

.post-password-form {
    max-width: 400px !important;
    margin: 60px auto !important;
    padding: 40px !important;
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08) !important;
    font-family: 'Work Sans', sans-serif !important;
    text-align: center !important;
}

.post-password-form p {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 14px !important;
    color: #666 !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
    text-align: center !important;
}

.post-password-form label {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #333 !important;
    text-align: left !important;
}

.post-password-form input[type="password"] {
    width: 100% !important;
    padding: 14px 16px !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 15px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    background: #fafafa !important;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.post-password-form input[type="password"]:focus {
    border-color: #111 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06) !important;
}

.post-password-form input[type="submit"] {
    width: 100% !important;
    margin-top: 16px !important;
    padding: 14px 24px !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #fff !important;
    background: #111 !important;
    border: none !important;
    border-radius: 100px !important;
    cursor: pointer !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
}

.post-password-form input[type="submit"]:hover {
    background: #333 !important;
    transform: translateY(-1px) !important;
}

.post-password-form input[type="submit"]:active {
    transform: translateY(0) !important;
}

/* Hide the default "Password:" text and restyle */
.post-password-form p:last-of-type {
    margin-bottom: 0 !important;
}

/* Optional: Add a lock icon above the form via pseudo-element */
.post-password-form::before {
    content: "" !important;
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 auto 20px !important;
    background: #f5f5f5 !important;
    border-radius: 50% !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23555' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 24px !important;
}





/* ========== Portfolio Cards CSS (claude "Simple portfolio case study design" ========== */

.case-study-card,
.case-study-card:hover,
.case-study-card:focus,
.case-study-card:active,
.case-study-card:visited {
    background: #fff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    font-family: 'Work Sans', sans-serif !important;
    text-decoration: none !important;
    display: block !important;
}

.case-study-card *,
.case-study-card *:hover,
.case-study-card *:focus,
.case-study-card *:active,
.case-study-card *:visited {
    text-decoration: none !important;
}

a.case-study-card,
a.case-study-card:hover,
a.case-study-card:focus,
a.case-study-card:active,
a.case-study-card:visited {
    text-decoration: none !important;
}

.case-study-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.12) !important;
}

.case-study-card .card-image {
    position: relative !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
}

.case-study-card .card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
}

.case-study-card:hover .card-image img {
    transform: scale(1.04) !important;
}

.case-study-card .card-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 50%) !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 32px !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
}

.case-study-card:hover .card-overlay {
    opacity: 1 !important;
}

.case-study-card .cta-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 24px !important;
    background: #fff !important;
    color: #111 !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    border-radius: 100px !important;
    transform: translateY(12px) !important;
    transition: transform 0.3s ease, background 0.2s ease !important;
}

.case-study-card:hover .cta-button {
    transform: translateY(0) !important;
}

.case-study-card .cta-button:hover {
    background: #f0f0f0 !important;
}

.case-study-card .cta-button svg {
    width: 16px !important;
    height: 16px !important;
    transition: transform 0.2s ease !important;
}

.case-study-card:hover .cta-button svg {
    transform: translateX(2px) !important;
}

.case-study-card .card-content {
    padding: 24px !important;
}

.case-study-card .card-title {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    color: #111 !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

.case-study-card .card-description {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #666 !important;
    line-height: 1.5 !important;
    margin-bottom: 16px !important;
    text-align: left !important;
}

.case-study-card .card-description b {
		font-weight: 600;
}

.case-study-card .card-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.case-study-card .tag {
    padding: 5px 20px !important;
    background: #f5f5f5 !important;
    color: #555 !important;
    font-family: 'Work Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    border-radius: 100px !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

.case-study-card:hover .tag {
    background: #e8e8e8 !important;
    color: #333 !important;
}

.case-study-card .card-lock {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 36px !important;
    height: 36px !important;
    background: rgba(0, 0, 0, 0.6) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

.case-study-card .card-lock svg {
    width: 18px !important;
    height: 18px !important;
    color: #fff !important;
    stroke: #fff !important;
}

.case-study-card .card-external {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 36px !important;
    height: 36px !important;
    background: rgba(0, 0, 0, 0.6) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

.case-study-card .card-external svg {
    width: 18px !important;
    height: 18px !important;
    color: #fff !important;
    stroke: #fff !important;
}



/* ========== Restyle page title design for portfolio pages ========== */

/**
article.post-2259 h1.entry-title a {
    font-size: 60px;
    text-transform: capitalize;
    line-height: normal;
    font-weight: 300;
}


article.post-2259 .box {
    position: relative;
    width: 100%;
}

*/
/* ========== Site-wide Font change ========== */
.logo-text a
{
font-family: "Work Sans";
    font-weight: 300;
    font-size: 28px;
		color: #444;
}

.nav .current-menu-item a,
.nav a,
.nav a:hover {
    font-family: "Work Sans";
		font-weight: 300;
    font-size: 20px;

}

/* ========== Update styling for key classes, including at top of portfolio ========== */

h1.top-content {
    font-family: "Work Sans";
    font-weight: 400;
}

/* ========== Cover over theme styling and apply to button groups with .top-content ========== */
.top-content .fl-button-group-buttons,
article.post .box-wrap .box div.post-content p, article.post .box-wrap .box .format-quote p,
article.post .box-wrap .box div.post-content .top-content
{
    margin: 0 auto 10px auto !important;
    max-width: 850px;
}

span.top-content,
p.top-content,
ol.top-content li,
ul.top-content li {
    font-family: "Work Sans";
    font-weight: 300 !important;
    font-size: 23px;
    line-height: 30px;
    padding-bottom: 10px !important;
}

span.emphasis {
    font-weight: 500;
}

span.emphasis,
p.top-content b {
    font-weight: 600;
}

p.top-content.lg {
    font-size: 34px;
    font-weight: 300 !important;
    font-style: normal;
		line-height: 130%;
}


.entry-title {
		font-family: "Work Sans";
    font-weight: 400;
    font-size: 35px;
}


/* ========== PORTFOLIO PAGE STYLES ========== */

.im-brian-snippet {
	border-left: 4px solid #d8d8d8;
	padding-left: 30px;
}


.im-brian-title {
	max-width: 450px !important;
}

.post-1977 .entry-title,
.post-156 .entry-title {
	display:none
}

.im-bcr-photo-col {
 	  min-width: 250px;
		max-width: 270px;
}

@media only screen and (max-width: 755px) {
		.im-brian-snippet {
		border-left: 0px;
		padding-left: 0px;
	}
		
}

/* ========== HEADER STYLES ========== */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    box-shadow:	rgba(0, 0, 0, 0.14) 0px 0px 4px;
    max-width: none;
    width: 100%;
}

body {
    padding-top: 88px;
}

.header-inner-wrapper {
    max-width: 1550px;
		max-width: 75%;
    margin: 0 auto;
}

.header hgroup {
    margin-top: 10px;
}

.menu-primary-container {
    padding-top: 6px;
    margin-right: 50px;
}

@media only screen and (max-width: 755px) {
    body {
        padding-top: 165px !important;
    }
    .header-nav {
				width: calc(100% + -40px);;
        margin-right: 10px !important;
    }
}

/* ========== PAGE & POST STYLES ========== */
.page.post .featured-image {
    display: none;
    max-width: 75%;
    margin: 0 auto;
}

@media (max-width: 500px) {
    .uabb-new-ib-desc .uabb-new-ib-content.uabb-text-editor.uabb-simplify p {
        font-size: 15px;
        line-height: 18px;
    }
    .uabb-ib-effect-style10 .uabb-new-ib-content {
        padding: 20px 15px;
    }
}

.regraph-video .fl-module-content.fl-node-content .mejs-container .mejs-controls {
    background: none;
}

.small-badge .fl-module-content .fl-rich-text p em {
    background: #999;
    padding: 5px 10px;
    border-radius: 30px;
    font-style: normal;
    font-family: 'NovecentowideLightBold', 'Helvetica Neue', Helvetica, sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: white;
}

/* blog posts are now timeless */
.date-title {
    display: none;
}

/* remove border on hover module */
.uabb-ib-effect-style14 .uabb-new-ib-desc::before {
    border: 0;
}

div.uabb-new-ib-content.uabb-text-editor.uabb-simplify p {
    font-weight: 600;
}

/* hover effect on portfolio images */
.hover-image-push img,
.hover-image-push .fl-html {
    transition: transform .1s, box-shadow .1s;
		border-radius: 10px;
		overflow: hidden;
}

.hover-image-push:hover img,
.hover-image-push:hover .fl-html {
    transform: scale(1.01);
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    transition: transform .1s, box-shadow .1s;
}

/* test fancy overlay */
.hover-image-push::before,
.hover-image-push::after {
    background-color: rgba(0, 0, 0, 0.5);
    border-top: 32px solid rgba(0, 0, 0, 0.5);
    border-bottom: 32px solid rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    transition: all 0.3s ease;
    z-index: 1;
    opacity: 0;
    transform: scaleY(2);
}

.hover-image-push:hover::before,
.hover-image-push:hover::after {
    transform: scale(1);
    opacity: 1;
}

/* improve Ultimate BB Module Flipbox and other modules w class no-click to show correct cursor */
.uabb-flip-box-wrap .vertical_flip_top .uabb-back,
.uabb-flip-box-wrap .vertical_flip_bottom .uabb-hover .uabb-front,
.no-click .uabb-module-content.uabb-ib2-outter.uabb-new-ib.uabb-ib-effect-style10 {
    cursor: default;
}