/* RESET - Josh Comeau reset+
------------------------------------------------------------------------------------*/
*, *::before, *::after { box-sizing: border-box;  }
* {margin: 0;}
html {height: 100%;}
body {line-height: calc(1em + 0.5rem); -webkit-font-smoothing: antialiased;width: 100%;height: 100%;}
img, picture, video, canvas, svg {display: block;max-width: 100%;height: auto;}
input, button, textarea, select {font: inherit;}
p, h1, h2, h3, h4, h5, h6 {overflow-wrap: break-word;}
a, a:hover  { text-decoration:none;} 
seamless-flyout, #loom-companion-mv3 {display: none;} /* for clean screenshots - rhm */

/* optional */
:root {overscroll-behavior:none;} /* prevents overscroll when position:sticky is used for anything.

/* FOCUS - for accessibility
************************/

:is(a, button, input, textarea, summary) {
  --outline-size: max(1px, 0.05em);
  --outline-style: solid;
  --color-outline: #DDD;
}

:is(a, button, input, textarea, summary):focus {
  outline: var(--outline-size) var(--outline-style) var(--color-outline);
  outline-offset: var(--outline-offset, var(--outline-size));
}

:is(a, button, input, textarea, summary):focus-visible {
  outline: var(--outline-size) var(--outline-style) var(--color-outline);
  outline-offset: var(--outline-offset, var(--outline-size));
}

:is(a, button, input, textarea, summary):focus:not(:focus-visible) {
  outline: none;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* LAYOUT GENERAL
================================================================================== */
div.svg-include	{ /* needed for social icon use */
	height: 0px;
}

.container { /* text-max should be 30-48rem */
	width: min(100rem, 100%); /* approx 1120px wide in wide screens */
	margin: 0 auto;
}

.flex, .flexContainer, .flexCol {
	display: flex; 
	flex-direction: column; /* set breakpoint for rows in style.css */
}

.flexContainerThumbnails, .flexRow{
    display: flex;
    flex-direction: row;
}

.flexCenter{
	display: flex;
	justify-content: center;
	align-items: center;
}

.flexWrapper {
    flex-wrap: wrap;
    flex-direction: row;
}

.flex-col-12,.flex-col-11,.flex-col-10,.flex-col-9,.flex-col-8,.flex-col-7,.flex-col-6,.flex-col-5,.flex-col-4,.flex-col-3,.flex-col-2,.flex-col-1 {width: 100%;}

.grid {
	display: grid;
}

.center{
	text-align: center;
	justify-items: center;
	align-items: center;
	justify-content: center;
}

div.right,
div.left {
	width: 100%; /* for mobile */
}
div.right {
	text-align: right;
}

/* SITE TITLE / MAIN NAVIGATION 
================================================================================== */
.navbar-wrapper { 
	background-color: var(--color-navbar-wrapper-background);
	border-bottom: 1px solid var(--color-navbar-wrapper-border);  
}

.navbar-nav li a {
	color: var(--color-mainNav-text-link);
}

.navbar-nav li a:hover {
	color: var(--color-mainNav-text-link-hover);
}

.sub-menu > li {
	background: var(--color-sub-menu-li-background);
	border: 1px solid var(--color-sub-menu-li-border);
    position: relative;
}

.sub-menu > li:hover	{
	background: var(--color-sub-menu-li-background-hover);
}

.sub-menu > li a	{
	color: var(--color-sub-menu-li-link);
	font-family: var(--font-nav);
}
.sub-menu > li a:hover	{
	color: var(--color-sub-menu-li-link-hover);
}

.navbar-toggle {
    align-items: center;
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.icon-bar { /* span.icon-bar */
    background-color: var(--color-siteTitle);
    display: block;    
}

.navbar-toggle:focus .icon-bar,
.navbar-toggle:hover .icon-bar {
    background-color: var(--color-siteTitle-hover);
}

#navbar.opened .navbar-toggle .icon-bar:first-child,
#navbar.opened .navbar-toggle .icon-bar:last-child {
    margin: 0;
    position: absolute;
}

#navbar.opened .navbar-toggle .icon-bar:first-child {
    transform: rotate(45deg);
}

#navbar.opened .navbar-toggle .icon-bar:nth-child(2) {
    opacity: 0;
}

#navbar.opened .navbar-toggle .icon-bar:last-child {
    transform: rotate(-45deg);
}

.collapse {
    display: none;
}
.collapse.in {
    display: block;
}


/* MAIN CONTENT LAYOUT, CONTAINERS & COLUMNS
====================================================== */

.mainContent	{ 
	background-color: var(--color-background); 
}

section, .cover { /* for full-width background treatments and by-section name classes */
    background-position: center center;
    background-repeat: no-repeat;
	-o-background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	background-attachment: scroll; /* for ios devices */
	width: 100%;
}

.breadcrumbs {
    margin: 0 auto;
    text-align: left;
}

.breadcrumbs p.editLink {display: inline-block;width: 100%;text-align: right;}

.wrapper {  /* for the guaranteed side-margins almost always needed */
	padding: 0 4%;
}
	
.sectionInner { /* for sections top/bottom space if needed */
	width: 100%;
}

section.subpageBannerImage {
	background-color: var(--color-banner-background);
}

section.subpageBannerImage {
	background-image: url(''); /* for some reason this doesn't work from style.css? */
}

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

div.right,
div.left	{
	width: 50%;
}

div.right	{
	text-align: right;
}

div.left	{
	text-align: left;
}

hr.wp-block-separator	{
	margin: calc(20px + 2vw) auto;
	border: none;
	height: 1px;
	background: var(--color-row-border);
}

/* DETAILS
************************************************************************
************************************************************************/

body { 	
	color: var(--color);
    background: var(--color-background);
    font-family: var(--font-body);  
    font-weight: normal;
    gap: var(--space);
}

a { color: var(--color-a); }
a:hover	{ color: var(--color-a-hover); }
.wpcf7 form.sent .wpcf7-response-output {border: 2px solid var(--color-wpcf7-sent)!important;}
div.wpcf7-mail-sent-ok,
.wpcf7 form.sent .wpcf7-response-output {border-color: var(--color-wpcf7-sent)!important;}

h1,h2,h3,h4,h5,h6	{
	color: var(--color-headers-default);
}

span.line1, span.heroLine1 {color: var(--color-hero-span-line1);}
span.line2, span.heroLine2 {color: var(--color-hero-span-line2);}

.siteTitle a:link,
.siteTitle a:visited {
	color: var(--color-siteTitle);
}

.siteTitle  a:hover,
.siteTitle  a:active {
	color: var(--color-siteTitle-hover); 
	text-shadow: .2px .2px .2px var(--color-siteTitle-shadow-hover);
}

.siteTitle .mainSiteTitle	{
	font-family: var(--font-siteTitle);
}

.siteTitle .siteSlogan{
	color: var(--color-siteSlogan);
	font-family: var(--font-siteSubTitle);
}

.pageTitle{
	color:var(--color-pageTitle);
	font-family: var(--font-pageTitle);
}

.sectionTitle {
	color:var(--color-sectionTitle);
	font-family: var(--font-sectionTitle);
}

.rowHeader {
	color: var(--color-rowHeader);
}

.pageTitle a { color: var(--color-pageTitle); }

.pageTitle.overBanner,
.pageTitle.overBanner a	{
	color: var(--color-overBanner);
}

.mainContent strong	{
	color: var(--color-strong);
}

a.button,
.wp-block-file .wp-block-file__button.wp-element-button     {
	text-align: center;
	color: var(--color-a-button);
	border: 1px solid var(--color-a-button-border);
	background-color: var(--color-a-button-background);
	transition: background-color 0.2s ease-in-out,
                transform 0.2s ease-in-out,
                opacity 0.2s ease-in-out;
  }
  
a.button:hover     {
	color: var(--color-a-button-hover);
	background-color: var(--color-a-button-background-hover);
	border: 1px solid var(--color-a-button-border-hover);
}

.readMore {
	font-family: var(--font-readMore);
}

.readMore a.button     {
	color: var(--color-readMore-a);
	background-color: var(--color-readMore-a-background);
	border:  1px solid var(--color-readMore-a-border);
  }
  
.readMore  a.button:hover     {
	background-color: var(--color-readMore-a-hover-background);
	color: var(--color-readMore-a-hover);
}

p.editLink	{
	position: relative;
	z-index: 99;
}
p.editLink .svg-icon	{
	display: inline-block;
}

p.editLink a	{	
	font-size: 14px;
	padding: 2px 4px 0px 5px;
	margin-right: 3px;
	border-radius: 2px;
	color: var(--color-editLink);
}
p.editLink a:hover	{
	background: #66ff66;
}

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

section.footer	{
	background-color: var(--color-footer-background);
	border-top: 1px solid var(--color-footer-border);
	color: var(--color-footer);
}

section.footer a	{
	color: var(--color-footer-a);
}

section.footer a:hover	{
	color: var(--color-footer-a-hover);
}

p.copyright a,
p.copyright a:hover	{
	cursor:text;
	color: var(--color-footer);
}
	
p.credit	{
	color: var(--color-footer-credit);
}

p.credit a	{color: var(--color-footer-credit-a);}
p.credit a	{color: var(--color-footer-credit-a);}	
p.credit a:hover	{color: var(--color-footer-credit-a-hover);}		


/* MEDIA
------------------------------------------------------------------------------------*/
@media (max-width:768px) {
	.videowrapper {
		float: none;
		clear: both;
		width: 100%;
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 25px;
		height: 0;
	}
	.videowrapper iframe {
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}	
}

.iframe-container {
  overflow: hidden;
  padding-top: 56.25%;
  position: relative;
}

.iframe-container iframe {
   border: 0;
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
}

.mp4_parent{
	 padding-top: 0!important;
}

/* to keep youTube video from growing a taller black BG in mobile portrait views: */
/* the available width (92% of screen) divided by 9/16; -> 52vw */
@media (max-width: 414px)	{
	iframe	{ height: 52vw;}
}

@media (max-width: 600px)	{
	iframe	{ height: 50vw;}
}




/* CONTACT FORM
------------------------------------------------------------------------------------*/
div.wpcf7 {
	max-width: 400px;
	margin: 0 auto 0;
	/*border: 1px solid #eee;*/
	padding: 0 20px 20px;
}

@media (max-width: 440px) {
	div.wpcf7 {max-width: 96%;}
}

.wpcf7 input	{
	width: 100%;
	height: 2rem;
	margin-bottom: .5rem;
	font-family: var(--font-input);
}

@media (max-width: 414px)	{
	.wpcf7 input	{height: 2.6rem;}
}

.wpcf7 textarea	{
	width: 100%;
	margin-bottom: 1rem;
	font-family: var(--font-input);
}

.wpcf7 input.wpcf7-submit	{
	width: 100px;
	height: 40px;
}

.wpcf7 input[type=checkbox] {
	width:20px;
	height: 20px;
}

.wpcf7-list-item {
	margin-left: 0px !important; /* when only one per line */
}

.wpcf7 h3	{
	margin-bottom: 30px;
	text-align: center;
}

div.wpcf7-mail-sent-ok {
	border: 2px solid var(--color-wpcf7-sent-border);
}


div.wpcf7-mail-sent-ok,
.wpcf7 form.sent .wpcf7-response-output {
	border: 2px solid var(--color-wpcf7-sent-border)!important;
}

div.wpcf7-mail-sent-ok,
.wpcf7 form.sent .wpcf7-response-output { 
	border-color: var(--color-wpcf7-sent-border)!important;
	background-color: var(--color-wpcf7-sent-background)!important;
	color: var(--color-wpcf7-sent)!important;
	font-size: 1em;
	padding: 0.5em 1em !important;
}

span.wpcf7-spinner {
	display: none !important;
}

.wpcf7 textarea	{
	height: 7rem;
}

/*SOCIAL MEDIA LINKS
**********************************************/

.social-icons {
  width: auto;
  max-height: 62px;
  display: flex;
  justify-content: center;  	
}

.social-icon {
  height: 30px;
  margin: 0 12px;
  width: 30px;
}

.iconBG {
  fill: var(--color-icon-style-circleFill);
}

.iconBG:hover {
  fill: var(--color-icon-style-circleFill-hover);
}

.iconDetail {
  background: url("../images/social-icons/roundInnerDetail.svg"); /* red */
  background-size: cover;
  width: 30px;
  height: 30px;
}

.iconDetail:hover {
  background: url("../images/social-icons/roundInnerDetailHover.svg"); /* blue */
}



/* Swap colors for threads and x icons which are in reverse */

.iconDetail.reverse {
background: var(--color-icon-style-circleFill); 
border-radius: 100%;
}

.iconDetail.reverse:hover {
background: var(--color-icon-style-circleFill-hover); 
}

.iconBG.reverse {
  fill: var(--color-icon-style-detail);

}
.iconBG.reverse:hover {
  fill: var(--color-icon-style-detail-hover);
}


/*====
	--color-icon-style-detail: red;
	--color-icon-style-detail-hover: blue;
	--color-icon-style-circleFill: green;
	--color-icon-style-circleFill-hover: orange;

*/





/* misc
------------------------------------------------------------------------------------*/
.page-template-page-instructions .mainContent a {
	text-decoration: underline;
}

