/* Style for WDGT
Author: Tim Souther

TOC
	Reset
	Elements
		basic
	Header
	Sidekick
	Blocks	
		Big Text Block
		Parallax Banner Block
		Services Block
		Trusted By Block
		Featured Posts Block
		Testimonials Block
		Newsletter Block
		Contact Block
	Pages
		Blog
		Contact
	Footer
		
 */

/* ---- Reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1.1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* ---- Fonts ---- */

@font-face {
	font-family: 'room_205regular';
	src: url('/fonts/room-205-webfont.woff2') format('woff2'),
		 url('/fonts/room-205-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;

}

@font-face {
	font-family: 'apercu_medium_pro';
	src: url('/fonts/apercu_medium_pro.otf') format('woff2');
	font-weight: normal;
	font-style: normal;
}

/* ---- variables ---- */

:root {
	--white: white;
	--black: #220b3b;
	--lightgrey: #F4F1ED;
	--lightergrey: #F8F7F4;
	--burnt-old: #d3976e;
	--burnt-aaa: #AC6435;
	--burnt: #CA8353;
	
	--blue: #2cadfa;
	--purple: #872bed;
	--pink: #f2205b;
	--orange: #f1581c;
	--yellow: #fab129;
	
	/* 10%
	--blue-dark: #1394E1;
	--purple-dark: #6E12D4;
	--pink-dark: #D90742;
	--orange-dark: #D83F03;
	--yellow-dark: #E19810; */
	
	/* 20% */
	--blue-dark: #007AC7;
	--purple-dark: #5400BA;
	--pink-dark: #BF0028;
	--orange-dark: #BE2500;
	--yellow-dark: #C77E00;
	
	--midnight: #220B3B;
	
	--header-font: 'room_205regular',Calisto MT,Bookman Old Style,Bookman,Goudy Old Style,Garamond,Georgia,serif;
	--body-font: 'apercu_medium_pro',Helvetica Neue,Helvetica,Arial,sans-serif;
}

/* ---- Elements ---- */

/* ---- ---- basic ---- */

body {
	/* font-size: 1em; */
	line-height: 1.5;
	font-family: 'apercu_medium_pro',Helvetica Neue,Helvetica,Arial,sans-serif;
	-webkit-font-smoothing: antialiased;
}
/* @media only screen and (min-width: 106rem) { */
@media only screen and (min-width: 120.1rem) {
	body {
		font-size: 1.2em;
	}
}

body:not(.home) main{
	background: rgb(255,255,255);
	background: linear-gradient(0deg, rgba(244,241,237,1) 0%, rgba(255,255,255,1) 254px);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: blue;
	text-decoration: none;
	font-weight: bold;
}

a:hover {
	color: darkblue;
}

a:focus {
	color: darkblue;
}

a:active {
	color: black;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

/* buttons */
.btn, input[type=submit], .blog__category a, span.blog__category {
	background-color: #fab129;
	color: white;
	border: 0px none;
	border-radius: 1.5625rem;
	font-weight: bold;
	
	/* font-size: 1em; */
	text-align: center;
	line-height: 1.2;
	
	padding: .907rem 1rem;
	
	min-width: 11.25rem;
	
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	
	transition: background-color .1s;
	
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.blog__category a.color-purple { background: #872bed; }
.blog__category a.color-purple:hover { background: #5400BA; }
.blog__category a.color-pink { background: #f2205b; }
.blog__category a.color-pink:hover { background: #BF0028; }
.blog__category a.color-blue { background: #2cadfa; }
.blog__category a.color-blue:hover { background: #007AC7; }
.blog__category a.color-orange { background: #f1581c; }
.blog__category a.color-orange:hover { background: #BE2500; }

.blog__category a, span.blog__category {
	padding: .5rem 1rem;
	max-width: 0;
	font-size: .75rem;
}

h2 span.blog__category {
	font-family: 'apercu_medium_pro',Helvetica Neue,Helvetica,Arial,sans-serif;
	font-size: 1rem;
}
@media only screen and (min-width: 61rem) {
	h2 span.blog__category {
		font-size: 2rem;
		border-radius: 3.125rem;
		padding-left: 3rem;
		padding-right: 3rem;
	}
}

.btn:hover, input[type=submit]:hover, .blog__category a:hover {
	background-color: #872bed;
	color: white;
}

.btn:focus, input[type=submit]:focus, .blog__category a:focus {
	background: #872bed;
}

.btn:active, input[type=submit]:active, .blog__category a:active {
	background: #220B3B;
}

/* navigation */
nav ul	{
	display: flex;
}

nav li	{
	padding: .5rem;
}

nav a {
	color: #220b3b;
}

nav a:hover {
	color: #fab129;
}

nav a.active {
	color: #fab129;
}

nav a:hover path, nav a:hover rect {
	fill: #fab129;
}

/* headings */
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: 'room_205regular',Calisto MT,Bookman Old Style,Bookman,Goudy Old Style,Garamond,Georgia,serif;
	font-weight: 500;
	line-height: 1.1;
	display: block;
}
.h1 a, .h2 a, .h3 a, .h4 a, .h5 a, .h6 a {
	display: block;
}

.h1 {
	font-size: 	3.5em;
	/* font-weight: 800; */
}

@media only screen and (min-width: 61rem) {
	.h1 {
		font-size: 	5em;
		/* font-weight: 800; */
	}
}

.h2 {
	font-size: 	2.5em;
	/* font-weight: 800; */
}

@media only screen and (min-width: 61rem) {
	.h2 {
		font-size: 	5em;
		/* font-weight: 800; */
	}
}

.h3 {
	font-size: 1.5em;
	/* font-weight: 700; */
}

@media only screen and (min-width: 61rem) {
	.h3 {
		font-size: 	3.5em;
		/* font-weight: 800; */
	}
}

.h4 {
	font-size: 1.5em;
	/* font-weight: 600; */
}

.h5 {
	/* font-size: 1em; */
}

main {
	min-height: 70vh;
}

/* lazy images */
img.lazy {
	opacity: .01;
}
img {
	opacity: 1;
	transition: opacity 1s ease-in;
}

/* forms */
form input:not([type="submit"]), form select:not([type="submit"]), form textarea:not([type="submit"]) {
	/* border: 1px solid #872bed; */
	border: 0px none;
	border-radius: 1.5625rem;
	font-weight: bold;
	/* font-size: 1em; */
	line-height: 1.2;
	padding: .5rem 1rem;
	cursor: pointer;
	text-decoration: none;
	box-sizing: border-box;
	
	background: #F8F7F4;
	opacity: .8;
}

form input:focus  {
	opacity: 1;
	border: 1px solid #f2205b;
	outline: none;
}

form input[type=submit]  {
	
}

form label {
	/* font-size: 1em; */
	color: #220b3b;
	display: block;
	
	margin-bottom: 1rem;
}

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

.widont {
	white-space: nowrap;
}

@media screen and (max-width: 576px) {
	.widont {
		white-space: normal;
	}
}

/* ---- Header ---- */
.header__container {
	display: flex;
	flex-direction: column;
	align-items: center;
	
	color: #220b3b;
	
	
	
	position: relative;
	
	overflow-x: hidden;
}

.home .header__container {
	/* min-height: 60vh; */
	color: #fff;
	
	animation: animateBg 50s ease-in-out infinite;
	background: rgb(220,51,147);
	background: radial-gradient(circle, rgba(220,51,147,1) 0%, rgba(191,52,163,1) 56%, rgba(120,56,202,1) 100%);
	background-size: 400% 400% ;
}

.home .header__container nav a {
	color: #fff;
}
.home .header__container nav a:hover {
	color: #fab129;
}

.home .header__nav svg {
	fill: #fff;
}


@keyframes animateBg {
	0% { background-position: 0% 0%; }
	45% { background-position: 100% 0%; }
	50% { background-position: 100% 100%; }
	95% { background-position: 0% 100%; }
	0% { background-position: 0% 0%; }
}

.header__nav {

	width: 100%;
	max-width: 80rem;
}

.header__nav ul {
	padding: 1rem;
	flex-direction: row;
	flex-wrap: wrap;
	text-align: center;
	justify-content: center;
}

@media only screen and (min-width: 35rem) {
	.header__nav ul {
		flex-wrap: nowrap;
		text-align: left;
	}	
}

.header__nav li a {
	
}

/* larger than most phones */
@media only screen and (min-width: 35rem) {
	.header__nav li {
		padding: 1rem;
	}
}

/* small desktop size */
@media only screen and (min-width: 61rem) {
	.home .header__nav {
		margin-bottom: 7.5rem;
	}
	.header__nav li {
		padding: 1rem 1.3rem;
	}
}
/* larger than most phones but short */
@media only screen and (max-height: 55rem) and (min-width: 35rem) {
	.home .header__nav {
		margin-bottom: 10vh;
	}
}

.header__logo {
	flex-grow: 1;
	//width: 40%;
	width: 28%;
	//order: 1;
	text-align: left;
}

@media only screen and (min-width: 35rem) {
	.header__logo {
		width: auto;
	}
}

.header__logo #Rectangle_1 {
	display: none;
}
@media only screen and (min-width: 22rem) {
	.header__logo #Rectangle_1 {
		display: block;
	}
}

.header__mark {
	display: none;
	width: 40%;
	//order: 2;
	text-align: right;
}
.header__nav li.header__mark {
	padding-top: .6rem;
}
@media only screen and (min-width: 35rem) {
	.header__mark {
		display: block;
		width: auto;
		order: 3;
	}	
}

.header__navlink {
	/* flex-grow: 1; */
	order: 3;
	/* padding: 1rem 1.5rem; */
	padding: .68rem 1.25rem;
}
@media only screen and (min-width: 35rem) {
	.header__navlink {
		flex-grow: 0;
		order: 2;
		padding: .5rem;
	}	
}

/* text, button, and images */
.header__hero {
	display: flex;
	flex-direction: column;
	align-items: top;
	width: 100%;
	min-height: 35rem;
	
	overflow-y: hidden;
}

/* larger than most phones */
@media only screen and (min-width: 35rem) {
	.header__hero {
		/* height: 74vh; */
	}
}

/* small desktop size */
@media only screen and (min-width: 61rem) {
	.header__hero {
		height: 65vh;
		flex-direction: row;
		justify-content: flex-end;
	}
}

.header__bg-image {
	width: 100%;
	height: 50vw;
	min-height: 200px;
	align-self: flex-end;
	
	background-size: cover;
	background-repeat: no-repeat;
}

@media only screen and (min-width: 61rem) {
	.header__bg-image {
		background-position-x: 10px;
		/* position: relative;
		top: -50px; */
		
	}
}

.header__feature-image {
	display: none;
	
	width: 100%;
	height: 60vw;
	min-height: 200px;
	
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
/* larger than most phones but short */
@media only screen and (max-height: 730px) and (min-width: 35rem) {
	.header__feature-image {
		top: 11rem;
	}
}

.header__feature-imag-m {
	width: 100%;
	height: 60vw;
	min-height: 200px;
	
	background-size: contain;
	background-position: 95% 100%;
	background-repeat: no-repeat;
	
	margin: 0 0 auto auto;
	
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	
	z-index: 4;
}

/* larger than most phones */
@media only screen and (min-width: 61rem) {
	.header__feature-imag-m {
		display: none;	
	}
	.header__feature-image {
		display: block;
		
		position: absolute;
		right: 2rem;
		top: 14rem;
		
		z-index: 3;
	}
}
/* larger than most phones but short */
@media only screen and (max-height: 50rem) and (min-width: 35rem) {
	.header__feature-image {
		top: 10rem;
	}
}

/* small desktop size */
@media only screen and (min-width: 61rem) {
	.header__bg-image {
		/* max-width: 54vw; */
		width: 54vw;
		max-height: 65vh;
	}
}

.header__intro {
	text-align: center;
	max-width: 32rem;
	padding: 0 1.5rem;
	
	position: relative;
	z-index: 5;
	
	margin-bottom: 40px;
}

/* larger than most phones */
@media only screen and (min-width: 20rem) {
	.header__intro {
		text-align: left;
	}
}
/* larger than most phones */
@media only screen and (min-width: 61rem) {
	.header__intro {
		margin-bottom: 0px;
	}
}

.header__intro .h1 {
	line-height: 1.1;
	margin-bottom: 1rem;
}
@media only screen and (min-width: 61rem) {
	.header__intro .h1 {
		margin-top: 3rem;
	}
}

.header__intro p {
	margin-bottom: 1.5rem;
	/* font-size: 1em; */
	max-width: 28.125rem;
	padding-left: 1px;
}

.home .header__container:after {
	content: ' ';
	height: 3rem;
	width: 103%;
	background: #F4F1ED;
	display: block;
	
	position: absolute;
	bottom: 0;
	z-index: 3;
	
	border-radius: 100% 100% 0 0;

}

@media only screen and (min-width: 61rem) {
	.home .header__container:after {
		height: 6rem;
	}
}

/* ---- ---- Sidekick Statement (The Big text under the hero/header on the homepage) ---- */
.sidekick {
	background: #F4F1ED;
	font-size: 2em;
	
	text-align: center;
	padding-top: 1rem;
	padding-bottom: 5rem;
	padding-right: 1.5rem;
	padding-left: 1.5rem;
	
	position: relative;
}
.sidekick:before {
	content: " ";
	display: block;
	background: #F4F1ED;
	width: 100%;
	height: 5px;
	
	position: absolute;
	left: 0;
	top: -2px;
}

@media only screen and (min-width: 61rem) {
	.sidekick {
		/* font-size: 	2em; */
		/* font-size: 1em; */
		/* font-weight: 800; */
	}
}

.sidekick__container {
	max-width: 38rem;
	/* max-width: 40rem; */
	margin-left: auto; margin-right: auto;

}

.sidekick__mark {
	position: absolute;
	left: -250px;
	bottom: -200px;	
	z-index: 3;
}

.sidekick__mark path {
	/* fill: black;	 */
}

/* ---- Blocks ---- */

/* ---- ---- Big Text Block ---- */
.big-text {
	background: #F4F1ED;
	
	font-size: 2em;
	text-align: center;
	
	padding-bottom: 2.5rem;
	
}

.big-text__container {
	
	max-width: 35rem;
	margin-left: auto; margin-right: auto;
}

/* ---- ---- Parallax Banner Block ---- */
.parallax-banner {
	display: flex;
	flex-direction: column;
	align-items: center;
	
	animation: animateBg 50s ease-in-out infinite;
	background: rgb(220,51,147);
	background: radial-gradient(circle, rgba(220,51,147,1) 0%, rgba(191,52,163,1) 56%, rgba(120,56,202,1) 100%);
	
	
	position: relative;
	
	margin-bottom: 2rem;
	
	height: 300px;
	overflow: hidden;
}

@media only screen and (min-width: 20rem) {
	.parallax-banner {
		
		height: 300px;
	}
}

@media only screen and (min-width: 30rem) {
	.parallax-banner {
		
		height: 500px;
	}
}

@media only screen and (min-width: 35rem) {
	.parallax-banner {
		/* height: 650px; */
		height: 69vh;
		max-height: 640px;
	}
}

.parallax-banner__container {
	width: 140%;
	height: 88vh;
	
	background-size: cover;
	background-position: center;
	
	position: absolute;
}
@media only screen and (min-width: 61rem) {
	.parallax-banner__container {
		height: 100vh;
	}
}

/* ---- ---- Services Block ---- */
.services {
	background: #fff;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}

.services .h2, .services .h3 {
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	padding-bottom: 1rem;
	margin: 0 auto;
	text-align: center;
}

.services h3, .services .h3, .services .h3 a,
.services h4, .services .h4, .services .h4 a {
	font-family: 'room_205regular',Calisto MT,Bookman Old Style,Bookman,Goudy Old Style,Garamond,Georgia,serif;
	font-weight: 500;
	color: #CA8353;
	margin-top: 1rem;
}

.services__container h3, .services__container .h3, .services__container .h3 a {
	font-size: 1.5rem;
}

.services__container h4, .services__container .h4, .services__container .h4 a {
	font-size: 1.5rem;
}

article .h4 a:hover, article .h4 a:focus  {
	color: #872bed;
}

article .h4 a:active  {
	color: #220B3B;
}

.services h5, .services .h5 {
	font-family: 'room_205regular',Calisto MT,Bookman Old Style,Bookman,Goudy Old Style,Garamond,Georgia,serif;
	font-size: 1.5em;
	font-weight: 500;
	color: #CA8353;
	margin-top: 1rem;
}

article p {
	/* font-size: 1em; */
	
}
article a {
	
}


.services__container {
	display: flex;
	flex-direction: column;
	max-width: 52rem;
	margin: 0 auto;
}

.services__container p {
	margin-bottom: 1rem;	
}

@media only screen and (min-width: 35rem) {
	.services__container {
		flex-direction: row;
	}
}

/* Style the tab */
.services__tabss {
  /* border: 1px solid #ccc; */
  
  
}
/* about phone size - tabs */
@media only screen and (min-width: 20rem) {
	.services__tabss {
		display: flex;
		align-items: baseline;
		padding: 0 0.5rem;
	}
}
/* bigger then 320 phone size - tabs */
@media only screen and (min-width: 21rem) {
	.services__tabss {
		display: flex;
		align-items: baseline;
		padding: 0 1.5rem;
	}
}

/* larger than most phones - vertical tabs */
@media only screen and (min-width: 35rem) {
	.services__tabss {
		width: 50%;
		flex-direction: column;
		padding: 0;
	}
}

/* Style the buttons inside the tab */
.services__tabss button {
	display: block;
	
	background-color: inherit;
	color: #220b3b;
	
	padding: 1.5rem .75rem;
	width: 100%;
	
	font-family: 'apercu_medium_pro',Helvetica Neue,Helvetica,Arial,sans-serif;
	font-size: 17px;
	text-align: left;
	
	border: none;
	outline: none;
	
	cursor: pointer;
	//transition: 0.3s;
	
	opacity: .5;
	
}

/* about phone size - tabs */
@media only screen and (min-width: 20rem) {
	.services__tabss button {
		padding: .5rem .15rem;
		font-size: 0.813em;
	}
}

/*larger phone sizes - still tabs, larger text */
@media only screen and (min-width: 25rem) {
	.services__tabss button {
		font-size: 0.938em;
	}
}

/* larger than most phones - vertical tabs */
@media only screen and (min-width: 35rem) {
	.services__tabss button {
		font-size: 2.5em;
		padding: 1rem .75rem 1.5rem;
	}
}

/* Change background color of buttons on hover */
.services__tabss button:hover {
	opacity: .65;
}

/* Create an active/current "tab button" class */
.services__tabss button.active {
  opacity: 1;
}

/* number in the button */
.services__num {
	color: #CA8353;
	
	font-family: 'room_205regular',Calisto MT,Bookman Old Style,Bookman,Goudy Old Style,Garamond,Georgia,serif;
	
	/* font-size: 1em; */
}

.services__num:after {
  display: inline-block;
  content: " ";
  
  /* width: 1.813rem; */
  width: 0px;
  height: .125rem;
  margin: 6px;
  vertical-align: middle;
  
  background: #CA8353;
  
  transition: width .25s;
}

button.active .services__num:after {
	width: 1.813rem;
}

/* about phone size - tabs */
@media only screen and (min-width: 20rem) {
	.services__num {
		display: block;
		font-size: 1.5rem;
	}	
}

/* Style the tab content */
.services__tab-content {
	padding: 0px 1.5rem;
	/* border: 1px solid #ccc;
	border-left: none; */
	/* height: 80vh; */
	/* overflow: scroll; */
}

@media only screen and (min-width: 35rem) {
	.services__tab-content {
		width: 70%;
		/* padding-top: 1.3em; */
	}
}

/* ---- ---- Trusted By Block ---- */
.trusted-by {
	background: rgb(255,255,255);
	background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(244,241,237,1) 50%, rgba(255,255,255,1) 100%);
	
	padding: 1.5rem;
	text-align: center;
}

.trusted-by__container {
	animation: animateBg 50s ease-in-out infinite;
	background: rgb(220,51,147);
	background: radial-gradient(circle, rgba(220,51,147,1) 0%, rgba(191,52,163,1) 56%, rgba(120,56,202,1) 100%);
	background-size: 400% 400% ;
	
	max-width: 65rem;
	margin-left:auto;margin-right:auto;
	margin-bottom:2rem;
	
	border-radius: .3rem;
	
	box-shadow: 0px 26px 24px 0px rgba(0,0,0,0.2);
}

.trusted-by .h2 {
	color: #fff;
	padding-top: 4.6rem;
	margin-bottom: 1.25rem;
	font-size: 2em;
}

.trusted-by__brands {
	display: flex;
	justify-content: space-evenly;
	align-content: center;
	flex-wrap: wrap;
	/* max-width: 78rem; */
	max-width: 65.75rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 1.5rem 1.5rem;
}

.trusted-by__brand {
	max-width: 100%;
	display: flex;
	align-items: center;
	
	justify-content: center;
	
	
	padding: 2rem 4%;
	
}

/* about phone size - tabs */
@media only screen and (min-width: 20rem) {
	.trusted-by__brand {
		width: 33%;
		padding: 2rem 7%;
	}
}

@media only screen and (min-width: 35rem) {
	.trusted-by__brand {
		width: 11%;
		padding: 2rem 7%;
	}
}

/* ---- ---- Featured Posts Block ---- */
.featured-posts, .latest-posts {
	padding: 1.5rem;
	margin-bottom:2rem;
}

.featured-posts .h2, .latest-posts h2 {
	text-align: center;
	padding-bottom: 1rem;	
}

.featured-posts .h3, .latest-posts h3,
.featured-posts .h3 a, .latest-posts h3 a {
	padding-top: .15rem;
	padding-bottom: 0.3em;
	
	
	/* font-size: 2.375rem; */
	font-weight: normal;
	line-height: 1.2;
	color: #220b3b;
}
@media only screen and (min-width: 30rem) {
	.featured-posts .h3, .latest-posts h3,
	.featured-posts .h3 a, .latest-posts h3 a {
		font-size: 1.25em;
	}
}

.featured-posts__allposts, .latest-posts__allposts {
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(100%,1fr));
	gap: 3rem;
	
	margin: 0 auto;
	max-width: 65.75rem;
}
@media only screen and (min-width: 25rem) {
	.featured-posts__allposts, .latest-posts__allposts {
		grid-template-columns: repeat(auto-fill,minmax(300px,1fr));
	}
}

.featured-posts__allposts, .latest-posts__allposts {
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(300px,1fr));
	gap: 3rem;
	
	margin: 0 auto;
	max-width: 65.75rem;
}

.featured-posts__entry, .latest-posts__entry {
	
}

.featured-posts__imgbox, .latest-posts__imgbox {
	position: relative;
	margin: auto;
	overflow: hidden;
	border-radius: 5px;
}

.featured-posts__entry img, .latest-posts__entry img {
	width: 100%;
	
	max-width: calc(100vw - 42px);
	transition: all .21s;
	display: block;
	width: 100%;
	height: auto;
	transform: scale(1);
}
@media only screen and (min-width: 61rem) {
	.featured-posts__entry img:not(.lazy), .latest-posts__entry img:not(.lazy) {
		max-height: 192px;	
	}
}

.featured-posts__entry:hover img, .latest-posts__entry:hover img {
	transform: scale(1.3);
}

.featured-posts__entry .h3, .latest-posts__entry .h3 {
	padding-top: .15em;
	padding-bottom: 0.3em;
}

.featured-posts__excerpt, .latest-posts__excerpt {
	/* font-size: 1em; */
	
	max-height: 4.5em;
	overflow: hidden;
}

/* ---- ---- Testimonials Block ---- */
.testimonials {
	background: #F4F1ED;
	padding: 1.5rem;
	text-align: center;
}

.testimonials .h2 {
	padding-bottom: 1rem;	
}

/* ---- ---- Newsletter Block ---- */
.newsletter {
	text-align: center;
	padding: 2.5rem;	
}

.newsletter .h2 {
	padding-bottom: 1rem;	
}



/* ---- ---- Contact Block ---- */

/* ---- Pages ---- */

/* ---- ---- Blog Roll Page ---- */

.blog .h2 {
	text-align: center;
}

.blog__imgbox {
	position: relative;
	margin: auto;
	overflow: hidden;
}

.blog__entry img {
	width: 100%;
	max-width: 100%;
	transition: all .21s;
	display: block;
	width: 100%;
	height: auto;	
}

.blog__entry img:not(.lazy) {
	transform: scale(1);
}

@media only screen and (min-width: 61rem) {
	.blog__entry img {
		max-height: 192px;	
	}
}

.blog__entry:hover img:not(.lazy) {
	transform: scale(1.3);
}

.blog__entry .h3 a {
	padding-top: .15rem;
	padding-bottom: 0.3em;
	/* background: red; */
	line-height: 1.1;
	font-weight: normal;
	color: #220b3b;
}
@media only screen and (min-width: 30rem) {
	.blog__entry .h3 a {
		font-size: 2.375rem;	
	}
}
.blog__entry .h3 a:hover {
	color: #872bed;
}

.blog__header {
	max-width: 65.75rem;
	margin: 0 auto;
	
	border-bottom: 1px solid #e3e3e3;
	
	text-align: center;
}

.blog__headerinner {
	max-width: 32rem;
	margin: 0 auto 3.125rem;
	
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
@media only screen and (min-width: 30rem) {
	.blog__headerinner {
		padding-top: 3.125rem;
	}
}

.blog__container {
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(300px,1fr));
	gap: 3rem;
	
	max-width: 65.75rem;
	margin: 0 auto;
	padding: 5rem 1.5rem;
}

.blog__excerpt {
	/* font-size: 1em; */
}

.blog__category {
	display: inline-block;
	margin-bottom: .75rem;
}

.blog__date {
	display: inline-block;
	color: #220b3b;
	opacity: .5;
	font-size: 0.625em;
}

/* ---- ---- Blog Entry ---- */

.blog__article {
	margin-left: 1.5rem;
	margin-right: 1.5rem;
	padding-bottom: 7rem;
	overflow-x: hidden;
}
@media only screen and (min-width: 30rem) {
	.blog__article {
		padding-top: 3.125rem;
	}
}

.blog__article .blog__category {
	display: flex;
	justify-content: center;
}

.blog__article > .h2 {
	font-size: 2.5em;
	line-height: 1.1;
	
	max-width: 52rem;
	
	/* margin-top: 7rem; */
	margin-left: auto;
	margin-bottom: .5rem;
	margin-right: auto;
}

.blog__article h3 {
	font-size: 2.375em;
	line-height: 1.1;
	font-family: 'room_205regular',Calisto MT,Bookman Old Style,Bookman,Goudy Old Style,Garamond,Georgia,serif;
	
	margin-top: 3.25rem;
	margin-bottom: 1.5rem;
}
.blog__article h4 {
	font-size: 1.66em;
	line-height: 1.1;
	font-family: 'room_205regular',Calisto MT,Bookman Old Style,Bookman,Goudy Old Style,Garamond,Georgia,serif;
	
	margin-top: 3.25rem;
	margin-bottom: 1.5rem;
}

@media only screen and (min-width: 61rem) {
	.blog__article > .h2 {
		font-size: 5em;
	}
}

.blog__meta {
	text-align: center;
	font-size: 1.25em;
	margin-bottom: 4rem;
}
.blog__author {
	color: #220b3b;
	margin-top: 1.25rem;
	opacity: .5;
	/* font-weight: 800; */
}
.blog__postDate {
	color: #220b3b;
	opacity: .5;
	/* font-size: 1em; */
}
.blog__tags {
	display: inline;
	list-style: none;
	padding: 0px;
	color: #90849c;
	/* font-size: 1em; */
}
.blog__tags li {
  display: inline;
}
.blog__tags li::after {
  content: ", ";
}
.blog__tags li:last-child::after {
	content: "";
}
.blog__tags a {
	font-weight: normal;
	color: #220b3b;
	opacity: .5;
}
.blog__tags a:hover {
	opacity: 1;
	color: #872bed;
}

.blog__textchunk {
	max-width: 52rem;
	margin-left: auto;
	margin-bottom: 2rem;
	margin-right: auto;
	
}

.blog__textchunk p {
	/* font-size: 1em; */
	margin-bottom: 1rem;	
	
}


.blog__textchunk-big p {
	font-size: 1.5em;
}

.blog__textchunk ul {
	list-style: disc;
	margin-left: 1.5rem;
	margin-bottom: 1rem;
}
.blog__textchunk ol {
	list-style: decimal;
	margin-left: 1.5rem;
	margin-bottom: 1rem;
}
.blog__textchunk li {
	margin-bottom: 1rem;
}
.blog__textchunk blockquote {
	max-width: 52rem;
	
	margin-left: auto;
	margin-bottom: 2rem;
	margin-right: auto;
	
	font-size: 1.25em;
	
	color: #872bed;
	animation: colorloop 40s ease-in-out infinite alternate;
	
	opacity: .8;
	text-align: center;
}
@media only screen and (min-width: 61rem) {
	.blog__textchunk blockquote {
		font-size: 2em;	
	}
}
.blog__blockquote {
	/* animation: animateBg 50s ease-in-out infinite;
	background: rgb(220,51,147);
	background: radial-gradient(circle, rgba(220,51,147,1) 0%, rgba(191,52,163,1) 56%, rgba(120,56,202,1) 100%);
	background-size: 400% 400% ; */
	
	background-color: #F8F7F4;
	
	padding: 2rem;
	/* border-radius: .3rem; */
	border-radius: .15rem;
	
	margin-top: 3.25rem;
	margin-right: auto;
	margin-bottom: 2rem;
	margin-left: auto;
	
	border-left: 8px solid #f2205b;
}
.blog__blockquote.u-textWidth {
	max-width: 47.5rem;
}
.blog__blockquote.u-medium {
	max-width: 80rem;
}
.blog__quote p {
	font-size: 1.25em;
}

@media only screen and (min-width: 61rem) {
	.blog__quote p {
		font-size: 1.5em;	
	}
}
.blog__attribution p {
	opacity: .9;
}

@keyframes colorloop {
	0% {
		color: #f2205b;
	}
	100% {
		color: #872bed;
	}
}

.blog__image {
	margin-top: 5rem;
	margin-left: auto;
	margin-bottom: 4rem;
	margin-right: auto;
	
}

.blog__image.u-medium {
	max-width: 80rem;
}

.blog__image.u-textWidth {
	max-width: 52rem;
}

.blog__Caption {
	font-size: 0.875em;
	max-width: 52rem;
	
	margin-top: 0.625rem;
	margin-left: auto;
	margin-right: auto;
}

@media only screen and (min-width: 61rem) {
	.blog__twoColumn {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 40px;
	}
}

/* ---- ---- Contact Page ---- */
.contact__header {
	max-width: 65.75rem;
	margin: 0 auto;
	padding: 1.5rem;
	text-align: center;
}
@media only screen and (min-width: 30rem) {
	.contact__header {
		padding-top: 3.125rem;
	}
}

.contact__container {
	max-width: 65.75rem;
	margin: 0 auto;
	padding: 2rem 1.5rem 6rem;
	line-height: 1.1;
}
@media only screen and (min-width: 30rem) {
	.contact__container {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 6.25rem;	
	}
}

.contact__container > div {
	/* width: 50%; */
	padding-bottom: 4rem;
}

.contact__container form input:not([type="submit"]), .contact__container form select {
	height: 3rem;
	
}

.contact__container form input:not([type="submit"]), .contact__container form select, .contact__container form textarea {
	width: 100%;
	margin-bottom: 1.56rem;
}

.contact__container input[type=submit] {
	/* margin-top: 1.25rem; */
}

.contact__container form label {
	/* font-size: 1em; */
	font-weight: bold;
	margin-bottom: 0.75rem;
	/* margin-top: 1rem; */
}

.contact__container form label:first-child {
	margin-top: .5rem;
}


.contact__container select {
	
	  /* styling */
	  background-color: white;
	  border: thin solid blue;
	  border-radius: 4px;
	  display: inline-block;
	  font: inherit;
	  line-height: 1.5em;
	  padding: 0.5em 3.5em 0.5em 1em;
	
	  /* reset */
	
	  margin: 0;      
	  -webkit-box-sizing: border-box;
	  -moz-box-sizing: border-box;
	  box-sizing: border-box;
	  -webkit-appearance: none;
	  -moz-appearance: none;
	}

.contact__container select:not([type="submit"]) {
  background-image:
	linear-gradient(45deg, transparent 50%, black 50%),
	linear-gradient(135deg, black 50%, transparent 50%);
  background-position:
	calc(100% - 28px) calc(1em + 6px),
	calc(100% - 20px) calc(1em + 6px);
  background-size:
	8px 8px,
	8px 8px;
  background-repeat: no-repeat;
  
}

.contact__container select:focus {
  background-image:
	linear-gradient(45deg, darkgray 50%, transparent 50%),
	linear-gradient(135deg, transparent 50%, darkgray 50%);
  background-position:
	calc(100% - 20px) calc(1em + 6px),
	calc(100% - 28px) calc(1em + 6px);
  background-size:
	8px 8px,
	8px 8px;
  background-repeat: no-repeat;
  border-color: green;
  outline: 0;
}


.contact__container select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.contact__info h3 {
	font-family: 'apercu_medium_pro',Helvetica Neue,Helvetica,Arial,sans-serif;
	/* font-size: 1em; */
	font-weight: bold;
	margin-bottom:1rem;

}
.contact__info h3:first-child {

}

.contact__info p {
	font-size: 2.5em;
	font-family: 'room_205regular',Calisto MT,Bookman Old Style,Bookman,Goudy Old Style,Garamond,Georgia,serif;
	margin-bottom: 2.3rem;
}

.contact__CompanyAddress p:not(:last-child) {
	margin-bottom: .4rem;
}

.contact__info a {
	color: #220b3b;
	font-weight: normal;
}
.contact__info a:hover {
	color: #872bed;
}

/* ---- Thanks Page ---- */
.thanks__header {
	max-width: 65.75rem;
	margin: 0 auto;
	padding: 1.5rem;
	text-align: center;
}

.thanks__header h1, h2, h3 {
	font-family: 'room_205regular',Calisto MT,Bookman Old Style,Bookman,Goudy Old Style,Garamond,Georgia,serif;
	font-weight: 500;
	line-height: 1.1;
	display: block;
}
.thanks__header h1, h2 {
	font-size: 5em;
}
@media only screen and (min-width: 61rem) {
	.thanks__header h1, h2 {
		font-size: 	5em;
	}
}
.thanks__header h3 {
	font-size: 1.5em;
}
@media only screen and (min-width: 61rem) {
	.thanks__header h3 {
		font-size: 	3.5em;
	}
}


/* ---- Footer ---- */
.site-footer {
	background: #220B3B;
	padding: 4rem 1.5rem;
}
@media only screen and (min-width: 30rem) {
	.site-footer {
		padding: 4rem 1.5rem 7rem;
	}
}

.site-footer__container {
	max-width: 65.75rem;
	margin-left: auto; margin-right: auto;
	
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(100%,1fr));
	gap: 3rem;
}

@media only screen and (min-width: 30rem) {
	.site-footer__container {
		grid-template-columns: repeat(auto-fill,minmax(300px,1fr));
	}
}

.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6 {
	margin-bottom: .125rem;
	color: #d3976e;
}

.site-footer p {
	/* font-size: 1em; */
	color: #fff;
}

.site-footer__subscribe {
	
}

.site-footer__inputs {
	position: relative;
	width: 100%;
	max-width: 28rem;
	margin-top: 1.5rem;
}
@media only screen and (min-width: 30rem) {
	.site-footer__inputs {
		margin-top: 2.1rem;
	}
}

.site-footer__subscribe input[type=email]  {
	border: 0px none;
	border-radius: 1.5625rem;
	font-weight: bold;
	/* font-size: 1em; */
	line-height: 1.2;
	padding: .5rem 1rem;
	cursor: pointer;
	text-decoration: none;
	
	width: 90%;
	height: 2.75rem;
	
	background: #5b4a6e;
}

.site-footer__subscribe input[type=email]:focus  {
	background: #fff;
	outline: none;
	
}

.site-footer__subscribe input[type=submit]  {
	position: absolute;
	right: 0;	
	min-width: 0;
}

/* BBB 2022-11-17 */
.site-footer__subscribe #mc-embedded-subscribe  {
	position: absolute;
	right: 0;	
	min-width: 0;
	top: 0;
}

.site-footer__subscribe label {
	/* font-size: 1em; */
	color: #fff;
	display: block;
	
	margin-bottom: 1rem;
}

.site-footer__email {
	margin-bottom: 3rem;
}
@media only screen and (min-width: 30rem) {
	.site-footer__email {
		margin-bottom: 1.875rem;
	}
}
.site-footer__email a, .site-footer__phone a, .site-footer__address a {
	color: #fff;
	font-weight: normal;
}
.site-footer__email a:hover, .site-footer__phone a:hover, .site-footer__address a:hover {
	color: #872bed;
}

.site-footer__phone {
	
}

.site-footer__address {
	
}

