/* --------- Pre-Loads ---------  */

html {
	overflow-x: hidden;
}

.site-title {
	margin: 0;
	font-size: 1.4rem;
}
.site-content {
	width: 100%;
	margin: 0 auto;
	flex: 1 0 auto;
}
.entry {
	margin-bottom: 35px;
}
.entry-header a {
	color: #111;
	font-size: 2rem;
}
.widget {
	padding: 2rem;
	border-radius: 6px;
	background: linear-gradient(to bottom right, #896efa, #41a3cd);
	color: white;
	box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.1);
	margin-bottom: 20px;
}
.widget h2 {
	margin-top: 0;
	color: white;
	font-size: 1rem;
}
.widget a {
	color: rgba(255, 255, 255, 0.8);
}
.comment {
	padding: 20px 0;
	margin: 20px 0;
	border-bottom: 1px solid #e8e8f0;
}
.comment-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.avatar {
	display: inline-flex;
	margin-right: 15px;
}
.says {
	display: none;
}
.comment-author {
	display: flex;
	align-items: center;
}
.comment-meta {
	display: flex;
	align-items: center;
}
.comment-metadata a {
	padding: 0 0 0 15px;
	color: #888;
	font-size: 0.9rem;
}
.reply a {
	color: #888;
	font-size: 0.9rem;
}

/* ---------  Load Fonts ---------  */
@font-face {
	font-family: "robotoblack";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-black-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-black-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "robotoblack_italic";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-blackitalic-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-blackitalic-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "robotobold";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-bold-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-bold-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "robotobold_italic";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-bolditalic-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-bolditalic-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "robotoitalic";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-italic-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-italic-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "robotolight";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-light-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-light-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "robotolight_italic";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-lightitalic-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-lightitalic-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "robotomedium";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-medium-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-medium-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "robotomedium_italic";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-mediumitalic-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-mediumitalic-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "robotoregular";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-regular-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-regular-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "robotothin";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-thin-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-thin-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: "robotothin_italic";
	src:
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-thinitalic-webfont.woff2") format("woff2"),
		url("/wp-content/themes/ED_Counselling/assets/fonts/roboto-thinitalic-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
}

/* --------- Defaults ---------   */

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* ---------  Typography ---------   */

html {
	font-size: 16px;
}
body {
	-webkit-font-smoothing: antialiased;
	margin: 0;
	color: #404040;
	background: white;
	font-family: robotoregular;
	line-height: 1.6;
	position: relative;
	letter-spacing: 0.3px;
	overflow-x:hidden;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}
a {
	color: black;
	text-decoration: underline;
}
a:hover {
	color: black;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.2;
	color: #5e246a;
	font-weight: normal;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin-block-start: 0;
	margin-block-end: 0;
}
h1 {
	margin-top: 0;
	font-size: 2.625rem;
	font-family: robotobold;
	margin-bottom: 1.5rem;
}
h2 {
	font-size: 2.625rem;
	font-family: robotobold;
	margin-bottom: 1.5rem;
	letter-spacing: 0.6px;
}

.banner h2 {
	font-size: 2.15rem;
	font-family: robotolight;
	margin-bottom: 1.5rem;
	letter-spacing: 0.6px;
}

h3 {
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
}
p,
ul {
	margin-bottom: 1.875rem;
}
p,
li {
	font-size: 1rem;
}

li:first-child,
.banner li:first-child {
	margin: 0;
}

.cta.center {
	text-align: center;
	margin: 3rem 0;
}

.cta{
	margin-top:3rem;
}

.cta a,
.cta button {
	display: inline-block;
	font-size: 1rem;
	color: white;
	text-align: center;
	padding: 10px 30px;
	background-color: #5e246a;
	border-radius: 40px;
	text-decoration: none;
	font-family: robotolight;
	letter-spacing: 0.8px;
	border-width: 0;
}

.cta.right-arrow a:after,
.cta.right-arrow button:after {
	content: url(../img/icon_right_arrow.png);
	display: inline-block;
	padding-left: 13px;
	position: relative;
	top: 2px;
}

.cta.down-arrow a:after,
.cta.down-arrow button:after {
	content: url(../img/icon_down_arrow.png);
	display: inline-block;
	padding-left: 13px;
	position: relative;
}

.cta.down-arrow .dropdown-button.active:after {
	content: url(../img/icon_up_arrow.png);
}

.phone a:before {
	content: url(../img/icon_phone.png);
	display: inline-block;
	padding-right: 13px;
	position: relative;
	top: 6px;
}

.email a:before {
	content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='16' viewBox='0 0 20 16' fill='none' stroke='%235e246a' stroke-width='1.5'%3E%3Crect x='1' y='1' width='18' height='14' rx='2'/%3E%3Cpath d='M2 2l8 7 8-7'/%3E%3C/svg%3E");
	display: inline-block;
	padding-right: 13px;
	position: relative;
	top: 2px;
}

/* ---------  Header---------  */

.site-header {
	width: 100%;
	max-width: 1680px;
	margin: 0 auto;
	color: #555;
	padding: 20px 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.main-navigation {
	text-underline-offset: 16px;
	text-decoration-color: #5e246a;
	text-decoration-thickness: 4px;
}

.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 32px;
	height: 22px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}

.menu-toggle-bar {
	display: block;
	width: 100%;
	height: 3px;
	border-radius: 2px;
	background-color: #5e246a;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.menu-toggle.is-active .menu-toggle-bar:nth-child(2) {
	transform: translateY(9.5px) rotate(45deg);
}
.menu-toggle.is-active .menu-toggle-bar:nth-child(3) {
	opacity: 0;
}
.menu-toggle.is-active .menu-toggle-bar:nth-child(4) {
	transform: translateY(-9.5px) rotate(-45deg);
}

.main-navigation .menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
}
.main-navigation .menu a {
	display: block;
	padding: 10px 30px;
	font-size: 1.375rem;
	text-decoration: none;
	font-family: robotoregular;
}

.main-navigation .menu .cta a {
	padding: 10px 20px;
}

.main-navigation .menu a:hover {
	text-decoration: underline;
	text-decoration-thickness: 0.25rem;
}


.main-navigation .current-menu-item {
	text-decoration: underline;
	text-decoration-color: #5e246a;
	text-decoration-thickness: 0.25rem;
}

.main-navigation .current-menu-item a {
	font-family: robotobold;
}

.main-navigation .cta {
	margin: 0 0 0 30px;
}


.main-navigation .menu .cta a,
.main-navigation .menu .cta a:hover,
.main-navigation .menu .current-menu-item.cta,
.main-navigation .menu .current-menu-item.cta:active,
.main-navigation .menu .current-menu-item.cta:hover{
	text-decoration: none;
}

.main-navigation .menu .current-menu-item.cta a,
.main-navigation .menu .current-menu-item.cta a:active,
.main-navigation .menu .current-menu-item.cta a:hover{
	text-decoration: none;
}

.wave-header-fixed,
.wave-homepage-fixed {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 3440px;
	max-width: none;
	height: auto;
	pointer-events: none;
}

.wave-header-fixed {
	z-index: -1;
}

.wave-homepage-fixed {
	z-index: -2;
}

.wave-fill {
	position: absolute;
	top: 0;
	width: calc(50vw - 1720px);
	pointer-events: none;
}

.wave-header-fill {
	background-color: #d1e7a0;
	z-index: -3;
}

.wave-header-fill.wave-fill-left {
	left: 0;
	height: 220px;
}

.wave-header-fill.wave-fill-right {
	right: 0;
	height: 420px;
}

.wave-homepage-fill {
	background: linear-gradient(to bottom, #def0b4, #d1ea9b);
	z-index: -4;
}

.wave-homepage-fill.wave-fill-left {
	left: 0;
	height: 850px;
}

.wave-homepage-fill.wave-fill-right {
	right: 0;
	height: 1110px;
}

.spacer {
	margin-top: 150px;
}

/* ---------  Footer ---------   */

footer {
	text-align: left;
	position: relative;
	width: 100%;
	flex-shrink: 0;
}

.site-footer .wrapper {
	margin-bottom: 0;
}

.site-footer p,
.site-footer a {
	font-size: 1rem;
	color: black;
	font-family: robotoregular;
}
.site-footer p {
	padding-bottom: 200px;
	margin-bottom: 0;
}
.wave-footer-background-fixed,
.wave-footer-foreground-fixed {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 3440px;
	max-width: none;
	height: auto;
	pointer-events: none;
}

.wave-footer-background-fixed {
	z-index: -2;
}

.wave-footer-foreground-fixed {
	z-index: -1;
}

.wave-footer-background-fill,
.wave-footer-foreground-fill {
	bottom: 0;
	top: auto;
}

.wave-footer-background-fill {
	background: linear-gradient(to bottom, #d1ea9b, #def0b4);
	z-index: -4;
	height: 404px;
}

.wave-footer-foreground-fill {
	background-color: #d1e7a0;
	z-index: -3;
	height: 230px;
}

.wave-footer-background-fill.wave-fill-left,
.wave-footer-foreground-fill.wave-fill-left {
	left: 0;
}

.wave-footer-background-fill.wave-fill-right,
.wave-footer-foreground-fill.wave-fill-right {
	right: 0;
}

/* --------- Banner ---------  */

.banner {
	position: relative;
	margin: 175px 0 40px 0;
}
.banner-text {
	width: 60%;
	flex: 1;
	padding-right: 70px;
}
.banner .wrapper {
	max-width: 1600px;
	display: flex;
	margin: 0 auto;
}


/* ---------  Default Layouts ---------   */

.wrapper {
	max-width: 1366px;
	margin: 75px auto;
	padding: 0 100px;
}

.sidebar,
.section {
	width: 100%;
	height: auto;
}

.section.pad {
	margin: 75px 0;
}

.flex {
	display: flex;
}

.section.flex {
	gap: 60px;
}
.section > div {
	width: auto;
}
.section.half > div {
	width: 50%;
}

/* UL Bubble */

ul.bubble {
	padding: 0;
	list-style-type: none;
}
ul.bubble li {
	background-color: #ecf6d6;
	padding: 10px 50px;
	border-radius: 50px;
	margin: 20px 0;
}

.readmore {
	background-color: #fdf6ff;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s ease-out;
	position: absolute;
	margin: 20px 0;
    width: 30%;
}

.readmore.open {
	border: 1px solid #669966;
}

.readmore p
{
	margin: 20px 30px;
}

img.right {
	float: right;
}

/* --------- How I Can Help (homepage) ---------  */

.how-i-can-help .section.flex.half {
	margin-top: 2rem;
}

.eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #5e246a;
	font-family: robotobold;
	font-size: 0.8rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 0.75rem;
}

.pricing-panel,
.quote-panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.pull-quote {
	background-color: #ecf6d6;
	border-radius: 16px;
	padding: 1.5rem;
	font-family: robotoitalic;
	font-style: italic;
	color: #5e246a;
	margin: 0;
}

ul.session-info {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0 0;
	border: 1px solid #e2ddd6;
	border-radius: 16px;
}

ul.session-info li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 20px;
	border-bottom: 1px solid #e2ddd6;
	margin: 0;
}

ul.session-info li:last-child {
	border-bottom: none;
}

.section-divider {
	border: none;
	border-top: 1px solid #e2ddd6;
	margin: 3rem 0;
}

.also-drawing {
	margin-bottom: 4rem;
}

.also-drawing-intro {
	font-family: robotobold;
	color: #5e246a;
}

ul.tag-bubble {
	list-style: none;
	padding: 0;
	margin: 1.5rem 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

ul.tag-bubble li {
	background-color: #ecf6d6;
	padding: 8px 20px;
	border-radius: 50px;
	margin: 0;
}

.icon-clock,
.icon-camera,
.icon-person {
	display: inline-block;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.icon-clock {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%235e246a' stroke-width='1.3'%3E%3Ccircle cx='8' cy='8' r='6.5'/%3E%3Cpath d='M8 4.5V8l3 2'/%3E%3C/svg%3E") no-repeat center / contain;
}

.icon-camera {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14' viewBox='0 0 18 14' fill='none' stroke='%235e246a' stroke-width='1.3'%3E%3Crect x='1' y='2' width='11' height='10' rx='1.5'/%3E%3Cpath d='M12 5.5l5-2.5v8l-5-2.5z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.icon-person {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='16' viewBox='0 0 14 16' fill='none' stroke='%235e246a' stroke-width='1.3'%3E%3Ccircle cx='7' cy='4.5' r='3.5'/%3E%3Cpath d='M1 15c0-3.5 2.7-6 6-6s6 2.5 6 6'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* --------- Homepage ---------  */

.section .content.pad {
	padding-right: 200px;
}

/* --------- FAQs ---------  */

.faqs {
	width: 50%;
	margin-bottom: 30px;
}

.accordion {
	font-size: 1rem;
	font-family: robotobold;
	background-color: white;
	border-radius: 10px;
	color: #5e246a;
	cursor: pointer;
	padding: 13px 20px 12px 30px;
	width: 100%;
	text-align: left;
	border: 1px solid #669966;
	outline: none;
	transition: 0s;
	margin-top: 25px;
}

.accordion.active,
.accordion:hover {
	background-color: #fdf6ff;
}

.accordion.active {
	border-bottom: none;
	border-color: #669966;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.panel {
	background-color: #fdf6ff;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s ease-out;
	padding: 0 30px;
}

.panel.open {
	border: 1px solid #669966;
	border-top: none;
	border-radius: 10px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.accordion:after {
	content: url("../img/icon_down_arrow_green.png");
	font-size: 13px;
	color: #777;
	float: right;
	margin-left: 5px;
	margin-top: 1px;
}

.accordion.active:after {
	content: url("../img/icon_up_arrow_green.png");
}

/*-- contactinfo --*/

ul.contactinfo {
	list-style-type: none;
	padding: 0;
}

.contactinfo li {
	display: inline-block;
	font-size: 1.25rem;
	margin: 0 15px 0 0;
}

.contactinfo li a {
	color: #5e246a;
	text-decoration: none;
	font-family: robotolight;
}

.contactinfo ul p {
	display: none;
}

.contactinfo .cta button {
	margin-right: 10px;
}



/* ---------  About Me ---------   */


.wrapper .sidebar,
.wrapper .sidebar.side {
	overflow:hidden;
}

.wrapper .sidebar {
	width: 30%;
}

.wrapper .sidebar img {
	max-width: 100%;
	height: auto;
}

.wrapper .section.side{
	width:70%;
	padding-left:5rem;
}

.wrapper.aboutme {
	position: relative;
}

.aboutme-divider {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 4px;
	pointer-events: none;
}

.aboutme-divider-purple {
	left: 35%;
	background: linear-gradient(to bottom, #e1d6e4 0%, #e1d6e4 85%, transparent 100%);
}

.aboutme-divider-green {
	left: 36.4%;
	background: linear-gradient(to bottom, #e3efc8 0%, #e3efc8 85%, transparent 100%);
}

.aboutme ul {
	list-style-type: none;
	padding: 0;
}


.aboutme ul li img {
	max-height: 200px;
    max-width: 300px;
    margin: auto;
    display: block;
	padding:1.25rem;
}


.aboutme .socials {
	display:flex;
	  align-items: center;
	  justify-content: center;
	margin: 2rem 0;
}

.aboutme .socials a {
	padding: 0 1rem;
}


/* ---------  About Me ---------   */

/* ---  Form  ---   */


.form form {
  max-width: 800px;
}

.form input[type="text"],
.form input[type="email"],
.form textarea {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #7b4b81;
  border-radius: 6px;
  font-size: 1rem;;
  outline: none;
  box-sizing: border-box;
  color: #333;
}

.form input::placeholder,
.form textarea::placeholder {
  color: #c4bccc;
}

.form textarea {
  height: 120px;
  resize: none;
}

.form input[type="submit"] {
  background-color: #7b4b81;
  color: #fff;
  border: none;
  padding: 10px 24px;
  border-radius: 20px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  font-family:robotobold;
   
font-size: 1rem;
}

.form input[type="submit"]:hover {
  background-color: #5a3561;
}





/* --- Blog ---*/



/* Post Layout */


.blog p {
	margin-bottom:0;
	font-size:1.2rem;
}

.blog .latest-post-content h2 {
  font-size: 28px;
  margin-bottom: 16px;
	margin-top:0;
}

.blog h3 {
    margin-bottom:0;
	margin-top:0.6rem;
	font-size:1.4rem;
	color: #5e246a;
}

.blog .post-excerpt p {
	font-size: 1rem;
}

.blog .latest-post {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 60px;
  align-items: center;
}

.blog .latest-post-image img,
.blog .grid-post img {
	width: 100%;
    border-radius: 8px;
  object-fit: cover;
}

.blog .latest-post-image img {

  height:280px;
}

.blog .latest-post-content .post-date {
  color: #888;
  font-size: 14px;
  margin-bottom: 10px;
}


.blog .latest-post-content h2 a {
  text-decoration: none;
  color: inherit;
}

.blog .latest-post-content .post-excerpt {
  font-size: 16px;
  color: #555;
}

/* Grid of 6 Posts */
.blog .post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 30px;
  row-gap: 40px;

}

.blog .grid-post img {
  height: 225px;
}

.blog .grid-post .post-date {
  font-size: 13px;
  color: #888;
  margin-top: 10px;
}

.blog .grid-post-title a {
  text-decoration: none;
	color: #5e246a;
}

.blog .grid-post-title a:hover {
	color: #5e2b75;
}



/* Post Layout */

.article img {
	width:100%;
	margin: 0 0 75px 0;
}



/*  -------------------------Responsiveness------------------------ */



@media (max-width: 1920px) {
	.site-footer .wave image {
		width: 1920px;
	}
}

@media (max-width: 1680px) {

	.banner {
		margin: 90px 0 40px 0;
	}

	.banner .wrapper {
		margin: 0 75px;
		padding:0;
	}

	.spacer {
		margin-top: 150px;
	}


	.main-navigation .menu a {
		font-size: 1.2rem;
		padding: 10px 20px;
	}

	.site-header img {
		width:75%;
		height:auto;
	}


}

@media (max-width: 1280px) {

	.banner-image img {
		width:80%;
	}

}

@media (max-width: 1300px) {

	.site-header {
		position: relative;
		flex-wrap: wrap;
		padding: 20px 30px;
	}

	.menu-toggle {
		display: flex;
	}

	.main-navigation {
		display: none;
		position: absolute;
		top: 100%;
		right: 30px;
		width: 260px;
		background: white;
		border-radius: 16px;
		box-shadow: 0 15px 35px rgba(94, 36, 106, 0.2);
		z-index: 50;
	}

	.main-navigation.is-open {
		display: block;
	}

	.main-navigation .menu {
		flex-direction: column;
		padding: 15px 25px 20px;
	}

	.main-navigation .menu a {
		padding: 12px 0;
	}

	.main-navigation .cta {
		margin: 15px 0 0;
	}

	.main-navigation .menu .cta a {
		display: inline-block;
	}

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

	.section.flex.half {
		flex-direction: column;
	}

	.section.flex.half > div {
		width: 100%;
	}

	.blog .latest-post {
		grid-template-columns: 1fr;
	}

	.blog .latest-post-image img {
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.wrapper.aboutme {
		flex-direction: column;
	}

	.wrapper.aboutme > img {
		display: none;
	}

	.aboutme-divider {
		display: none;
	}

	.wrapper.aboutme .sidebar {
		display: contents;
	}

	.wrapper.aboutme .sidebar > img {
		order: 1;
		display: block;
		width: 60%;
		max-width: 280px;
		margin: 0 auto 20px;
	}

	.wrapper.aboutme .sidebar .socials {
		order: 2;
		margin-bottom: 10px;
	}

	.wrapper.aboutme .section.side {
		order: 3;
		width: 100%;
		padding-left: 0;
	}

	.wrapper.aboutme .sidebar ul {
		order: 4;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
		margin-top: 30px;
	}

	.wrapper.aboutme .sidebar ul li {
		flex: 0 1 120px;
	}

}

@media (max-width: 900px) {

	.banner .wrapper {
		flex-direction: column;
	}

	.banner-text {
		width: 100%;
		padding-right: 0;
	}

	.banner-image {
		margin-top: 30px;
		text-align: center;
	}

	.banner-image img {
		width: 65%;
	}

	.section .content img.right {
		float: none;
		display: block;
		width: 100%;
		max-width: 320px;
		margin: 0 auto 25px;
	}

}

@media (max-width: 1300px) {

	.wave-header-fixed,
	.wave-homepage-fixed {
		top: -150px;
	}

}

/* Wave rises at 1300px but the spacer stays 150px, leaving a large gap.
   Reduce it until the images stack at 900px. */
@media (max-width: 1300px) and (min-width: 901px) {

	.spacer {
		margin-top: 0;
	}

}

@media (max-width: 768px) {

	.wave-header-fixed {
		top: -100px;
	}

	.wave-homepage-fixed {
		top: 0;
	}

	.spacer {
		margin-top: 50px;
	}

	.site-header {
		padding: 15px 20px;
	}

	.site-header img {
		width: 55%;
		height: auto;
	}

	.banner {
		margin: 40px 0 40px 0;
	}

	.banner .wrapper {
		margin: 0 30px;
	}

	.banner-image img {
		width: 75%;
	}

	.main-navigation .menu {
		padding: 15px 20px 20px;
	}

}

@media (max-width: 576px) {

	.banner .wrapper {
		margin: 0 20px;
	}

	.banner-text h1 {
		font-size: 1.8rem;
	}

	.banner-text h2 {
		font-size: 1.5rem;
	}

	.banner-image img {
		width: 90%;
	}

	.wrapper {
		padding: 0 20px;
		margin: 50px auto;
	}

	.wrapper .sidebar,
	.wrapper .section.side {
		width: 100%;
		padding-left: 0;
	}

}

@media (min-width: 1920px) {
	.wave image {
		width: 100vw;
	}	
}






