/*
Theme Name: Design Alive
Description: Theme for DA intended to use with Genesis & Elementor
Author: Highlight Creative
Author URI: https://highlightcreative.com
Template: genesis
Version: 4.0.0
*/

/* Table of Contents
- HTML5 Reset
	- Baseline Normalize
	- Box Sizing
	- Float Clearing
- Defaults
	- CSS Variables
	- Typographical Elements
	- Typography
	- Links & Buttons, Button Blocks
	- Lists
	- Objects
	- Tables
	- Screen Reader Text
	- Skip Links
- Forms
- Common Classes
	- Flexbox
	- Styling classes
	- Avatar
	- Genesis
	- Search Form
	- WordPress
- Site Container
	- Site Container
	- Site Inner
- Site Header
	- Title Area
- Navigation
	- Responsive Menu
	- Header Menu
	- Footer Menu
- Site Footer
	- Footer Widgets
- Content Area
	- Page headers
	- Entry Content
	- Entry Meta
	- Pagination
	- Entry Comments
	- Custom page templates
- Sidebar
	- Widgets
- Blocks
	- Block classes
	- Native blocks
	- Custom blocks
- Media Queries
- Print Styles
*/


/* HTML5 RESET
---------------------------------------------------------------------------------------------------- */

/* Baseline Normalize
--------------------------------------------- */
/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item, list-style: none;}[hidden],template{display:none}

/* Box Sizing
--------------------------------------------- */

html {
	box-sizing: border-box;
	scroll-padding-top: 6rem;
	scroll-behavior: smooth;
}

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

/* Float Clearing
--------------------------------------------- */

.author-box::before,
.clearfix::before,
.entry::before,
.entry-content::before,
.footer-widgets::before,
.nav-primary::before,
.nav-secondary::before,
.pagination::before,
.site-container::before,
.site-footer::before,
.site-header::before,
.site-inner::before,
.widget::before,
.wrap::before {
	content: " ";
	display: table;
}

.author-box::after,
.clearfix::after,
.entry::after,
.entry-content::after,
.footer-widgets::after,
.nav-primary::after,
.nav-secondary::after,
.pagination::after,
.site-container::after,
.site-footer::after,
.site-header::after,
.site-inner::after,
.widget::after,
.wrap::after {
	clear: both;
	content: " ";
	display: table;
}


/* DEFAULTS
---------------------------------------------------------------------------------------------------- */


/* CSS Variables
--------------------------------------------- */
body {
	--font-secondary: Eastman, sans-serif;
	--font-main: "museo-sans", 'Source Sans Pro', Helvetica, sans-serif;
}


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

html {
	font-size: 62.5%; /* 10px browser default */
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

body {
	background-color: #fff;
	color: var(--wp--preset--color--black);
	font-family: var(--font-main);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.625;
	margin: 0;
}

button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img {
	transition: all 0.2s ease-in-out;
}

p {
	margin: 0 0 var(--wp--preset--spacing--small);
	padding: 0;
}

hr {
	border: 0;
	border-collapse: collapse;
	border-top: 1px solid #eee;
	clear: both;
	margin: 0;
}

hr.wp-block-separator {
	border-bottom: 1px solid;
    width: 100px;
}

hr.wp-block-separator.is-style-wide {
	width: 100%;
	border-bottom: 1px solid;
}

hr.wp-block-separator.is-style-pink-separator {
    border-bottom: 7px solid var(--wp--preset--color--pink);
    border-top: 0;
}

b,
strong {
	font-weight: 700;
}

blockquote,
cite,
em,
i {
	font-style: italic;
}

mark {
	background: #ddd;
	color: var(--wp--preset--color--black);
}

blockquote {
	margin: 30px;
}

blockquote::before {
	content: "\201C";
	display: block;
	font-size: 30px;
	font-size: 3rem;
	height: 0;
	left: -20px;
	position: relative;
	top: -10px;
}


::-moz-selection {
	background-color: #333;
	color: #fff;
}

::selection {
	background-color: #333;
	color: #fff;
}


/* width */
::-webkit-scrollbar {
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #fff;
  border-left: 1px solid #888;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #4EB1D6;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #4EB1D6;
}
.svg-img svg {
    max-width: 100%;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 0;
}

.is-style-main {
	font-family: var(--font-main);
}

.is-style-secondary {
	font-family: var(--font-secondary);
}



/* Links & Buttons
--------------------------------------------- */

a {
	color: var(--wp--preset--color--blue);
	text-decoration: none;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

a:focus,
a:hover,
.entry-title a:focus,
.entry-title a:hover {
	color: var(--wp--preset--color--bright-blue);
	text-decoration: none;
}

button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="reset"],
input[type="submit"],
input[type="submit"].gform_button,
.wp-block-button .wp-element-button,
.wp-block-button .wp-block-button__link {
	border-radius: 25px;	
	cursor: pointer;
	display: inline-block;
	border: 0;
	font-size: 15px;
	font-weight: 500;
	padding: 9px 25px;
	background-color: var(--wp--preset--color--blue);
	text-decoration: none;
	white-space: normal;
	width: auto;
	-webkit-transition: .25s all ease-in-out;
	transition: .25s all ease-in-out;
}

button,
.button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="reset"],
input[type="submit"],
input[type="submit"].gform_button,
.wp-block-button:not(.is-style-outline) .wp-element-button {
	background-color: var(--wp--preset--color--blue);
	color: #fff;
}

.wp-block-button .wp-element-button,
.wp-block-button .wp-block-button__link {
	display: block;
    width:-moz-fit-content; 
	width: fit-content;
}

button:focus,
button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
.button:focus,
.button:hover,
input[type="submit"].gform_button:hover,
input[type="submit"].gform_button:focus,
.wp-block-button:not(.is-style-outline) .wp-element-button:hover,
.wp-block-button:not(.is-style-outline) .wp-element-button:focus,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--bright-blue);
	color: #fff;
}

.menu-button a span {
    color: #fff;
    background: var(--wp--preset--color--blue);
    padding: 6px 22px;
    border-radius: 20px;
}

.wp-block-button.is-style-pink .wp-block-button__link,
.menu-button.pink a span {
	background: var(--wp--preset--color--pink);
}

.wp-block-button.is-style-pink .wp-block-button__link:hover,
.wp-block-button.is-style-pink .wp-block-button__link:focus,
.menu-button.pink a span:hover, 
.menu-button.pink a span:focus {
	background: #9a1355;
}

.wp-block-button.is-style-royalblue .wp-block-button__link {
	background: #33227b;
}

.menu-button a span:hover,
.menu-button a span:focus,
.wp-block-button.is-style-royalblue .wp-block-button__link:hover,
.wp-block-button.is-style-royalblue .wp-block-button__link:focus {
	background: #33227b;
}

.button.has-white-background-color:hover,
.button.has-white-background-color:focus {
	color: var(--wp--preset--color--pink) !important;
}

.wp-block-button.has-medium-font-size .wp-block-button__link,
.button-lg {
	padding: 12px 34px;
}


/* Safari ~13 doesn't support gap for flexbox, but WP 6.0 has it. Removing and replacing. */
.wp-block-buttons,
.wp-block-social-links,
.wp-block-columns {
	gap: 0 !important;
}

.wp-block-button + .wp-block-button {
	margin-left: .5em;
}

.wp-block-social-links .wp-social-link {
	margin-right: .5em;
}


/* Left-aligned buttons don't stay aligned on mobile */
.wp-block-buttons.is-content-justification-left {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	-ms-grid-row-align: flex-start;
	align-items: flex-start;
}


/* Lists 
--------------------------------------------- */
ol,
ul {
	margin: 0;
	padding: 0;
}

li {
	list-style-type: none;
}

.entry-content ol,
.entry-content ul {
	margin-bottom: 30px;
	margin-left: 40px;
}

.entry-content ol > li {
	list-style-type: decimal;
}

.entry-content ul > li {
	list-style-type: disc;
}

.entry-content ol ol,
.entry-content ul ul {
	margin-bottom: 0;
}


/* Objects
--------------------------------------------- */

embed,
iframe,
img,
object,
video,
.wp-caption {
	max-width: 100%;
}

img {
	height: auto;
	vertical-align: top;
}

figure {
	margin: 0;
}

.entry-content .caption {
	font-size: 14px;
	font-weight: 600;
	margin-top: -20px;
	text-align: center;
}

/* Tables
--------------------------------------------- */

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

tbody {
	border-bottom: 1px solid #eee;
}

td,
th {
	line-height: 2;
	text-align: left;
	vertical-align: top;
}

td {
	padding: 0.5em;
}

tr {
	border-top: 1px solid #eee;
}

th {
	font-weight: 600;
	padding: 0.5em;
}

/* Screen Reader Text
--------------------------------------------- */
.screen-reader-shortcut,
.screen-reader-text,
.screen-reader-text span {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.widget_search input[type="submit"]:focus {
	background: #fff;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: var(--wp--preset--color--black);
	display: block;
	font-size: 1em;
	font-weight: 700;
	height: auto;
	padding: 15px 23px 14px;
	text-decoration: none;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

.more-link {
	display: inline-block;
	position: relative;
	margin-bottom: 30px;
}

/* Skip Links
------------------------------------------------ */

.genesis-skip-link {
	margin: 0;
}

.genesis-skip-link .skip-link-hidden {
	display: none;
	visibility: hidden;
}

.genesis-skip-link li {
	height: 0;
	list-style: none;
	width: 0;
}

/* FORMS
---------------------------------------------------------------------------------------------------- */

input,
select,
textarea {
	background-color: transparent;
	border: 1px solid #ddd;
	border-radius: 0; /* Need for Safari */
	color: var(--wp--preset--color--black);
	padding: 15px;
	width: 100%;
}

input:focus,
textarea:focus {
	border: 1px solid #999;
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

::-moz-placeholder {
	color: var(--wp--preset--color--black);
	opacity: 1;
}

::-webkit-input-placeholder {
	color: var(--wp--preset--color--black);
}


.site-container button:disabled,
.site-container button:disabled:hover,
.site-container input:disabled,
.site-container input:disabled:hover,
.site-container input[type="button"]:disabled,
.site-container input[type="button"]:disabled:hover,
.site-container input[type="reset"]:disabled,
.site-container input[type="reset"]:disabled:hover,
.site-container input[type="submit"]:disabled,
.site-container input[type="submit"]:disabled:hover {
	background-color: #eee;
	border-width: 0;
	color: #777;
	cursor: not-allowed;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}

/* GRAVITY FORMS -- This section needs cleaning up --*/

/* Adjust whitespace between fields, and labels to fields */ 
body .gform_wrapper.gravity-theme .gfield_label {
    margin-bottom: 0;
}

.gform_wrapper.gravity-theme .gfield {
    margin-top: 14px;
}

.gform_confirmation_wrapper {
    padding: 20px;
    margin-top: 25px;
    font-weight: bold;
}

p.gform_required_legend {
	font-style: normal;
	color: var(--wp--preset--color--pink);
}

.gform_wrapper.gravity-theme .gfield_required {
    color: inherit !important;
}


body .gform_wrapper .top_label div.ginput_container.ginput_container_date {
    margin-top: 4px;
}

.spu-content .gform_wrapper {
    background: #fff;
    border: 0;
    padding: 0;
}

.spu-content .button.gform_button {
    opacity: 1;
    margin: -2em 0 0 0;
}

.ginput_container_name label.gform-field-label--type-sub {
	display: none !important;
}


input, textarea {
	border: 1px solid #C4C4C4;
}

textarea:focus, input:focus {
	box-shadow: 0px 0px 3px var(--wp--preset--color--pink);
	border: 1px solid white;
}

.gform_wrapper.gravity-theme .gfield {
    margin-bottom: 20px;
}

.gfield_checkbox .gchoice {
    margin-bottom: 10px;
}

.checkbox_column {
	float: left;
	margin-right: 2em;
	margin-bottom: 1.46667em;
}

.gform_wrapper li,
.gform_wrapper fieldset {
  	border-bottom: 0;
  	padding: 0 0 8px 0;
}

.gform_wrapper .top_label .gfield_label {
	margin: .625em 0 0 !important;
}

.gform_wrapper .gfield_required,
.hidden-label label.gfield_label {
   	display: none !important;
}

.gform_wrapper .gsection.gsection-header {
	margin: 1.8em 0 0 0;
	border-top: 1px solid #CCC;
	border-bottom: 0;
	padding: .5em 0;
}

.gform_wrapper.gravity-theme .gsection.gfield {
    border-bottom: 0;
    padding: 0;
	margin: 1em 0 0 0;
}

h2.gsection_title,
h3.gsection_title {
	text-transform: uppercase;
	font-size: 15px !important;
	color: var(--color-blue);
	margin: 0;
}

.gform_wrapper .checkbox-head .gfield_label, 
.gform_wrapper .radio-no-title .gfield_label {
	display: none;
}

.gform_wrapper .checkbox-head .ginput_container {
  	background: #fcfcfc;
  	padding: 9px 0 10px 10px;
	border-top: 1px solid #ddd;
	font-weight: bold;
}

.gform_wrapper .indent {
	margin-left: 3em !important;
	margin-bottom: 1em !important;
}

.gform_wrapper .indent .gfield_label {
	font-weight: bold !important;
}

.gform_wrapper.gravity-theme .gfield-choice-input+label {
    vertical-align: top;
}


.gfield_checkbox {
    line-height: 1.2;
}

p.gform_required_legend {
    display: none;
}

fieldset#field_28_46 {
    background: #fff;
    border-radius: 5px;
    border: 1px solid #ddd;
    padding: 25px;
}

div#gform_confirmation_message_33 {
    border: 0;
    padding: 0;
    width: 100%;
}


.gform_wrapper ul.gfield_checkbox li input[type=checkbox], .gform_wrapper ul.gfield_radio li input[type=radio] {
    vertical-align: top;
}

.gform_confirmation_wrapper {
    text-align: center;
}

.gform_confirmation_message {
    border: 1px dotted #79BAD1;
    border-radius: 3px;
    padding: 20px;
    font-weight: bold;
    display: inline-block;
}

.gfield_description {
    padding: 0 !important;
    line-height: 135% !important;
}

.gform_wrapper.payment span.ginput_product_price_label {
	display: none;
}

.gform_wrapper .top_label .gfield_total .gfield_label {
    display: inline;
    float: left;
    padding-right: 11px;
    margin-top: 3px !important;
}

.gform_wrapper.payment .top_label .gfield_total,
li#field_18_10 {
    border-top: 2px dashed #b7b7b7;
    padding-top: 11px;
    border-bottom: 2px dashed #b7b7b7;
}

li.gfield.credit {
	border: 1px solid #ccc;
    padding: 20px;
    background: white;
    border-radius: 5px;
}

.gform_wrapper .top_label span.ginput_total {
    margin-top: -8px !important;
    display: block;
}


fieldset.gfield--type-creditcard.gfield .ginput_container_creditcard {
    background: #f7f7f7;
    border-radius: 10px;
    box-shadow: 0 0 9px #ddddddc7;
	padding: 25px 35px;
    margin-top: 14px;
}

/*


/* COMMON CLASSES
---------------------------------------------------------------------------------------------------- */


/* Flexbox & Grid
--------------------------------------------- */
.flexbox,
.site-header .wrap,
.footer-widgets .wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;	
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;	
}

.justify-content-center {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;		
}

.justify-content-space-between,
.wp-block-columns.is-style-col-spread {
	 -webkit-box-pack: justify;
 	 -webkit-justify-content: space-between;
	 -ms-flex-pack: justify;
         justify-content: space-between;		
}

.align-items-stretch {
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	-ms-grid-row-align: stretch;
	align-items: stretch;		
}

.align-items-center,
.site-header .wrap {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;		
}


.align-items-start,
.align-items-start.is-layout-flex,
.is-layout-flex.wp-block-buttons:not(.is-content-justification-center) {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;	
}

.flex-direction-column {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

.flex-1,
.footer-widget-area {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;		
}


.flex-gap,
.gap {
	grid-gap: 1em;
	gap: 1em;
}

.flex-gap-lg,
.gap-lg {
	grid-gap: 2em;
	gap: 2em;
}

.col-3 .flex-item {
	-webkit-box-flex: 3;
	-ms-flex: 3 1 350px;
	  flex: 3 1 350px;
}

.grid {
	display: -ms-grid;
	display: grid;	
}

.grid.col-3,
.grid.col-4  {
	/*
	-ms-grid-columns: (minmax(355px, 1fr))[auto-fit];
	grid-template-columns: repeat(auto-fit, minmax(355px, 1fr));	
	*/
	grid-template-columns: 1fr;
}


/* Styling classes
--------------------------------------------- */

.overflow {
	overflow: auto;
}

.position-relative {
	position: relative;
}

.no-margin {
	margin: 0 !important;
}

.wp-block-group.no-margin > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.margin-auto {
	margin-left: auto !important;
	margin-right: auto !important;
}

.margin-top-auto {
	margin-top: auto; /*for flexbox*/
}

.margin-left-auto {
	margin-left: auto; /* for flexbox */
}

.padding-sm {
    padding: var(--wp--preset--spacing--small);
}

.padding-medium {
    padding: var(--wp--preset--spacing--medium);
}

.padding-lg {
    padding: var(--wp--preset--spacing--large);
}

.no-padding {
	padding: 0 !important;
}


/* Avatar
--------------------------------------------- */

.avatar {
	border-radius: 50%;
	/* float: left; Removed because it messed with the menu avatar, and currently we don't use other avatars. */
}

.author-box .avatar,
.alignleft .avatar {
	margin-right: 20px;
}

.alignright .avatar {
	margin-left: 20px;
}

.comment .avatar {
	margin: 0 15px 20px 0;
}

/* Genesis
--------------------------------------------- */


.after-entry,
.archive-description,
.author-box {
	margin-bottom: 40px;
}

.after-entry {
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
	padding: 20px 30px;
}

.after-entry .widget:last-of-type {
	margin-bottom: 0;
}

.breadcrumb {
	border-bottom: 1px solid #eee;
	font-size: 16px;
	margin-bottom: 40px;
	padding-bottom: 10px;
}

.genesis-title-hidden .breadcrumb {
	margin-top: 40px;
}

.archive-description p:last-child,
.author-box p:last-child {
	margin-bottom: 0;
}

/* Search Form
--------------------------------------------- */

.search-form {
	overflow: hidden;
}

.entry-content .search-form {
	margin-bottom: 40px;
	width: 50%;
}

.post-password-form input[type="submit"],
.search-form input[type="submit"] {
	margin-top: 10px;
}

.widget_search input[type="submit"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* Search block */

.wp-block-search__inside-wrapper {
    position: relative;
    max-width: 600px;
	margin: auto;
 }

.wp-block-search__inside-wrapper:after {
    content: '\f002';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    position: absolute;
    right: 16px;
    top: 5px;
    color: var(--wp--preset--color--blue);
}


.wp-block-search__input {
	max-width: 600px;
	margin: auto;	
    padding: 9px 5px 9px 20px;
	border: 1px solid #949494;
	border-radius: 9999px;
	background: #fff;
}

.search-blue-bg .wp-block-search__input {
	border: 0;
}

/* WordPress
--------------------------------------------- */

a.aligncenter img {
	display: block;
	margin: 0 auto;
}

a.alignnone {
	display: inline-block;
}

.alignleft {
	float: left;
	text-align: left;
}

.alignright {
	float: right;
	text-align: right;
}

a.alignleft,
a.alignnone,
a.alignright {
	max-width: 100%;
}

img.centered,
.aligncenter,
.singular-image {
	display: block;
	margin: 0 auto 30px;
}

img.alignnone,
.alignnone {
	margin-bottom: 15px;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 20px 20px 0;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
	margin: 0 0 20px 20px;
}

figcaption,
.gallery-caption,
.wp-caption-text {
	font-size: 14px;
	font-weight: 600;
	margin-top: 0.5em;
	margin-bottom: 1em;
	padding-left: 10px;
	padding-right: 10px;
	text-align: center;
}

.entry-content p.wp-caption-text {
	margin-bottom: 0;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
	margin: 0 0 30px;
}

.page-template-page_portfolios .wp-caption-text {
   	display: block;
}

.blocks-gallery-grid .blocks-gallery-image figcaption, .blocks-gallery-grid .blocks-gallery-item figcaption, .wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption {
    padding-top: .77em;
}

/* 404
--------------------------------------------- */
.error404 main#genesis-content {
    min-height: 80vh;
    padding-top: 3em;
}


/* SITE CONTAINER
---------------------------------------------------------------------------------------------------- */

/* Site Container
--------------------------------------------- */

.site-container {
	width: 100%; 
	max-width: 2560px;
	overflow: hidden;
	margin: auto;
	-webkit-animation: fadein 1s;
	animation: fadein 1s; 
	word-wrap: break-word;
}

@keyframes fadein {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@-webkit-keyframes fadein {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.admin-bar .site-container {
	margin-top: 46px;
}

/* Combats FOUC with GSAP */
.hero p,
.hero h1,
.hero h2,
.hero h3,
.hero h4,
.hero .wp-block-button {
	visibility: hidden;
}

/* Site Inner
--------------------------------------------- */

.site-inner {
	clear: both;
	margin: 0 auto;
}


/* SITE HEADER
---------------------------------------------------------------------------------------------------- */

.site-header {
	background-color: #fff;
	padding: 2px var(--wp--preset--spacing--small);
}

.scroll.site-header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9;
}

.site-header > .wrap {
	width: 100%;
    max-width: calc( 1440px - 30px);
	margin: auto;
    padding: 0;
}

.site-title {
	line-height: 1;
	margin-bottom: 0;
}

.site-title a {
	display: block;
	width: 42px;
    height: 45px;
	background: url('../png/logo-border.png') no-repeat;	
	background-size: contain;
	color: transparent !important;
	transition: .2s width ease-in-out, .2s height ease-in-out;
	position: relative;
	z-index: 99999;
}

.site-title a,
.site-title a:focus,
.site-title a:hover {
	text-decoration: none;	
}

.site-description,
.wp-custom-logo .site-title {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.admin-bar .scroll.site-header {
    top: 32px;
}

/* NAVIGATION
---------------------------------------------------------------------------------------------------- */

.menu a {
	color: var(--wp--preset--color--black);
	display: block;
	outline-offset: -1px;
	padding-bottom: 12px;
	text-decoration: none;
}

.menu a:focus,
.menu a:hover,
.menu-item a:hover,
.menu-item a:focus,
.current-menu-item > a,
.sub-menu .current-menu-item > a:focus,
.sub-menu .current-menu-item > a:hover {
	color: var(--wp--preset--color--blue) !important; /* important needed to override Elementor */
	text-decoration: none;
}

.sub-menu {
	padding-left: 15px;
}

li.menu-item a span svg {
    padding-top: 4px;
}

/* Accessible dropdowns */
button.button-toggle-sub-menu {
    background: transparent;
	border: 0;
    padding: 5px;
    margin-left: -12px;
	width: 13px;
	color: var(--wp--preset--color--black);	
}

body:not(.logged-in) .nav-primary .genesis-nav-menu .menu-button a {
	padding: 0;
}

.menu-highlight a {
	background: #d20178;
	border-radius: 3px;
	color: #fff;
	padding: 10px 16px;
}

.my-account-menu a {
    box-shadow: inset 0px 0px 0px 2px;
    border-radius: 3px;
}

.logged-in li.menu-logged-out {
	display: none;
}

body:not(.logged-in) .menu-logged-in {
	display: none;
}

header:not(.logged-in) .menu-logged-in {
	display: none;
}


.account-avatar {
    background: var(--wp--preset--color--blue);
    display: flex;
    border-radius: 100%;
    width: 43px;
    height: 40px;
    font-size: 17px;
    font-weight: bold;
    color: #fff;
    align-items: center;
    justify-content: center;
}



.menu-item.avatar > a {
    padding-bottom: 0;
    padding-top: 0;
}

.menu-item.avatar a:after {
	display: none;
}

.hidden {
	display: none;
}



/* Responsive Menu
--------------------------------------------- */

.site-container.mobile-nav-active {
    height: 100vh;
    overflow: hidden;
}

.mobile-menu-wrap {
	position: fixed;
	overflow: scroll;
    z-index: 9999;
    width: 100%;
    height: 100%;
    height: 100vh;
    left: 0;
    top: 0;
	background: #fff;
    padding: var(--wp--preset--spacing--medium);
	-webkit-transform: translateX(-100%); 
	-ms-transform: translateX(-100%);	
	transform: translateX(-100%);
	transition: .2s all ease-in-out;	
}

.mobile-nav-active .mobile-menu-wrap {
	-webkit-transform: translateX(0%); 
	-ms-transform: translateX(0%);	
	transform: translateX(0%);
}

body:not(.logged-in) .genesis-nav-menu.responsive-menu .menu-button a span {
		background-color: var(--wp--preset--color--pink);
	}

/* Menu toggle 
 *----------------------*/

.menu-toggle {
	position: relative;
	display: block;
	width: 30px;
	height: 20px;
	z-index: 10000;
    margin: 0 0 0 auto;
    padding: 0;	
	background: transparent;
	border: 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	cursor: pointer;	
}

.menu-toggle:focus,
.menu-toggle:hover {
	background: transparent;
}

.menu-toggle span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: var(--wp--preset--color--blue);
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;	
}

.menu-toggle span:nth-child(1) {
  top: 0px;
}

.menu-toggle span:nth-child(2), .menu-toggle span:nth-child(3) {
  top: 10px;
}

.menu-toggle span:nth-child(4) {
  top: 20px;
}

.mobile-nav-active .menu-toggle span:nth-child(1) {
  top: 10px;
  width: 0%;
  left: 50%;
}

.mobile-nav-active .menu-toggle span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mobile-nav-active .menu-toggle span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.mobile-nav-active .menu-toggle span:nth-child(4) {
  top: 10px;
  width: 0%;
  left: 50%;
}

/* Mobile nav 
 *-----------------------*/

nav.mobile-menu-wrap .mobile-menu { /* move menu down so you can click the menu toggle without accidentally tapping a menu link*/
    margin-top: 6em;
}

.mobile-menu-wrap .mobile-menu .menu-item {
	opacity: 0;
	transform: translate(-10px);
	transition: transform 1s, opacity 2s;
	margin-bottom: 1em;
	font-weight: bold;
	font-size: 1.6rem;
}

.mobile-nav-active .mobile-menu .menu-item {
	transform: translate(15px);
	opacity: 1;
}


/* Mobile sub-menu 
 *----------------------*/
.mobile-nav-active .mobile-menu .menu-item.menu-item-has-children > a > svg,
.mobile-menu-wrap .sub-menu {
	display: none;
}

.mobile-menu .menu-item-has-children > a:after {
    content: '+';
    padding-left: 15px;
}

.mobile-menu .menu-item-has-children.submenu-expanded > a:after {
    content: "-";
}


/* Desktop menu
--------------------------------------------- */

.nav-primary,
.woocommerce .nav-primary {
	clear: left;
	width: 100%;
	display: none;
}


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

.site-footer {
	clear: both;
	padding: 0 var(--wp--preset--spacing--small) var(--wp--preset--spacing--small);
}

.footer-widgets .wrap {
	padding: var(--wp--preset--spacing--medium) 0;
}

.footer-widget-area {
	min-width: 200px;
}

.site-footer a,
.footer-widgets a {
	color: #000;
}

.site-footer a:hover,
.site-footer a:focus,
.footer-widgets a:hover,
.footer-widgets a:focus {
	color: var(--wp--preset--color--blue);
}

.footer-widgets li.menu-item a {
	padding-bottom: 3px;
}


/* CONTENT AREA
---------------------------------------------------------------------------------------------------- */


/* Entry Content
--------------------------------------------- */

.entry-content code {
	background-color: #f5f5f5;
}

.content .sticky {
	background-color: #f5f5f5;
	padding: 30px;
}

/* Entry Meta
--------------------------------------------- */

.entry-header .entry-meta {
	margin-bottom: 20px;
}

.entry-footer .entry-meta {
	border-top: 1px solid #eee;
	padding-top: 20px;
}

.entry-categories,
.entry-tags {
	display: block;
}

.entry-comments-link::before {
	content: "\2014";
	margin: 0 6px 0 2px;
}

/* Pagination
--------------------------------------------- */

.pagination {
	clear: both;
	margin: 60px 0;
}

.adjacent-entry-pagination {
	margin-bottom: 0;
}

.archive-pagination li {
	display: inline;
}

.archive-pagination li a {
	background-color: #f5f5f5;
	color: var(--wp--preset--color--black);
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 4px;
	padding: 8px 12px;
	text-decoration: none;
}

.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination li.active a {
	background-color: var(--wp--preset--color--black);
	color: #fff;
}

/* Entry Comments
--------------------------------------------- */

.comment-respond,
.entry-comments,
.entry-pings {
	font-size: 18px;
	font-size: 1.8rem;
	margin-bottom: 40px;
}

.comment-list li {
	padding: 40px 0 0 30px;
}

.comment-list .depth-1 {
	padding-left: 0;
}

.comment-header {
	margin-bottom: 30px;
}

.comment-content {
	clear: both;
}

.comment-content ul > li {
	list-style-type: disc;
}

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
	width: 50%;
}

.comment-respond label {
	display: block;
	margin-right: 12px;
}

.comment-header p {
	margin-bottom: 0;
}

.entry-pings .reply {
	display: none;
}


/* Widgets
--------------------------------------------- */



/* BLOCKS
------------------------------------------------------------------------------------------------------- */

/* Widths & default padding
--------------------------------------------- */

body:not(.elementor-page) .site-inner .wrap,
.site-footer .wrap,
.wp-block-cover__inner-container,
.wp-block-group,
.wp-block-columns,
.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container {
	max-width: var(--wp--style--global--content-size);
	width: 100%;
	margin: auto;
}


body:not(.elementor-page) .site-inner .wrap,
.wp-block-cover__inner-container,
.alignfull.is-layout-flow > .wp-block-group,
.alignfull.is-layout-flow > .wp-block-columns,
.alignfull.is-layout-constrained {
	padding: 0 var(--wp--preset--spacing--small);
}


.alignfull,
.alignfull.wp-block-image,
.alignfull.blocks-gallery-grid,
.page-template-default .entry-header {
	margin: 0 calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

.narrow,
body .is-layout-constrained > .narrow {
    max-width: 700px;
}

.narrow:not(.has-text-align-center),
body .is-layout-constrained > .narrow:not(.has-text-align-center) {
	margin-left: 0 !important;
	margin-right: 0 !important;	
}

.x-narrow,
body .is-layout-constrained > .x-narrow {
	max-width: 450px;
	margin-left: 0 !important;
	margin-right: 0 !important;
}


.narrow.has-text-align-center,
.x-narrow.has-text-align-center,
.centered {
	margin-left: auto;
	margin-right: auto;
}


/* Page Headers
--------------------------------------------- */
.page-template-page_contact .entry-header,
.page-template-default .entry-header,
.entry-header.styled-header,
.blue-entry-header .entry-header,
.entry-header.gradient-header {
    background: rgb(12,191,242);
    background: linear-gradient(98deg, #725EED 25.15%, #0DBFF2 81.88%);
    color: #fff;
    padding: 4em 25px;
    margin-bottom: 2em;
}

.blue-entry-header .entry-header,
.entry-header.styled-header,
.entry-header.gradient-header {
    width: 100vw;
    max-width: 100vw;
    margin: 0 calc(50% - 50vw) 2em;
}

.entry-title a {
	color: var(--wp--preset--color--black);
	text-decoration: none;
}

.entry-title a:focus,
.entry-title a:hover {
	color: var(--wp--preset--color--black);
}

h1.entry-title {
	font-size: var(--wp--preset--font-size--46);
	text-align: center;
	font-weight: 500;
	font-family: var(--wp--preset--font-family--secondary);
}


/* Media-text 
-------------------------*/

.wp-block-media-text.has-background .wp-block-media-text__content {
    padding: var(--wp--preset--spacing--small);
}


/* Columns block
-------------------------*/

.wp-block-columns + .wp-block-columns,
.wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-column:not(:first-of-type) {
    margin-top: 1em;
}
	
/* Columns with no space between cols */
.wp-block-columns.is-style-col-no-space {
	gap: 0;
}

.wp-block-columns.is-style-col-no-space .wp-block-column {
	margin: 0 !important;
}

/* Not stacked on mobile */
.wp-block-columns.is-not-stacked-on-mobile .wp-block-column:not(:first-of-type) {
    margin-left: 1em;
}


/* Gallery block
--------------------------------------------- */

ul.blocks-gallery-grid,
.wp-block-image {
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-gallery .blocks-gallery-item figure {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;		
}

ul.blocks-gallery-grid {
	margin: 0 !important;
}

.wp-block-gallery.grad-logos .blocks-gallery-item img {
	max-width: 50%;
}


/* Custom spacer style */
.is-style-horizontal-spacer {
	width: 1.5rem;
}

/* Custom group style -- rounded corners with shadow */
.is-style-rounded-corners,
.is-style-rounded-corners-shadow,
.rounded-corners-shadow {
	background: #fff;
	padding: 2.75rem 1.425rem;
	margin: 1rem;
	border-radius: 35px;	
}

.rounded-corners {
	border-radius: 35px;
}

@media screen and (max-width: 1024px) {
	
	.is-style-rounded-corners,
	.is-style-rounded-corners-shadow,
	.rounded-corners-shadow {
		min-width: 250px; /* for objects in flex */
	}

}

.rounded-corners.wp-block-cover,
.rounded-corners.wp-block-media-text {
	overflow: hidden;
}

.is-style-rounded-corners-shadow,
.rounded-corners-shadow {
	box-shadow: 0 0 25px #ddd;
}

.is-style-rounded-corners-shadow.dk-shadow {
	box-shadow: 0 0 25px rgb(0 0 0 / 0.25);
}

.is-style-rounded-corners-shadow > *,
.rounded-corners-shadow > * { /* Creates wider padding look for bigger boxes */
    max-width: 450px;
    margin-left: auto;
	margin-right: auto;
}

.rounded-sm.is-style-rounded-corners,
.rounded-sm.is-style-rounded-corners-shadow {
	border-radius: 25px !important;
}

/* Cover block
--------------------------------------------- */
.wp-block-cover, 
.wp-block-cover-image,
/* Cover blocks inside a column (with no padding) don't have extra padding (ie, a column with an image background won't have more padding than the other columns). */
.wp-block-column.no-padding .wp-block-cover__inner-container {
	padding: 0;
}

/* Allow bottom/left positioning for cover blocks */
.wp-block-cover.is-position-top-left.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-top-right.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-top-center.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-bottom-center.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-bottom-left.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.is-position-bottom-right.has-custom-content-position .wp-block-cover__inner-container {
	margin: 0 auto;
}


/* When cover blocks have zero opacity, the color is a background. */
.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0 {
    opacity: 1;
    z-index: 0;
}

/* Custom cover style -- Make image contain, not cover */
.wp-block-cover.is-style-cover-contain-top img.wp-block-cover__image-background,
.wp-block-cover.is-style-cover-contain-bottom img.wp-block-cover__image-background,
.wp-block-cover.is-style-cover-left img.wp-block-cover__image-background,
.wp-block-cover.is-style-cover-right img.wp-block-cover__image-background {
    -o-object-fit: contain;
    object-fit: contain;
}

.wp-block-cover.is-style-cover-contain-top img.wp-block-cover__image-background {
    -o-object-position: 0 0 !important;
    object-position: 0 0 !important;	
    top: 0;
    bottom: auto;	
}

.wp-block-cover.is-style-cover-contain-bottom img.wp-block-cover__image-background {
    -o-object-position: 0 100% !important;
    object-position: 0 100% !important;		
}

.wp-block-cover.is-style-cover-left img.wp-block-cover__image-background {
	-o-object-position: top left;
    object-position: top left;
}

.wp-block-cover.is-style-cover-right img.wp-block-cover__image-background {
	-o-object-position: top right;
    object-position: top right;
}


/* Social Links
--------------------------------------------- */

ul.wp-block-social-links {
	margin: 0;
}


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


/* SVG */
.svg-img.aligncenter {
    text-align: center;
}


/* Custom spacer
--------------------------------------------- */

.wp-block-spacer.spacer-xsmall-height {
    height: 1rem;
}

.wp-block-spacer.spacer-small-height {
    height: var(--wp--preset--spacing--small);
}

.wp-block-spacer.spacer-medium-height {
    height: var(--wp--preset--spacing--medium);
}

.wp-block-spacer.spacer-large-height {
    height: var(--wp--preset--spacing--large);
}

.wp-block-spacer.spacer-xlarge-height {
    height: clamp(8rem, 8vw, 12rem);
}


/* Custom spacer style */
.is-style-horizontal-spacer {
	width: 1.5rem;
}

/* Custom group style -- rounded corners with shadow */
.is-style-rounded-corners,
.is-style-rounded-corners-shadow,
.rounded-corners-shadow {
	background: #fff;
	padding: 2.75rem 1.425rem;
	margin: 1rem;
	border-radius: 45px;	
}

.rounded-corners {
	border-radius: 45px;
}

.rounded-corners.wp-block-cover,
.rounded-corners.wp-block-media-text {
	overflow: hidden;
}

.is-style-rounded-corners-shadow,
.rounded-corners-shadow {
	box-shadow: 0 0 25px #ddd;
}

.is-style-rounded-corners-shadow.dk-shadow {
	box-shadow: 0 0 25px rgb(0 0 0 / 0.25);
}

.is-style-rounded-corners-shadow > *,
.rounded-corners-shadow > * { /* Creates wider padding look for bigger boxes */
    max-width: 450px;
    margin-left: auto;
	margin-right: auto;
}

.rounded-sm.is-style-rounded-corners,
.rounded-sm.is-style-rounded-corners-shadow {
	border-radius: 25px !important;
}

.max-width-1140 {
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
}


/* ## Custom Blocks
--------------------------------------------- */

/* Large button with icon block */

.lg-button-dark {
	width: 22%;
	width: calc(25% - 10px);
	float: left;
	-webkit-flex-basis: calc(25% - 10px);
	-ms-flex-preferred-size: calc(25% - 10px);
	flex-basis: calc(25% - 10px);
	margin: 5px;
}

.lg-button-dark a {
	display: block;
	height: 100%;
	width: 100%;
	padding: 45px 15px;
	color: #fff;
	background: #444;
	font-weight: bold;
	font-size: 1.4rem;
	text-align: center;	
}

.lg-button-dark i {
	padding-right: 5px;
	color: var(--wp--preset--color--blue);
}

.lg-button-white {
	margin: 5px;	
	border: 3px solid var(--wp--preset--color--blue);		  
	text-align: center;
}

.lg-button-white:hover,
.lg-button-white:focus {
	box-shadow: 0 0 10px #cccccc;
}

.lg-button-white a {
	display: block;
	padding: 25px;	
	color: #111;	
	font-weight: bold;
	font-size: 1.2rem;
}

.lg-button-white i {
	display: block;
	padding-bottom: 10px;	
	color: #F71277;
	font-size: 4rem;
}

.wp-block-button.radius-corners .wp-element-button {
	border-radius: 10px;
    padding: 5px 26px;
	font-size: inherit;
}

/* Accordion Block (plugin) */

.c-accordion__title {
    font-size: inherit;
    font-family: inherit;
    font-weight: bold;
    text-align: left;
    padding: 5px 0;
}

.c-accordion__title[aria-expanded="true"] {
    color: var(--color-blue);
}

#accordion {
	font-family: inherit;
}
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
	font-weight: bold;
	color: var(--color-blue);
}
.ui-widget-content {
	box-shadow: 0 10px 10px -10px #DDDDDD inset;
	-webkit-box-shadow: 0 10px 10px -10px #DDDDDD inset;
	font-size: 13px;
	line-height: 1.7em;
}

.faq-lg {
    margin-bottom: 20px;
    border-radius: 20px;
    box-shadow: 0 0 14px #dddddd91;
    padding: 15px 20px;
}

.faq-lg .c-accordion__title {
    margin: 0;
    font-size: 18px;
}

.faq-lg .c-accordion__title:after {
	color: var(--wp--preset--color--pink);
}



/* Anchor subheaders (course instructions pages) */
.anchor-subheaders.alignfull {
    margin-top: 4em;
    margin-bottom: 2em;
    padding-top: 25px;
    padding-bottom: 25px;
    background: #eee;
    color: var(--wp--preset--color--blue);
}

.anchor-subheaders i {
    float: left;
    font-size: 36px;
    margin-right: 18px;
}

.anchor-subtitle {
	text-align: left;
    margin: 0;	
}

/* Teacher blocks */

.teacher {
	min-width: 195px;
	max-width: 250px;
}

.teacher-bio .teacher-pic {
	max-width: 200px;
}

.teacher-pic {
	border-radius: 50%;
	max-width: 150px;
	margin: auto;
}

.teacher-bio {
	display: none;
}

/* Lightbox popup blocks */
.popup-box .popup-content,
.popup-content.lg {
	display: none;
}

.featherlight-content .popup-content.lg {
	display: block;
}

.popup-link { 
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
}

.popup-text a {
	color: #000;
	text-decoration: underline;
}

.help_topic {
	box-shadow: 0px 4px 15px rgb(40 44 53 / 6%), 0px 2px 2px rgb(40 44 53 / 6%);
	color: #000;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 3em 35px;
    border-radius: 20px;
}

.help_topic h6 {
	font-size: 18px;
}


.help_topic:hover,
.help_topic:focus,
.help_topic.topic-pressed,
.help-topic-questions li a:hover,
.help-topic-questions li a:focus {
	box-shadow: 0px 0px 8px 5px rgb(115 213 255 / 20%);
	color: #000;
}

.help_topic:hover h6,
.help_topic:focus h6,
.help_topic.topic-pressed h6 {
	color: var(--wp--preset--color--blue);
}


#topic-list,
#article-text {
    margin-top: 4em;
}

.help-topic-questions li a {
	box-shadow: 0px 4px 15px rgb(40 44 53 / 6%), 0px 2px 2px rgb(40 44 53 / 6%);
    border-radius: 10px;	
    color: #000;	
    display: block;
    font-size: 14px;
	height: 100%;
    letter-spacing: .25px;	
    line-height: 1.3;
    padding: 24px;	
    text-align: left;
	
	display: flex;
    align-items: center;
}

.article-pressed {
	background: var(--topic-color);
	color: #fff !important;
}

.account-pages {
	background: #e6feff;
	padding: 0;
}

.account-pages a {
	padding: 20px;
	text-align: center;
	color: #000;
	font-weight: bold;
}

/* Help box topics */

.help-topic-box {
    background: #fff;
    padding: 45px 35px 35px;
    border-radius: 20px;
	box-shadow: 0px 0px 25px #DDDDDD;
}

.help-box-icon {
    fill: var(--wp--preset--color--pink);
    width: 30px;
	height: 55px;
	margin-bottom: 14px;
}

.entry-content ul.help-box-list {
    margin-left: 16px;
}


.new-account .course-registered {
	background: #fff;
	border-color: #f5f5f5;
	padding: 20px;
	box-shadow: 0 0 8px 0px #e6e6e6;
}

.course-registered-icon {
	border-radius: 3px;
    border: 5px solid #E7F9FE;
    margin: 0 0 18px 0;
}

.course-registered .course-label {
	padding: 3px 7px;
	margin-left: 5px;
}



/* Accordion Block (plugin) */
.c-accordion__title {
    font-size: inherit;
    font-family: inherit;
    font-weight: bold;
    text-align: left;
    padding: 5px 0;
}

.c-accordion__title[aria-expanded="true"] {
    color: var(--color-blue);
}


/* Misc.
---------------------------------------------------------------------------------------------------- */

.alert_box {
	padding: 15px;
	border: 1px dashed var(--color-blue);
	background: #f5f5f5;
	border-radius: 2px;
}

/* MEDIA QUERIES
 * Theme uses min-width for responsive styling. There are some max-width queries to more easily 
 * overwrite the core Gutenberg styles.
---------------------------------------------------------------------------------------------------- */
	
@media only screen and (max-width: 600px) {
	
	/* Safari ~13 doesn't support gap for flexbox, but WP 6.0 has it. Removing and replacing. */
	.wp-block-buttons {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.wp-block-button + .wp-block-button {
		margin: .5em 0 0 0;
	}
	
}

@media only screen and (min-width: 768px) {
	
	.grid.col-3,
	.grid.col-4  {
		grid-template-columns: 1fr 1fr;
	}
	
	.admin-bar .site-container {
		margin-top: 32px;
	}
	
	
}



/* Columns & media-text collapse -- Gutenberg default is to collapse at 600
 * ---------------------------------------------------------------------------*/
@media only screen and (max-width: 959px) {
	
	/* Media-text blocks
	 *------------------------------------*/
	.wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100%!important;
	}

	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media, .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 1;
	}
	
	/* Constrict media to specific height */
	.wp-block-media-text.is-image-fill .wp-block-media-text__media {
		height: 100%;
		min-height: 250px;
		background-size: cover;
	}
	
	/* All media should appear before content */
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 2;
	}
	
	/* Columns 
	 * --------------------------- */
	 
	.wp-block-columns {
		flex-wrap: wrap !important;
	}	
	
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 100%!important;
	}	
	
	.wp-block-column:nth-child(2n) { /* combats Gutenberg default */
		margin-left: 0 !important;
	}	
	
	.alignfull > .wp-block-columns.col-no-padding {
		padding: 0 var(--wp--preset--spacing--small);
	}
	
	.wp-block-column.no-padding:not(:last-child) {
		padding-top: var(--wp--preset--spacing--small) !important;
	}	
		
	/* Accordion plugin */
	.ui-accordion .ui-accordion-header, .faq .entry-header, .which-course .entry-header, .which-course .alert_box { width: 788px; }
	.ui-accordion .ui-accordion-content { width: 795px; padding: 1em 1.2em !important; }
	
	.gallery .gallery-item { width: auto; }
	
	.project_desc {
		padding:1.3em;
	}
	
	.ui-accordion .ui-accordion-header, .faq .entry-header, .which-course .entry-header, .which-course .alert_box { width: 717px; }
	
	.ui-accordion .ui-accordion-content { width: 724px; padding: 1em 1.2em !important; }
	
}

@media only screen and (min-width: 960px) {
	
	.site-header {
		height: 55px;
		display: flex;
	}
	
	.site-header > .wrap {
		padding-right: 20px;
	}
	
	.site-title a {
		position: absolute;	
		width: 84px;
		height: 90px;	
		margin-left: 3em;
		margin-top: -19px;		
	}
	
	/* Switch margins */
	.wp-block-columns .wp-block-column:not(:first-of-type),
	.wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-column:not(:first-of-type) {
		margin-top: 0;
		margin-left: 1em;
	}	
		
}


/* Nav changes
 * ---------------------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
	
	.desktop {
		display: none;
	}
		
	/* Add class to elements that should be full width on mobile */
	.alignfull-mobile:not(.wp-block-image) {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding: var(--wp--preset--spacing--small);
	}
	
	/* Image needs its own styling for full-width on mobile*/
	figure.alignfull-mobile img {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding: 0;
	}

}


@media only screen and (min-width: 790px) {
	
	.mobile {
		display: block;
	}
	
		
	/* Flexbox & Grid */
	.grid.col-3 {
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	.grid.col-4  {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
	

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

	.site-header {
		width: 100%;
		z-index: 9999;
		transition: .2s top ease-in-out;
		height: auto;
		padding: .25em 3em;
	}
	
	.scroll .site-title a {
		position: relative;
		width: 53px;
		height: 55px;
		margin-top: 0;
	}

	/* Responsive Menu
	--------------------------------------------- */

	.menu-toggle,
	.sub-menu-toggle {
		display: none;
		visibility: hidden;
	}

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

	.nav-primary,
	.woocommerce .nav-primary {
		width: auto;
		
		
		
		
		
		margin-left: auto;
		display: block;
	}
	
	.nav-primary .menu-item,
	.nav-primary .menu-item	a {
		position: relative;
		z-index: 9;
		display: inline-block;
		font-weight: bold;
		font-size: 1.6rem;
		color: var(--wp--preset--color--black);
	}
	
	.nav-primary .menu-item:focus,
	.nav-primary .menu-item:hover {
		position: relative;
	}	

	.nav-primary a {
		padding: 15px;
	}
	
	/* Submenus behave differently on desktop primary menu */
	.nav-primary .menu-item:hover > .sub-menu,
	.nav-primary .menu-item:focus > .sub-menu, 
	.nav-primary .menu-item.submenu-expanded > .sub-menu {
		left: auto;
		opacity: 1;
		display: block !important;
		z-index: 1;
	}

	.nav-primary .sub-menu,
	.nav-primary .sub-menu a {
		width: 280px;
	
	}

	.nav-primary .sub-menu {
		opacity: 0;
		padding-left: 0;
		position: absolute;
		transition: opacity .4s ease-in-out;
		background: #fff;		
		clear: both;
		left: -9999px;
		margin: 0;		
	}
	

	.nav-primary .sub-menu a {
		border: 1px solid #eee;
		border-top: 0;
		padding-bottom: 15px;
		padding-top: 15px;
	}

	.nav-primary .sub-menu .sub-menu {
		margin: -46px 0 0 179px;
	}	


	/* Content
	--------------------------------------------- */

	.content {
		float: left;
		width: 65%;
	}

	.sidebar-content .content {
		float: right;
	}

	.full-width-content .content,
	.landing-page .content {
		float: none;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	

	/* Sidebar
	--------------------------------------------- */

	.sidebar {
		float: right;
		width: 30%;
	}

	.sidebar-content .sidebar {
		float: left;
	}

	/* Author Box
	--------------------------------------------- */

	.author-box {
		background-color: #f5f5f5;
		padding: 30px;
	}

	/* After Entry
	--------------------------------------------- */

	.after-entry {
		padding: 40px 60px;
	}

	/* Entry Misc.
	--------------------------------------------- */

	.after-entry,
	.archive-description,
	.author-box,
	.comment-respond,
	.entry-comments,
	.entry-pings {
		margin-bottom: 60px;
	}

	/* Rounded corners */
	
	.rounded-corners,
	.is-style-rounded-corners, 
	.is-style-rounded-corners-shadow, 
	.rounded-corners-shadow {
		border-radius: 45px;
	}
}


/* Make max-width wider for large screens */
@media only screen and (min-width: 1919px) {
	
	
}

/* Print Styles
---------------------------------------------------------------------------------------------------- */

@media print {

	*,
	*::before,
	*::after {
		background: transparent !important;
		box-shadow: none !important;
		color: var(--wp--preset--color--black) !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]::after {
		content: " (" attr(href) ")";
	}

	abbr[title]::after {
		content: " (" attr(title) ")";
	}

	a[href^="javascript:"]::after,
	a[href^="#"]::after,
	.site-title > a::after {
		content: "";
	}

	thead {
		display: table-header-group;
	}

	img,
	tr {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 2cm 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	blockquote,
	pre {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	.content,
	.content-sidebar {
		width: 100%;
	}

	button,
	input,
	select,
	textarea,
	.breadcrumb,
	.comment-edit-link,
	.comment-form,
	.comment-list .reply a,
	.comment-reply-title,
	.edit-link,
	.entry-comments-link,
	.entry-footer,
	.genesis-box,
	.header-widget-area,
	.hidden-print,
	.home-top,
	.nav-primary,
	.nav-secondary,
	.post-edit-link,
	.sidebar {
		display: none !important;
	}

	.title-area {
		text-align: center;
		width: 100%;
	}

	.site-title > a {
		margin: 0;
		text-decoration: none;
		text-indent: 0;
	}

	.site-inner {
		padding-top: 0;
		position: relative;
		top: -100px;
	}

	.author-box {
		margin-bottom: 0;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		orphans: 3;
		page-break-after: avoid;
		page-break-inside: avoid;
		widows: 3;
	}


	img {
		page-break-after: avoid;
		page-break-inside: avoid;
	}

	blockquote,
	pre,
	table {
		page-break-inside: avoid;
	}

	dl,
	ol,
	ul {
		page-break-before: avoid;
	}

}
.mobile-nav-active .mobile-menu-wrap {
    margin-top: 48px;
}


