/*
 * Shared styles -- dashboard and front end
 * Responsive breakpoints: 600, 768, 960, 1280
 */
 
:root :where(.is-layout-constrained) > * {
	margin-block-start: 0;
}

:root :where(.is-layout-flex) {
    gap: var(--wp--preset--spacing--small);
}


/* Font imports
--------------------------------------------- */

@import url("https://p.typekit.net/p.css?s=1&k=owc3sfl&ht=tk&f=42534.59830.59831.59834.59836.59837.59838.59839&a=153519663&app=typekit&e=css");

@font-face {
font-family:"Ivymode";
src:url("https://use.typekit.net/af/c59ffc/00000000000000007735ce7b/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/c59ffc/00000000000000007735ce7b/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/c59ffc/00000000000000007735ce7b/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
}

@font-face {
font-family:"Avenir";
src:url("https://use.typekit.net/af/997114/0000000000000000775aa872/31/l?subset_id=2&fvd=i3&v=3") format("woff2"),url("https://use.typekit.net/af/997114/0000000000000000775aa872/31/d?subset_id=2&fvd=i3&v=3") format("woff"),url("https://use.typekit.net/af/997114/0000000000000000775aa872/31/a?subset_id=2&fvd=i3&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:300;font-stretch:normal;
}

@font-face {
font-family:"Avenir";
src:url("https://use.typekit.net/af/0f11da/0000000000000000775aa879/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff2"),url("https://use.typekit.net/af/0f11da/0000000000000000775aa879/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff"),url("https://use.typekit.net/af/0f11da/0000000000000000775aa879/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:300;font-stretch:normal;
}


@font-face {
font-family:"Avenir";
src:url("https://use.typekit.net/af/434a93/0000000000000000775aa877/31/l?subset_id=2&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/434a93/0000000000000000775aa877/31/d?subset_id=2&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/434a93/0000000000000000775aa877/31/a?subset_id=2&fvd=n7&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
}

@font-face {
font-family:"Avenir";
src:url("https://use.typekit.net/af/ff1958/0000000000000000775aa86f/31/l?subset_id=2&fvd=n5&v=3") format("woff2"),url("https://use.typekit.net/af/ff1958/0000000000000000775aa86f/31/d?subset_id=2&fvd=n5&v=3") format("woff"),url("https://use.typekit.net/af/ff1958/0000000000000000775aa86f/31/a?subset_id=2&fvd=n5&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:500;font-stretch:normal;
}

/* Typography
--------------------------------------------- */
.is-style-small-caps {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: clamp(1px, 4vw, 5px);
	text-transform: uppercase;
}

.is-style-large-header,
h1.archive-title,
h1.entry-title {
	font-size: var(--wp--preset--font-size--xlarge);
	font-family: var(--wp--preset--font-family--secondary);
	font-weight: normal;
	line-height: 1;
}

.is-style-med-header {
	font-size: var(--wp--preset--font-size--large);
	font-weight: bold;
	letter-spacing: -1px;
	line-height: 1.1;
}

.has-medium-font-size {
	font-weight: bold;
}

.has-large-font-size {
	line-height: 1.3;
}

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


.wp-block-buttons.is-layout-flex {
	gap: var(--wp--preset--spacing--small);
}

@media (max-width: 600px) {
	.wp-block-buttons.is-layout-flex {
		gap: 10px;
	}
}

input[type="submit"],
input[type="submit"].gform_button,
.wp-block-button .wp-element-button,
.gform_wrapper.gravity-theme .gform_footer .gform_button {
	border-radius: 16px;	
	cursor: pointer;
	display: inline-block;
	font-weight: 900;
	padding: 8px 22px;
	text-decoration: none;
	white-space: normal;
	-webkit-transition: .25s all ease-in-out;
	transition: .25s all ease-in-out;
	
	background-color: var(--wp--preset--color--gold);
	border: 1px solid var(--wp--preset--color--gold);
	color: #fff;

	display: flex;
	align-items: center;
	gap: 8px;
    width:-moz-fit-content; 
	width: fit-content;
}

input[type="submit"]:focus,
input[type="submit"]:hover,
input[type="submit"].gform_button:hover,
input[type="submit"].gform_button:focus,
.wp-block-button .wp-element-button:hover,
.wp-block-button .wp-element-button:focus {
	background-color: var(--wp--preset--color--light-gold);
	border: 1px solid var(--wp--preset--color--light-gold);
	color: #fff;	
}

/* Navy buttons */
.wp-block-button.is-style-navy .wp-element-button {
	background-color: var(--wp--preset--color--navy);
	border: 1px solid var(--wp--preset--color--navy);
	color: #fff; 	
}

.wp-block-button.is-style-navy .wp-element-button:hover, 
.wp-block-button.is-style-navy .wp-element-button:focus {
	background-color: #627892;
	border: 1px solid #627892;
	color: #fff; 	
}

/* White buttons */
.wp-block-button.is-style-white .wp-element-button {
	background-color: #fff;
	border: 1px solid #fff;
	color: var(--wp--preset--color--navy); 	
}

.wp-block-button.is-style-white .wp-element-button:hover, 
.wp-block-button.is-style-white .wp-element-button:focus {
	background-color:  var(--wp--preset--color--gold);
	border: 1px solid  var(--wp--preset--color--gold);
	color: #fff; 	
}

/* Gold Outline Buttons*/
.wp-block-button.is-style-gold-outline .wp-element-button {
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--gold);
	color: var(--wp--preset--color--gold); 	
}

.wp-block-button.is-style-gold-outline .wp-element-button:hover, 
.wp-block-button.is-style-gold-outline .wp-element-button:focus {
	background-color: var(--wp--preset--color--gold);
	border: 1px solid var(--wp--preset--color--gold);
	color: #fff; 	
}

/* White Outline Buttons*/
.wp-block-button.is-style-white-outline .wp-element-button {
	background-color: transparent;
	border: 1px solid #fff;
	color: #fff; 	
}

.wp-block-button.is-style-white-outline .wp-element-button:hover, 
.wp-block-button.is-style-white-outline .wp-element-button:focus {
	background-color: var(--wp--preset--color--gold);
	border: 1px solid var(--wp--preset--color--gold);
}

/* Add arrow to buttons that don't have an image/icon added */
.wp-block-button__link:not(:has(img))::after {
	content: "";
	display: inline-block;
	width: 25px;
	height: 18px;
	margin-left: 8px;
	vertical-align: middle;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='23' viewBox='0 0 32 23' fill='none'%3E%3Cpath d='M31.394 12.1066C31.9798 11.5208 31.9798 10.571 31.394 9.98524L21.8481 0.439297C21.2623 -0.14649 20.3125 -0.14649 19.7267 0.439297C19.1409 1.02508 19.1409 1.97483 19.7267 2.56062L28.212 11.0459L19.7267 19.5312C19.1409 20.117 19.1409 21.0667 19.7267 21.6525C20.3125 22.2383 21.2623 22.2383 21.8481 21.6525L31.394 12.1066ZM0 11.0459V12.5459H30.3333V11.0459V9.5459H0V11.0459Z' fill='black'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='23' viewBox='0 0 32 23' fill='none'%3E%3Cpath d='M31.394 12.1066C31.9798 11.5208 31.9798 10.571 31.394 9.98524L21.8481 0.439297C21.2623 -0.14649 20.3125 -0.14649 19.7267 0.439297C19.1409 1.02508 19.1409 1.97483 19.7267 2.56062L28.212 11.0459L19.7267 19.5312C19.1409 20.117 19.1409 21.0667 19.7267 21.6525C20.3125 22.2383 21.2623 22.2383 21.8481 21.6525L31.394 12.1066ZM0 11.0459V12.5459H30.3333V11.0459V9.5459H0V11.0459Z' fill='black'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}
 
@media only screen and (max-width: 599px) {
	
	/* 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;
	}
	
}


/* Flexbox & Grid
--------------------------------------------- */
.flexbox,
.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 {
	-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;		
}

:where(.is-layout-flex),
.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  {
	grid-template-columns: 1fr;
}

@media only screen and (min-width: 768px) {
	
	.grid.col-3,
	.grid.col-4  {
		grid-template-columns: 1fr 1fr;
	}
	
}

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



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

.overflow {
	overflow: auto;
}

.position-relative {
	position: relative;
}


.z-1 {
	z-index: 1;
}

.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);
}

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

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


.narrow {
    max-width: 700px !important;
	margin-left: 0;
}

.x-narrow {
	max-width: 450px !important;
	margin-left: 0;
}


/* Separator
------------------------------------------ */

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

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

hr.wp-block-separator.is-style-wide {
	width: 100%;
	border-color: rgba(164, 126, 45, 0.50);
}


/* Media-text 
-------------------------*/
.wp-block-media-text .wp-block-media-text__content {
	padding: 0;
}

@media only screen and (max-width: 959px ) {
	
	.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;
	}
	
}

@media only screen and (min-width: 960px ) {
	
	/* Alignfull media-text with content that fits the width */
	.wp-block-media-text.is-style-content-fit .wp-block-media-text__content {
		max-width: calc(var(--wp--style--global--content-size)/2);	
		width: 100%;
	}
	
	.wp-block-media-text.is-style-content-fit.has-media-on-the-right .wp-block-media-text__content {
		justify-self: right;
	}
	
}

/* Columns block
--------------------------------------------------------------------------------------*/
	
/* Columns with no space between cols */
.wp-block-columns.is-style-col-no-space {
	gap: 0;
}

/* Columns with lines */
.wp-block-columns.is-style-col-lines > .wp-block-column:not(:first-of-type) {
	border-top: 1px solid; /* fallback */
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	padding-top: var(--wp--preset--spacing--small);
}


/* Bleed columns */
.wp-block-columns.is-style-bleed-right, 
.wp-block-columns.is-style-bleed-left {
	overflow: visible;
	gap: var(--wp--preset--spacing--xlarge);
}

.wp-block-columns.is-style-bleed-right > .wp-block-column, 
.wp-block-columns.is-style-bleed-left > .wp-block-column {
  	max-width: calc(50% - (var(--wp--preset--spacing--xlarge)/2)); /* col is 50% minus half of gap width */
}

.wp-block-columns.is-style-bleed-right > .wp-block-column:last-child,
.wp-block-columns.is-style-bleed-left > .wp-block-column:first-child {
	flex: 0 0 auto;
	flex-basis: calc(50% + (100vw - 100%) / 2);
	width: auto;
	max-width: none;
}

.wp-block-columns.is-style-bleed-right > .wp-block-column:last-child {
  margin-right: calc((100vw - 100%) / -2);
}

.wp-block-columns.is-style-bleed-left > .wp-block-column:first-child {
  margin-left: calc((100vw - 100%) / -2);
}



/* Columns collapse -- Gutenberg default is to collapse at 600
 * ---------------------------------------------------------------------------*/
@media only screen and (max-width: 959px ) {
	 
	.wp-block-columns {
		flex-wrap: wrap !important;
	}	
	
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 100%!important;
		max-width: 100%;
	}		
	
	.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;
	}	

	.col-flip-mobile .wp-block-column:first-of-type {
		order: 2;
	}
	
}


@media only screen and (min-width: 960px) {

	/* Wide column */
	.wp-block-columns.is-style-col-wide {
		gap: var(--wp--preset--spacing--xlarge);
	}	
	
	/* Columns with lines */
	.wp-block-columns.is-style-col-lines > .wp-block-column:not(:first-of-type) {
		border-left: 1px solid; /* fallback */
		border-left: 1px solid color-mix(in srgb, currentColor 16%, transparent);
		border-top: 0;
		padding-top: 0;
		margin-top: 0;
		padding-left: var(--wp--preset--spacing--medium);
	}
	
}



/* 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;		
}

/* Fix for last element filling entire row */
.wp-block-gallery.has-nested-images > figure.wp-block-image {
  flex-grow: inherit;
}


/* Cover block
--------------------------------------------- */
/* negate Gutenberg default */
.wp-block-cover, 
.wp-block-cover-image { 
	padding: 0;
}

/* Brand blue cover style */
.wp-block-cover.is-style-cover-brand-blue .wp-block-cover__inner-container,
.wp-block-cover.is-style-cover-dark-blue .wp-block-cover__inner-container {
	color: #fff;
}

.wp-block-cover.is-style-cover-brand-blue .wp-block-cover__background {
    background-color: var(--wp--preset--color--navy) !important;
    opacity: .65 !important;
}

.wp-block-cover.is-style-cover-dark-blue .wp-block-cover__background {
    background-color: var(--wp--preset--color--navy) !important;
    opacity: .85 !important;
}

/* 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;
}

/* 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;
}



/* SVG custom block
--------------------------------------------- */

.svg-img.aligncenter {
    text-align: center;
	margin: 0;
}

.svg-img {
	line-height: 0;
}


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

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


/* Swiper/Slider
--------------------------------------------- */

.arrows-outside .swiper-wrapper {
    width: 85% !important;
    margin: auto;
}

.swiper-button-prev, 
.swiper-button-next {
    color: inherit !important;
	-webkit-transform: scale(.5);
    transform: scale(.5);
}

.swiper-pagination-bullet-active {
	background: var(--wp--preset--color--primary) !important;
}

/* Branded lists 
 * ------------------------*/
ul.wp-block-list.is-style-branded-list {
	column-count: 2;
	column-width: 225px;
	margin: 0;
}


ul.wp-block-list.is-style-branded-list li {
    list-style: none;
	margin-bottom: 24px;
	display: flex;
	break-inside: avoid;   /* stop a list item splitting across columns */
    align-items: flex-start;	
}

ul.wp-block-list.is-style-branded-list li:before {
    content: '';
    flex: 0 0 15px;
    height: 15px;
    background: url(/wp-content/themes/psi-health/images/psi-bullet.svg) no-repeat;
	background-size: contain;
    margin-right: 15px;
}


/* GRAVITY FORMS */

.gform_title {
	font-size: var(--wp--preset--font-size--large);
	font-weight: bold;
	letter-spacing: -1px;
	line-height: 1.1;
	margin-bottom: 5rem;
	text-align: center;
	color: var(--wp--preset--color--navy);
}

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

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

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

p.gform_required_legend {
	display: none;
}

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

.gform_wrapper.gravity-theme .gfield_checkbox .gfield-choice-input {
    display: inline-block;
    margin-top: 5px;
    vertical-align: top;
    margin-right: 5px;
}

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

.gform_wrapper.gravity-theme input,
.gform_wrapper.gravity-theme .gfield select,
.gform_wrapper.gravity-theme .gfield textarea {
    background: white;
    border-radius: 3px;
    padding: 10px 15px !important;
    border: 1px solid #e2ded6;
    box-shadow: 0 1px 5px #e2ded675;
}

.gform_wrapper.gravity-theme .gform_footer .gform_button {
	background-color: var(--wp--preset--color--navy);
	border: 1px solid var(--wp--preset--color--navy);
	color: #fff; 	
}

.gform_wrapper.gravity-theme .gform_footer .gform_button:hover, 
.gform_wrapper.gravity-theme .gform_footer .gform_button:focus {
	background-color: #627892;
	border: 1px solid #627892;
	color: #fff; 	
}