/*
    Theme Name: myTheme
    Theme URI: https://www.hamiltrowebsitedesign.com
    Description: BASE THEME
    Version: 1.
    Author: hamiltro
*/

/* Breakpoints: 600 - 768/769 - 992 - 1200 w side-pad 4% */

/* HTML / FONTS
------------------------------------------------------------------------------------*/
html, body	{
	width: 100%;
}
html {
  font-size: 30px;
}
@media (max-width: 2560px) {
  html { font-size: 24px;}
}

@media (max-width: 2048px) {
  html { font-size: 17px;}
}

@media (max-width: 900px) {
  html { font-size: 15px; }
}
@media (max-width: 400px) {
  html { font-size: 13px; }
}
/* From here on, use rems (or % or vh) for divs and ems for font-sizes within divs) */

html .clamp {font-size: 16px;}

@font-face {
    font-family: 'DIN Condensed';
    src: url('./fonts/DINCondensed-Bold.woff2') format('woff2'),
        url('./fonts/DINCondensed-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}


@font-face {
	font-family: 'FuturaPT';
	src: url('./fonts/FuturaPT-Light.eot');
	src: url('./fonts/FuturaPT-Light.eot?#iefix') format('embedded-opentype'),
		url('./fonts/FuturaPT-Light.woff') format('woff'),
		url('./fonts/FuturaPT-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
	font-display:swap;
}

/* PALETTE / VARIABLES
*****************************************/
:root {
	--color: #666;
	--color-reverse: #FFF;
	--color-a: #18345e;;
	--color-a-button: BLACK;
	--color-a-button-background: WHITE;
	--color-a-button-border: BLACK;
	--color-a-button-hover: WHITE;
	--color-a-button-background-hover: BLACK; 
	--color-a-button-border-hover: BLACK;
	--color-a-hover: #3271ce; /*BLUE*/
	--color-accent1: #3271ce; /*BLUE*/
	--color-accent2: #18345e; /*dark blue */
	--color-background: WHITE;
	--color-background-reverse: #353535;
	--color-banner-background:#353535;
	--color-border-subtle: TRANSPARENT;
	--color-currentPageLink: BLACK;
	--color-editLink: #000000;
	--color-footer: #CCC;
	--color-footer-a: #DDD;
	--color-footer-a-hover:#FFF;
	--color-footer-background: #000;
	--color-footer-border: #888;
	--color-footer-credit: #666;
	--color-footer-credit-a:#777;
	--color-footer-credit-a-hover:#FFF;
	--color-form-input-border: TRANSPARENT;
	--color-form-button-background: TRANSPARENT;
	--color-form-button-text: TRANSPARENT;
	--color-form-button-bg-hover: TRANSPARENT;
	--color-hero-span-line1: grey;
	--color-hero-span-line2: #3271ce; /*BLUE*/
	--color-mainNav-text-link: #FFFFFF;
	--color-mainNav-text-link-hover: #bb3e3e; /* dull red */
	--color-mob-menu-li-background-color:rgba(187,62,62,0.9);
	--color-mob-menu-li-border: TRANSPARENT;
	--color-navbar-wrapper-background: #353535;
	--color-outline: #DDD; /* tabbing */
	--color-overBanner: #FFFFFF;
	--color-pageRowHeader: BLACK;
	--color-pageTitle: BLACK; 
	--color-readMore-a: #666666; - in case it needs to be different from other buttons
	--color-readMore-a-background: #DBE9F3;
	--color-readMore-a-border: #DBE9F3;
	--color-readMore-a-hover: #616161!important;
	--color-readMore-a-hover-background: #CDDBE5;
	--color-readMore-a-hover-border: #CDDBE5;
	--color-row-border: #EEE;
	--color-siteSlogan: WHITE; 
	--color-siteTitle: WHITE; 
	--color-siteTitle-hover: #bb3e3e; /*BLUE*/
	--color-siteTitle-shadow-hover: TRANSPARENT;
	--color-icon-style: rgba(187,62,62,0.98);
	--color-icon-style-hover: rgba(187,62,62,0.98); 
	--color-sub-menu-li-background: rgba(187,62,62,0.98);
	--color-sub-menu-li-background-hover: rgba(187,62,62,1);
	--color-sub-menu-li-border: rgba(209, 209,209,0.25);
	--color-wpcf7-sent: GREY; /* GREY */

	--font-body: 'Open Sans', sans-serif; 
	--font-nav:   'Open Sans', sans-serif;
	--font-quote: Baskerville, serif;
	--font-readMore:  'Open Sans', sans-serif;
	--font-siteTitle:  'Open Sans', sans-serif;
	--font-siteSubTitle: 'Open Sans', sans-serif;
}



/* SCREENSIZE TESTER (for: template-parts/screensize.php; change breakpoints as needed)
*****************************************/
p.screensize {display: none;} /* BLOCK FOR TESTING; NONE FOR LIVE */
p.screensize	{font-size: .5em; padding: 4px 10px;margin:0;max-width: 100%;text-align: right; background-color: #fff;}
@media (max-width: 768px) {p.screensize	{color: red;}}
@media (max-width: 992px) {p.screensize	{color: orange;}}
@media (min-width: 993px) {p.screensize	{color: green;}}


/* BREAKPOINTS: 600 - 768/769 - 991/992 - 1200 w side-pad 4%
****************************************/

@media (min-width:769px) {
	.flexContainer {flex-direction: row;}
	.mobileOnly {display:none;}
	.desktopOnly {display:block;}
	.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;}
	.excerpt.flex-col-8,
	.excerpt.flex-col-9	{padding-right: 0;}
}

/* LAYOUT (site specific)
***********************************************/
section.subpageBannerImage .sectionInner	{
	padding: 0;
}

section.footer {min-height: 120px;}
section.footer .sectionInner { padding: 3rem 4% 1rem 4%; }

.mainContent	{min-height: calc(100% - 60px);}

.row.nothingHere	{ /*404*/
	width: 700px;
	max-width: 100%;
	margin: 10% auto 0;
	text-align: center;
}

.one-col, .two-col,.row	{
	margin: 0 auto;
	width: 65rem;
	max-width: 100%;
}
.two-col, .row {width: 70rem;}

.row	{
	margin: 0 auto 6vh;
	padding-bottom: 6vh;
	border-bottom: 1px solid var(--color-row-border);
}

.row:last-child	{
	border-bottom: 1px solid transparent;
	padding-bottom: 1vh;
}

.awards figure, .awards figure.wp-block-image	{
	width: 25%;
	float: left;
	text-align: center;
	margin-bottom: 50px;
	min-height: 170px; 
}

@media (max-width: 1100px)	{
	.awards figure, .awards figure.wp-block-image	{width: 33%;}
}

@media (max-width: 768px)	{
	.awards figure, .awards figure.wp-block-image	{width: 50%;}
}

@media (max-width: 499px)	{
	.awards figure, .awards figure.wp-block-image	{min-height: 170px; margin-bottom: 20px;}
}

/* NAVBAR / Wrapper
------------------------------------------------------ */
.navbar-wrapper { 
	min-height: 60px;
	height: 140px;
	padding: calc(1vh + 1.8rem) 0 1.1vh 0;
	position: relative;  
}

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

#navbar{}
.navbar{}
.navbar.flexContainer {}


/* NAVBAR / Site Title 
------------------------------------------------------ */
.siteTitle.flexItem {
	width: 85%;
}

@media only screen and (min-width:992px)	{
	.siteTitle.flexItem { width: 45%; }
	.mainNavigation.flexItem { width: 55%;}
}

.siteTitle .mainSiteTitle	{
	font-size: 2.2em;
	font-weight: bold;
    line-height: 1.5rem;
}
  
.siteTitle .siteSlogan, .siteTitle span {
	color: var(--color-siteSlogan);
}



/* NAVBAR / Main Navigation
------------------------------------------------------ */

.mainNavigation {}
.mainNavigation.flexItem {

}

.navbar-icon {}
.navbar-toggle {}
span.icon-bar {}


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

.sub-menu {
	font-size: 1em;	
	text-transform: uppercase;
	width: 180px;
	top: 38px;
}

ul.sub-menu>li.menu-item>a:hover{
	color: #000;
}

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


/* HTML / headers in general
------------------------------------------------------ */
h1,h2,h3,h4,h5,h6,p,figure,figure.wp-block-image {
	line-height: 1.4em;
	max-width: 52rem;
}

.noImage p,
p.readMore	{
	max-width: 100%;
}

p.readMore	{
	padding-right: 10px;
	text-align: right;
}

div.sectionTitle	{
	padding: 0;
}

.pageTitle,
.sectionHeader,
.sectionTitle h2,
.rowHeader {
	font-size: 2.2em;
	font-weight: normal;
	padding: 1.8em 0;	
	font-family: var(--font-siteTitle);
	text-transform: none;
	margin-bottom: 0;
}

.sectionInner .sectionHeader	{
	padding-top: 0;
}

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


.pageTitle,
.sectionHeader {text-align: center; }

a.button     {
	padding: 8px 20px;
	border-radius: 2px;
  }
  
.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: 1.5rem;
}

p.entry-date	{
	font-size: .9em;
	margin-top: -16px;	
}

h3.catName,
h3	{
	font-weight: normal;
	font-size:1.6em;
	margin: 3vw auto 1vw;
	color: BLACK;
}

.readMore p {
    text-align: right;
    width: 100%;
    max-width: 100%;
    padding-right: 4vw;
    padding-top: 30px;
}

/* full cover background images
------------------------------------------------------------------------------------*/
	
section.bannerImage {
	width: 100%;
    background-image: url('');
    background-repeat: no-repeat;
    background-position: top center;
    -o-background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    overflow-x: hidden;
}

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

section.footer	{
	line-height: 1.2rem;
	padding: 30px 15px 0px;
	text-align: center;
}

@media (max-width: 600px){
	.footer .flexContainer {flex-direction: column;}
	.footer .flexContainer .flexItem1 {order: 1; text-align: center;  width: 98%; }
	.footer .flexContainer .flexItem2 {order: 3; text-align: center; width: 98%; }
	.footer .flexContainer .flexItem3 {order: 2; text-align: center; width: 98%; }
}

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


#news_cat, .gmsearch input {
    padding: 5px;
    margin-top: 10px;
}
.gmsearch
{
	float:right;
}
@media (min-width: 769px){
	.flex-col-4.project-item{
		width: calc(33.3% - 20px);
		padding: 0 0%;
		box-sizing: border-box	;
	}
}
.flexwrapper{
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	/* text-align: center; */
}
.flexContainer .project-item{
	height: calc( 31vw - 100px);
	overflow: hidden;
    position: relative;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    margin: 0 0 24px 0;
    padding-right: 24px;
}
.flexwrapper .project-item .image {
    width: 100%;
    height: 100%;
    display: block;
    background-size: cover;
    background-position: center center;
    opacity: 1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.flexwrapper .project-item a {
    display: block;
    height: 100%;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}	
.flexwrapper .project-item .text {
    position: absolute;
    bottom: 0;
    left: 0;
    color: #fff;
    padding: 24px;
    width: 75%;
    opacity: 0.9;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
}
.flexwrapper .project-item .text h2 {
    font-size: 2em;
    line-height: 120%;
    text-transform: none;
    margin-bottom: 0;
    max-width: 300px;
    opacity: 1;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    -webkit-font-smoothing: antialiased;
	margin: 0.67em 0;
	text-shadow: 0.5px 0.5px 0.5px rgba(0,0,0,0.8);
}

@media (orientation: portrait) {
	.flexwrapper .project-item .text {padding: 16px;}
	.flexwrapper .project-item .text h2 {font-size: 1.1em;}
	.text.white>* { margin-bottom: 0; }
	.line.medium.white {margin: 10px 0;}
}

.line {
    position: relative;
    display: block;
    margin: 24px 0;
    width: 30px;
    height: 3px;
}
.line.white {
    border-top: 3px solid #ffffff;
}
.line.medium {
    width: 125px;
    height: 3px;
}
.flexwrapper .pro_item .text p {
    line-height: 110%;
    margin: 0;
    padding: 0;
}
body.single-projects .project-content{
	background: #fff;
	padding-top: 30px;
}
.backstretch-item{
	background-attachment: fixed;
    background-size: cover;
}
body.single-projects .project-mobile-cover.cf{
	position: absolute;
    width: 100%;
    height: 100%;
	background-size: cover;
}
body.single-projects .project-mobile-cover .hero-title h1 {
    font-size: 3em;
    margin: 0;
    line-height: 1em;
    max-width: 450px;
    color: #fff;
    text-shadow: 0.5px 0.5px 0.5px rgb(0 0 0 / 80%);
}
body.single-projects .project-mobile-cover .hero-title{
	position: absolute;
    bottom: 60px;
    left: 25px;
}
.pagination{
	text-align: center;
}
@media only screen and (min-width: 768px){
	body.single-projects .project-mobile-cover.cf{
		display: none;
	}
}
@media only screen and (max-width: 1024px){
	.flexwrapper .pro_item .text h1{
		font-size: 100%;
		max-width: 250px;
	}
	.flexwrapper .project-item{
		padding-right: 0;
		width: 50%;
		height: calc( 46vw - 100px);
	}
	.flex-col-4.project-item{
		width: calc(50% - 20px);
		padding: 0 0%;
		box-sizing: border-box	;
		padding-right: 24px;
	}
}
@media only screen and (max-width: 768px){
	.flexwrapper .project-item .text h1{
		font-size: 100%;
		max-width: 250px;
	}
	.flexwrapper .project-item{
		padding-right: 0;
		width: 100%;
		height: calc( 75vw - 100px);
	}
	.flex-col-4.project-item{
		width: calc(100% - 20px);
		padding: 0 0%;
	}
}
@media only screen and (max-width: 768px){
	body.single-projects .backstretch{
		display: none;
	}
	body.single-projects .project-cover.cf{
		display: none;
	}
}

h2.openQuote {
	font-size: 10rem;
	padding: 0 0 0;
	font-family: 'DM Serif Display', serif;
	color: #ed9e19;
}

div.testimonial	{
	margin-top: -4rem;
	padding-bottom: 5rem;
}
p.testimonial	{
	font-size: 2rem;
	max-width: 47rem;
	font-style: italic;
	font-family: serif;
	text-align: center;
}

p.testimonialAuthor {
	max-width: 47rem;
	text-align: right;
}

p.testimonialAuthor::before {
	content: '—';
}
.navbar-header.navbar-icon {
	top: 28px;
}

@media (max-width: 500px)	{
.navbar-header.navbar-icon {
	top: 24px;
}
}

@media (max-width: 1150px)	{
.siteTitle h2	{
	max-width: 16rem;
	margin-left: 0;
}
}