/*
    Theme Name: Maxwell Law PLLC
    Theme URI: https://www.hamiltrowebsitedesign.com
    Description: Custom theme for a law firm
    Version: 2025.1.0
    Author: hamiltro
    Author URI: https://www.hamiltrowebsitedesign.com
*/

/* Dev only for debugging
*************************************************************************/
@import url('css/debug.css'); /* can comment out for live *******************/
p.screensize {display: none;} /* set to "block" for testing breakpoints */
/* color changes at 344, 375, 500, 600, 768, 1024, 1440, 1920, 2560 *****/
div.container { border: 0px solid #666;} /* set to 1px for testing ******/
p.editLink {display: block;} /* set to none for testing */

li#menu-item-19 {display: none;} 	/* home */

/* PALETTE / VARIABLES
*****************************************/
:root {

	
/* palette */
	--color: #666;
	--color-strong: BLACK;
	--color-background: WHITE;
	--color-accent1: #000000; /* DARKEST */
	--color-accent2: #333333; /* MEDIUM DARK */
	--color-accent3: #666666; /* MEDIUM */
	--color-accent4: #999999; /* MEDIUM PALE - footerBG;  */
	--color-accent5: #DDDDDD; /* PALE - readMoreBG;  */
	--color-a: var(--color-accent2);
	--color-a-hover: var(--color-accent1);
	--color-banner-background: transparent;
	--color-editLink: BLACK;
	--color-hero-span-line1: var(--color-accent3);
	--color-hero-span-line2: var(--color-accent3);
	--color-row-border: #EEE;

/* siteTitle/mainNav */
	--color-mainNav-text-link: var(--color-accent2);
	--color-mainNav-text-link-hover: var(--color-accent1);
	--color-mob-menu-li-current-background-color:var(--color-accent5);
	--color-mob-menu-li-background-color:var(--color-accent4);
	--color-mob-menu-li-border: TRANSPARENT;
	--color-navbar-wrapper-background: WHITE;
	--color-navbar-wrapper-border:  TRANSPARENT;
	--color-outline: #DDD; /* tabbing */
	--color-sub-menu-li-background: var(--color-navbar-wrapper-background);
	--color-sub-menu-li-background-hover: rgba(243,243,243,0.98);
	--color-sub-menu-li-border: rgba(209,209,209,0.25);

/* headers by class */
	--color-headers-default: var(--color-accent1); /* or black */
	--color-siteSlogan: var(--color-accent2); 
	--color-siteTitle: var(--color-accent1); 
	--color-siteTitle-hover: var(--color-accent1); 
	--color-siteTitle-shadow-hover: TRANSPARENT;
	--color-overBanner: WHITE;
	--color-pageTitle: var(--color-accent1);
	--color-sectionTitle: var(--color-accent1);
	--color-rowHeader: var(--color-accent1);

/* buttons */
	--color-a-button: var(--color-accent1);
	--color-a-button-background: WHITE;
	--color-a-button-border: var(--color-accent1);
	--color-a-button-hover: WHITE;
	--color-a-button-background-hover: var(--color-accent2); 
	--color-a-button-border-hover: var(--color-accent1);

	--color-readMore-a: var(--color-accent2);
	--color-readMore-a-background: var(--color-accent5);
	--color-readMore-a-border: var(--color-accent2);
	--color-readMore-a-hover: var(--color-accent1);
	--color-readMore-a-hover-background: var(--color-accent5);
	--color-readMore-a-hover-border: var(--color-accent1);

/* forms */
	--color-form-input-border: TRANSPARENT;
	--color-form-button-background: TRANSPARENT;
	--color-form-button-text: TRANSPARENT;
	--color-form-button-bg-hover: TRANSPARENT;
	--color-wpcf7-sent: GREY;
	--color-wpcf7-sent-border: GREY;
	--color-wpcf7-sent-background: WHITE; 

/* footer */
	--color-footer: #eee;
	--color-footer-a: #DDD;
	--color-footer-a-hover:#FFF;
	--color-footer-background: var(--color-accent3);
	--color-footer-border: #888;
	--color-footer-credit: #aaa;
	--color-footer-credit-a:#bbb;
	--color-footer-credit-a-hover:#FFF;
	--color-icon-style-detail: var(--color-readMore-a);
	--color-icon-style-detail-hover: var(--color-readMore-a-hover);
	--color-icon-style-circleFill: var(--color-readMore-a-background);
	--color-icon-style-circleFill-hover: var(--color-footer-a-hover);	
	/*--color-icon-style-detail: #333; /* if using threads or X need to edit svgs accordingly */
	/*--color-icon-style-detail-hover: #000; /* if using threads or X need to edit svgs accordingly */
	/* edit the detail svgs for the detail colors */


/* fonts */
	--font-body: 'Open Sans', sans-serif; 
	--font-input: 'Open Sans', sans-serif; 
	--font-nav:   'Open Sans', sans-serif;
	--font-quote: 'Playfair Display', Baskerville, serif;
	--font-readMore:  'Open Sans', sans-serif;
	--font-siteTitle:  'Open Sans', sans-serif;
	--font-siteSubTitle: 'Open Sans', sans-serif;
	--font-pageTitle:  'Open Sans', sans-serif;
	--font-sectionTitle:  'Open Sans', sans-serif;

/* misc styles */
	--p-maxWidth: min(100%, 52rem); /* smallest of these values */
}

@media (min-width: 360px) {
html {font-size: 17px;} /* default is 16px */
}
body {line-height: calc(1.1em + 0.5rem);}

p,li { font-size: clamp(1rem, 1rem + .2vw, 1.4rem);}
h1 {font-size: clamp(2rem, 2rem + .8vw, 2.44rem); line-height: calc(1.1em + 0.5rem);}
h2 {font-size: clamp(1.5rem, 1.5rem + .6vw, 2rem);line-height: calc(1.1em + 0.5rem);}
h3 {font-size: clamp(1.17rem, 1.17rem + .4vw, 1.67rem);line-height: calc(1.1em + 0.5rem);}
h4 {font-size: clamp(1rem, 1rem + .3vw, 1.5rem); line-height: calc(1.1em + 0.4rem);font-weight: bold;}
h5 {font-size: clamp(.83rem, .75rem + .35vw, 1rem);line-height: calc(1.1em + 0.4rem);}
h6 {font-size: clamp(.67rem, .64rem + .22vw, .8rem); line-height: calc(1.1em + 0.4rem); margin-bottom: .5rem}

h1,h2,h3,h4,h5,p {
	margin: 0 auto calc(.1em + 1rem);
	padding: 0;
	font-weight: normal;
}

p	{	
	width: var(--p-maxWidth);
	font-weight: 300;
	text-align: left;
}



/* rems (or % or vh?) for divs and ems for font-sizes within divs) */

.readMore a.button {
    text-align: center;
    padding: 10px 30px;
    border-radius: 0px;
    font-weight: 200;
    font-size: 1em;
}

.bottomTextBg {
	background: linear-gradient(-40deg, #01fdee 18%,#69fcf3 28%,#a8fcf7 49%,#fff 100%);
}

#nav-single	{ /* for prev/next nav */
	margin: 3vh 0;
}


/* BREAKPOINTS
****************************************/
.mobileOnly { display:block; padding-bottom:15px;}
.desktopOnly { display:none; }
.flex, .flexContainer {display: flex; flex-direction: column;}
	
@media (min-width:601px) {
	.mobileOnly { display:none;}
	.desktopOnly { display:block; }
	div.left { width: 50%; padding-right: 2px;}
	div.right { width: 50%; padding-left: 2px;}
}

@media (min-width:769px) {
	.flex, .flexContainer {flex-direction: row;}
	.flex-col-11 {width: 91.7%;padding: 0 1%;}
	.flex-col-10 {width: 83.3%;padding: 0 1%;}
	.flex-col-9 {width: 75%;padding: 0 1%;}
	.flex-col-8 {width: 66.7%;padding: 0 1%;}	
	.flex-col-7 {width: 58.3%;padding: 0 1%;}
	.flex-col-6 {width: 50%;padding: 0 1%;}
	.flex-col-5 {width: 41.7%;padding: 0 1%;}
	.flex-col-4 {width: 33.3%;padding: 0 1%;}
	.flex-col-3 {width: 25%;padding: 0 1%;}
	.flex-col-2 {width: 16.7%;padding: 0 1%;}
	.flex-col-1 {width: 8.3%;padding: 0 1%;}
	
	.thumb.flex-col-3, .thumb.flex-col-4	{padding-left: 0;} /* for two-col archive pages */
	.excerpt.flex-col-8, .excerpt.flex-col-9	{padding-right: 0;} /* for two-col archive pages */

}

.sub-menu {width: 180px;}
@media (max-width: 992px) {.sub-menu {width: 100%;} }


/* SITE TITLE / MAIN NAVIGATION (default breakpoint from menu-icon @ 992px - change as needed)
================================================================================== */
.navbar-wrapper { 
	min-height: 120px;
	padding: calc(1vh + 1rem) 0 1vh 0;  
}

.navbar-wrapper .container	{
	width: 92%;
}

#navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

nav.navbar {
	width: 100%;
}

.siteTitle {
  flex: 1;
  white-space: nowrap; /* Ensures site title stays on one line */
}

.mainNavigation {
  flex-grow: 1;
  text-align: right;
}

.navbar-menu {
  white-space: nowrap; /* Prevents links from wrapping */
}

.menu-main-navigation-container ul.nav.navbar-nav>li.menu-item {
	text-align: center;
}

ul.navbar-nav.flexContainer	{
	flex-wrap:wrap;
	justify-content: flex-end;
	list-style: none;
	margin: .9em 0 0;
    max-width: none;
    padding-left: 0;
    position: relative;
}

@media (max-width: 992px) {
	ul.navbar-nav.flexContainer	{margin: 0; }
}

.menu-main-navigation-container ul.nav.navbar-nav>li.menu-item>a{
    font-size: 1em;
    letter-spacing: 0.09em;
    padding: 0 0 0 1vw;
    text-transform: uppercase;
}

@media (min-width: 1100px) {
	.menu-main-navigation-container ul.nav.navbar-nav>li.menu-item>a { padding: 0 0 0 2vw;}
}

.navbar-nav > li {
    height: 30px;
    position: relative;
}

.navbar-nav > li.menu-item-home {
	padding-left: 0;
}

.sub-menu {
	padding:10px;
	font-size: 1em;	
	text-transform: uppercase;
	width: 180px;
	z-index: 10000;
}

@media (max-width: 992px)	{/* change breakpoint as needed */
	.sub-menu	{width: 100%;}
}

.sub-menu > li {
    padding:10px;
	margin-top: 0px;
}

.sub-menu > li a	{
	font-size: .9em;
	text-transform: none;
}

.navbar-toggle {
    height: 40px;
    width: 40px;
}

.icon-bar,  /* span.icon-bar */
.navbar-toggle:focus .icon-bar, 
.navbar-toggle:hover .icon-bar	{
	height: 4px; /* fat */
	margin: 2px;
	width: 25px; /* ??? */
}

.icon-bar { 
    transition: background-color 0.2s ease-in-out,
                transform 0.2s ease-in-out,
                opacity 0.2s ease-in-out;
}

#navbar.opened .navbar-toggle .icon-bar:first-child,
#navbar.opened .navbar-toggle .icon-bar:last-child {
    width: 30px; /* ??? */
}
/* see global.css for rotate transition - needs js? */

/* .sub-menu .sub-menu, .sub-menu{ } */

@media screen and (min-width: 992px) { /* change breakpoint as needed */
    .navbar-toggle {
        display: none;
    }   
    #navbar .navbar-menu,
    #navbar.opened .navbar-menu {
        display: block!important;
        height: 100%;
        opacity: 1;
        position: static;
        visibility: visible;
    }

    #navbar .navbar-links,
    #navbar.opened .navbar-links {
        box-shadow: none;
        flex-direction: row;
        height: 100%;
        list-style-type: none;
       margin: 0;
        max-height: max-content;
        padding: 0;
        position: static;
        width: 100%;
    }

    #navbar .navbar-link:last-child {
        margin-right: 0;
    }
	.sub-menu {
		right: 0px;
		list-style: none;
		margin: 0;
		opacity: 0;
		padding: 0;
		position: absolute;
		top: 50px;
		transform: translateY(-2em);
		transition: all 0.5s ease-in-out 0s, visibility 0s linear 0.5s, z-index 0s linear 0.01s;
		visibility: hidden;
		width: 400px;
		-webkit-transform:translate3d(0,0,0); /* for Safari */
	}
	.menu-main-navigation-container ul.nav.navbar-nav>li.menu-item>ul>li {
		text-align: left;
	}
	.navbar-nav li:hover > ul{
		opacity: 1;
		transform: translateY(0%);
		transition-delay: 0s, 0s, 0.3s;
		visibility: visible; 
		z-index: 999;
		-webkit-transform:translate3d(0,0,0); /* for Safari */
	}
} 

@media screen and (max-width: 991px) {
	.mainNavigation{
		width: 100%;
	}
	.navbar-header.navbar-icon{
		/*margin: -76px 5% 0 0;*/
		position: absolute;
		right: 20px;
		top: 24px;
		z-index: 1000;
	}
	.navbar.flexContainer, .navbar-nav.flexContainer{
		display: block;
	}
	.navbar-nav > li{
		/*float: revert;*/
		height: auto;
		width: 100%;
	}
	#menu-main-navigation{
    	background-color: transparent;
		margin-bottom: 0px;
		margin-left: -4%;
		width: 100%;
	}
	.navbar-nav {border-top:  1px solid var(--color-mob-menu-li-border);}
	.navbar-nav > li.menu-item {
		display: block;
		border-bottom: 1px solid var(--color-mob-menu-li-border);
		border-left: 1px solid var(--color-mob-menu-li-border);
		border-right: 1px solid var(--color-mob-menu-li-border);
		padding: 20px 0;
		background-color: var(--color-mob-menu-li-background-color);
		text-align: center;
	}
	
	/* ul.navbar-nav.flexContainer	{
		margin-top: -27px;
	} */
	.navbar-collapse {
		position: absolute;
		width: 100%;
		z-index: 999999;
	}
	ul.navbar-nav, ul.navbar-nav li {
		list-style: none;
	}
	.navbar-nav > li .caret{
		border-left: 8px solid transparent;
		border-right: 8px solid transparent;
		border-top: 8px dashed;
		border-top: 8px solid\9;
		height: 0;
		margin-left: 2px;
		position: absolute;
		right: 15px;
		top: 20px;
		width: 0;
		vertical-align: middle;
	}
	.navbar-nav .sub-menu > li.menu-item {
		padding: 14px 0;
		text-align:center;
	}

	.navbar-nav .sub-menu li .sub-menu > li.menu-item a {
		padding-left: 40px;
	}
	.sub-menu.open{
		display: block;
	}
	.navbar-nav  li.current-menu-item{
		background: var(--color-mob-menu-li-current-background-color);
	}
	/* .navbar-nav > li.current-menu-item .sub-menu{
		display: block;
	} */
}

/*@media only screen and (min-width: 992px)	{
	li.current_page_item a	{color: var(--color);}
}*/
@media only screen and (min-width: 992px)	{
	li.current_page_item a:hover	{
		color: var(--color-mainNav-text-link);
		cursor: default;
	}
}

/* MAIN CONTENT LAYOUT, CONTAINERS & COLUMNS
NB: section > wrapper > sectionInner > container > #col-containers 
====================================================== */
.mainContent	{ /* adjust per navbar-wrapper height */
	min-height: calc(100% - 120px);
}

section.bannerImage {
    height: 50vh;
    background-image: url('');
    overflow-x: hidden;
}

/*
@media (orientation:landscape) and (min-device-width: 1367px)	{
	section {background-attachment: fixed;}
}
*/

.breadcrumbs {
    border: 1px solid transparent;
    height: 2em;
    padding: 4px 0 0;
    color: #777;
    font-size: 0.8em;
    width: min (100rem, 100%); /* to left-align with site-title if outside of wrapper */
}

.sectionInner { /* for sections top/bottom space as needed */
	padding: 5rem 0 3rem;
}

section.subpageBannerImage {
	display: flex;
	height: min(200px, 50vh);
}

/*
section.subpageBannerImage .sectionInner	{
	padding: 0;
}
*/

section.subpageBannerImage .wrapper {
	display: flex;
	align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.one-two-col, /* deprecated */
.one-col, .one-or-two-col,.two-col, .row	{
	margin: 0 auto;

}

.one-col {width: min(clamp(55rem, calc(55rem + 10vw), 81.25rem), 100%);}
.one-col { width: var(--p-maxWidth);}
.two-col {width: min(70rem, 100%);}
.one-two-col, one-or-two-col { width: min(65rem, 100%);} /* for excerpts w/wo thumbs */


/* to left-align text with thumbnails when rows with no thumbnail */
.one-two-col .flex-col-12,
.one-or-two-col .flex-col-12	{
	padding: 0 1%;
} 

.row	{ /* for rows that may be ≤ 100% wide; use containers inside or outside */
	width: 100%;
	margin: 0 auto 6vh;
	padding-bottom: 6vh;
	border-bottom: 1px solid var(--color-row-border);
}

.row:last-child:not(.page-blog .row:last-child )	{
	border-bottom: 1px solid transparent;
	padding-bottom: 1vh;
}

.pagination	{
	/*padding: 20px 0 0;
	border-top: 1px solid var(--color-row-border);*/
	margin-bottom: 3vh;
	width: 100%;
	margin-top: -80px;	
}

.wp-block-heading	{ /* for all headers used within main content field */
	margin-top: 1.8rem;
}

.pageIntro	{
	font-size: 1.1rem;
	padding-bottom: 5vh;
}

.sectionTitle,
.rowHeader {
	padding: 1em 0 0;
	text-align: center;	
}

.pageTitle{
	margin-bottom: 0;
	text-align: center;
}

.postTitle	{
	font-size: 1.8em;
	font-weight: normal;
	margin-top: -.3em;
	max-width: 100%;
}

a.button,
.wp-block-file .wp-block-file__button.wp-element-button     {
	padding: 10px 20px;
	border-radius: 4px;
}

a.button.bigButton     { 
    padding: 1em 2em;
} 

.readMore {
	margin-top: 30px;
	padding-right: 10px;
	text-align: right;
}

.wp-block-image figcaption 	{
	font-size: .8em;
	margin-top: .1em !important;
}

.mainContent ul,
.mainContent ol {
	margin: 1.8rem auto;
	max-width: 44rem;
	padding-left: 1.4rem;
	width: 90%;
}

.mainContent ul li,
.mainContent ol li {
	margin-bottom: .8em;
}

p.entry-date	{
	font-size: .9em;
	margin-top: -16px;	
}
    
/* ABOUT PAGE STYLES
****************************************/
.about-quote blockquote{
	font-weight: normal;
    text-align: center;
    width: 90%;
    max-width: 40rem;
    margin: 1vw auto 1.5vw;
    font-size: clamp(1.07rem, 1.09rem + 2.05vw, 2.05rem);
    color: #40c2d5;
    padding: 0.5vw 0 1vw;
    border: 1px solid #fff;
    font-family: var(--font-quote);
    line-height: calc(1em + .5rem);
}

.about-quote blockquote:before,
.about-quote blockquote:after{
    content: "";
    display: block;
    width: 30%;
    border: 0.25px solid #d3dce6;
    margin: 60px auto;
}

/* ABOUT CV
-------------*/
.page-about .wp-block-file object,
.wp-block-file .wp-block-file__button.wp-element-button{
	display: none;
}

.page-about .wp-block-file {
	font-size: 1em;
}

.page-about .featuredImageTop{
	display: flex;
    align-items: top; /* Position vertically */
    justify-content: center; /* Center horizontally */
}

/* ARCHIVE & CARD STYLES
************************************************************/
.thumb{
    margin-bottom: 20px;
    padding: 10px;
}

.thumb img {
    border: 1px solid #eee;
}

.thumbnailTitle {
    font-size: 14px;
    position: relative;
    width: 100%;
    /* height: auto; */
    text-align: center;
    height: 6.3em;
    overflow: hidden;
    text-overflow: ellipsis;
}

.thumbnailTitle h4 {
    padding-top: 20px;
    font-size: clamp(16px, 2vw, 18px);
    font-weight: bold;
    text-transform: capitalize;
}

.thumb {
    position: relative;
    overflow: hidden;
}

.thumb .workThumbnailImage {
    position: relative;
    z-index: 2;
}

.thumb::before {
    content: '';
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: contain;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.thumb:hover::before {
    opacity: 1;
    background-image: url('');
}

.thumb:hover .workThumbnailImage img {
    opacity: 0;
}

.videoBlockHome {
    overflow: hidden;
}
.wp-video,
.wp-video-shortcode{
    width: 750px !important;
}

@media (min-width:821px) {
	.video-url { width: 750px;}
}
.work .flexWrapper{
    justify-content: left !important;
}



/* PAGINATION - Currently not in use anywhere
------------------------------------------------------------------------------------*/

.page-prev { /* for get_next_post() ie « Previous */
    display:flex;
    order: 1;
    margin-right: 15px;
    margin-bottom: 8px;
    padding: 3px;
    border: 0px dotted #525665;
}

.page-next { /* for get_previous_post() ie Next » */
    display:flex;
    order: 2;
    margin-left: 15px;
    margin-bottom: 8px;
    padding: 3px;
    border: 0px dotted #525665;
}

/* for archive page pagination (eg 1 2 »): */

.page-numbers {
	padding: 6px 8px 2px;
	margin: 1px;
}

.page-numbers.current {
	border: 1px solid grey;	
}

/* FOOTER
------------------------------------------------------------------------------------*/

.footer .gridContainer {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 20px;
	align-items: start;
	margin-bottom: 10px;
} 

.footer .gridContainer .gridItem { 
	/* Remove the margin and width properties that were causing alignment issues */
}

.footer .gridContainer .gridItem1 { 
	text-align: left;
	justify-self: start; /* Ensures content aligns to the very left */
}

.footer .gridContainer .gridItem2 { 
	text-align: center;
	justify-self: center;
}

.footer .gridContainer .gridItem3 { 
	text-align: right;
	justify-self: end; /* Ensures content aligns to the very right */
}

p.copyright, p.credit {
	text-align: right; 
}

p.copyright {
	font-size: .8rem;
	margin: 0 auto 2px;
}

p.credit {
	font-size: .8rem;
	margin: 1em auto 20px;
}

section.footer {
	min-height: 120px;
	line-height: 1.2rem;
}

section.footer .wrapper {
	padding: 0 4%;
}

section.footer .sectionInner { 
	padding: 20px 0 10px; 
}

div.social-icons {
	margin-top: 30px;
}

/* Responsive Design */
@media (max-width: 600px) {
	.footer .gridContainer {
		grid-template-columns: 1fr;
		gap: 15px;
		text-align: center;
	}
	
	.footer .gridContainer .gridItem1,
	.footer .gridContainer .gridItem2,
	.footer .gridContainer .gridItem3 {
		justify-self: center;
		text-align: center;
	}
	
	p.copyright, p.credit {
		text-align: center; 
	}
	
	div.social-icons {
		margin-top: 20px;
	}
}


/* IMAGES (MEDIA in global)
------------------------------------------------------------------------------------*/

img.marginBottom {margin-bottom: 30px;}

.wp-block-image img	{margin-bottom: 0;}  /* ??? */

figure, .wp-block-image {
	max-width: 52rem;
	max-width: var(--p-maxWidth);
	margin: 0 auto 1em;
	padding: 0;
}

@media (min-width: 769px)	{
	figure.wp-block-video {
		max-width: min(100%,calc(600px + 50vw));
	}
}

.featuredImageTop	{
	margin-bottom: 20px;
}

.featuredImageThumbails img{
	height: 80px;
	margin: 5px;
}


::selection, /* selection is not well-supported */
::-moz-selection,/* Firefox */
::-webkit-selection { /* Safari and Chrome */ 
  color: white !important;
  background: grey !important;
}

/* dev */


