/* CSS Reset */
:root {
	--bg-main-color: rgb(251,247,245);				/* off white background color */
	--fg-color-A: #e9ce34;
	--fg-color-B: #CDD193;
	--fg-color-C: hsl(74, 42%, 65%);
	--fg-color-D: hsl(140, 52%, 37%);
	--fg-color-E: hsl(153, 97%, 12%);


	--bg-main-color: hsla(0, 0%, 7%, 1);
	--fg-color-A: hsla(21, 21%, 13%, 1);
	--fg-color-B: hsla(33, 45%, 29%, 1);
	--fg-color-C: hsla(51, 96%, 89%, 1);
	--fg-color-D: hsla(252, 38%, 97%, 1);
	--fg-color-E: hsla(33, 38%, 43%, 0.7);
	/* --txt-color-A: hsl(240, 10%, 55%);  */
	--txt-color-A: hsl(240, 10%, 40%); 
	--txt-color-B: hsl(240, 10%, 15%);
	--txt-color-C: hsl(240, 10%, 25%);
	--arrow-size: 0.4em;

	/* --v2-bg-main-color: hsla(206, 7%, 19%, 1);
	--v2-txt-main-color: hsla(0, 0%, 100%, 0.9);
	--v2-fg-color-A: hsla(32, 59%, 52%, 1);
	--v2-fg-color-B: hsla(20, 60%, 51%, 1);
	--v2-fg-color-C: hsla(14, 58%, 44%, 1);
	--v2-fg-color-D: hsla(347, 70%, 42%, 1);
	--v2-fg-color-E: hsla(231, 5%, 73%, 1);
	--v2-fg-color-F: hsla(240, 2%, 66%, 1);
	--v2-fg-color-G: hsla(206, 7%, 19%, 1); */

/* Amity Care Color Scheme */
	--v2-bg-main-color: hsla(206, 7%, 19%, 1);
	--v2-txt-main-color: hsla(0, 0%, 100%, 0.9);
	--v2-fg-color-A: hsla(32, 59%, 52%, 1);
	--v2-fg-color-B: hsla(140, 52%, 37%, 1);
	--v2-fg-color-C: hsla(153, 97%, 12%, 1);
	--v2-fg-color-D: hsla(74, 42%, 65%, 1);
	--v2-fg-color-E: hsla(231, 5%, 73%, 1);
	--v2-fg-color-F: hsla(240, 2%, 66%, 1);
	--v2-fg-color-G: hsla(206, 7%, 19%, 1);



	/* FAQ Varibles */
	--max-lines: 1;										/* maximum number of lines showing before expanding */
	--line-height: 1.6;									/* line height in faq expander */
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	font: inherit;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html {
	/* Fix covering anchor jumps under sticky header  */
	scroll-padding-top: 8rem;
}

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

body {
	line-height: 1.6;
	background-color: var(--bg-main-color);
	scroll-behavior: smooth;
}

a {
	color: var(--v2-fg-color-C);
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* --- Common Styles ---*/

h1, h2, h3, h4, h5, h6, input, textarea, select, button {
	font-family: 'Montserrat';
	/* text-wrap: balance; */
}

/*----- Helper Classes -----*/

html * {
	text-rendering: optimizeLegibility !important;
  	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
  	/* scroll-padding-top: var(--scroll-pad-top, 1em); */
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: "Montserrat";
	/* height: 100%; */
}

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

::-webkit-scrollbar {
	display: none;
}

::-moz-selection {
    color: var(--fg-color-D);
    background: var(--fg-color-B);
}

::selection {
    color: var(--fg-color-D);
    background: var(--fg-color-B);
}

.nopadding {
	padding: 0;
}

.container, .container-m {
	margin: 0 auto !important;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	position: relative;
}

.container {
	max-width: 1199px;
}

.container-m {
	max-width: 767px;
}

.bg-col-light {
	background-color: var(--fg-color-D);
	min-height: 35em;
}

.bg-col-dark {
	background-color: var(--bg-main-color);
	/* background-color: var(--v2-fg-color-G); */
}

#txt-strive-cr {
	font-size: 0.8em;
	font-weight: 500;
	color: var(--fg-color-D);
	text-wrap: balance;
	text-align: center;
}

#txt-strive-contact p {
	font-size: 0.8em;
	font-weight: 500;
	color: var(--fg-color-D);
	padding-bottom: 0;
}

#txt-strive-contact a {
	text-decoration: none;
	color: white;
}

.serviceundertypes {
	list-style-type: disc;
	margin-left: 3rem;
}

.main {
	padding: 1.5rem 3rem;
}

/*------ Navbar Styling ------*/
.navbar {
	font-family: "Montserrat";
	padding: 1.25em 0;
	border-bottom: 2px solid var(--fg-color-B);
	transition: 0.5s all ease;
	-webkit-transition: 0.5s all ease;
	background-color: var(--fg-color-D) !important;
}

.nav-sticky {
	position: sticky;
	top: 0;
	z-index: 1;
}

.nav-grid-layout {
	display: grid; 
	/* grid-template-columns: 3fr 5fr 3fr; */
	grid-template-columns: 1fr 6fr;
}

.nav-grid-layout-bottom {
	display: grid; 
	/* grid-template-columns: 2fr 4fr 4fr 2fr; */
	grid-template-columns: 1fr 3fr 4fr 2fr;
}

.nav-left {
	display: flex;
	align-items: flex-start;
}

.nav-mid {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	/* line-height: 1; */
	margin: 0 1em;
}

.nav-contact {
	margin: 0 2rem 0 3rem;
	display: flex;
	justify-content: center;
	flex-direction: column;
	line-height: 1;
}

.nav-contact p i {
	color: var(--v2-fg-color-B);
	font-size: 1.1em;
}

/* .nav-contact p i:hover {
	font-size: 2em;
} */

.nav-right {
	display: flex; 
	/* justify-content: center; */
	justify-content: flex-end;
	/* flex-direction: column;  */
	align-items: flex-end;
	/* flex-flow: row wrap; */
	/* line-height: 3em; */
	/* line-height: 1.5em; */
	font-size: 0.85em;
}

/*----------------------------------------------
------------ Main Section Styling --------------
----------------------------------------------*/
.main {
	width: 100%;
	height: auto;
	/* background: linear-gradient(var(--bg-main-color) 0%, hsl(32, 38%, 29%) 35%, var(--bg-main-color) 100%); */
	background: linear-gradient(var(--v2-bg-main-color) 0%, var(--v2-fg-color-B) 35%, var(--v2-fg-color-D) 100%);
}

.home {
  	padding: 3rem;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

h1 {
	font-size: 2.5rem; 
	font-weight: 800; 
	line-height: 1.1;
	padding-top: 3rem;
	padding-bottom: 1rem;
	color: var(--txt-color-B);
}

h2 {
	font-size: 2.25rem; 
	font-weight: 600; 
	padding-top: 1rem;
	padding-bottom: 0.75rem;
	/* color: var(--txt-color-C); */
	color: var(--v2-fg-color-D);
}

h3 {
	font-size: 1.75rem;
	padding-top: 0.75rem;
	padding-bottom: 0.5rem;
	color:var(--v2-fg-color-C);
	line-height: 1.1;
}

h4 {
	font-size: 1.2rem;
	padding-top: 0.75rem;
	padding-bottom: 0.5rem;
	color:var(--v2-fg-color-C);
}

p {
	font-size: 1em; 
	line-height: 1.6; 
	color: var(--txt-color-A);
	letter-spacing: 0.01em;
	padding-bottom: 1em;
}

/* Triangular Top-Right Image */
.tri-img {
	/* width: 30vw; */
	width: 33%;
	aspect-ratio: 1/1;
	float: right;
	/* shape-outside: polygon(50% 0%, 100% 0%, 100% 100%);
	clip-path: polygon(50% 0%, 100% 0%, 100% 100%); */
	shape-outside: polygon(30% 0%, 100% 0%, 100% 70%);
	clip-path: polygon(30% 0%, 100% 0%, 100% 70%);
	shape-margin: 2em;
	margin-top: 2.5em;
	opacity: 0.7;
}

.icn-service {
	color: var(--v2-fg-color-C);
	font-size: 2em;
	width: 2em;
}

#byStrive {
	font-size: 3.5rem; 
	font-weight: 500;
}

#contactushead {
	font-size: 1.2em; 
	font-weight: 600; 
	margin-bottom: 0.2em;
}

#mainlogo {
	height: clamp(25%, 350px, 350px);
	float: right; 
	margin: 1em;
}

#pagenavlinks :is(a:link, a:visited, a:hover, a:active)  {
	color: var(--txt-color-A);
	/* text-decoration: none;  */
}

#programs {
	list-style-type: disc;
	color: var(--txt-color-A);
	margin-left: 2em;
}

#programsLRG {
	color: var(--txt-color-A);
	display: grid;
	grid-template-columns: 2.5em 10fr;
	grid-gap: 0.5em;
	align-items: center;
	font-size: 1.2em;
}

.largequote::before {
	content: "\201c";
	font-family: serif;
	font-weight: 900;
	font-size: 15rem;
	color: var(--txt-color-A);
	opacity: .2;
	position: absolute;
	z-index: -1;
	top: -6.5rem;
	left: -1.5rem;
}

.largequote {
	position: relative;
	isolation: isolate;
	font-size: 1.4rem;
	margin-top: 1em;
}

.largenonquote {
	font-size: 1.4rem;
}

.full-width {
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	max-width: 100vw;
	position: relative;
	right: 50%;
	width: 100vw;
}

/* Pull up main content over header image */
.main-pullup {
	margin-top: -10em;
}

.flx-contactinfo {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.card-info {
	margin-top: 1.75em;
	-webkit-box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.4); 
	box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.4);
	padding: 1em;
}

.card-info a i {
	font-size: 2.5em;
	color: var(--v2-fg-color-C);
}

.card-info p {
	margin-top: 1em;
	font-weight: 600;
}

.card-info a {
	font-size: 1em;
}

/* --------------------------------------- */

.frm-container {
	margin-top: 1em;
	padding-bottom: 2em;
	min-width: 25em;
	max-width: 35em;
  }

  .frm-container label {
	display: block;
	cursor: pointer;
  }

  .frm-container .frm-block:not(:first-child) {
	margin-top: 1em;
  }

  .frm-container input,
  .frm-container textarea,
  .frm-container select {
	margin-top: 0.25em;
	width: 100%;
	height: 3em;
	border-radius: 0.4em;
	padding: 0.5em 0.75em;

	border: 1px solid var(--v2-fg-color-E);
	color: var(--v2-bg-main-color);

	transition: 125ms background, 125ms color, 125ms box-shadow;
  }

  .frm-container textarea {
	min-height: 12em;
	max-width: 100%;
	padding-top: 0.75em;
  }

  .frm-container input::placeholder,
  .frm-container textarea::placeholder,
  .frm-container select::placeholder {
	color: var(--v2-bg-main-color);
	opacity: 0.5;
  }

  .frm-container input:hover,
  .frm-container textarea:hover,
  .frm-container select:hover {
	border-color: var(--v2-fg-color-G);
	/* CHANGE COLOR DEFINITION BELOW */
	background-color: var(--fc-field-hover-bg-color);
  }

  .frm-container input:focus,
  .frm-container textarea:focus,
  .frm-container select:focus {
	background-color: var(--v2-txt-main-color);
	border-color: var(--v2-fg-color-C);
	box-shadow: var(--v2-fg-color-A) 0px 0px 0px 2px;
	outline: none;
  }

  .frm-container button {
	font-weight: 600;
	height: 3em;
	width: 100%;
	border: none;
	border-radius: 0.4em;
	background-color: var(--v2-fg-color-A);
	color: var(--v2-txt-main-color);
	cursor: pointer;
	box-shadow: 0 0 0 0 transparent;
	transition: 125ms all;
  }
  
  .frm-container button:hover {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), var(--v2-fg-color-B);
  }
  
  .frm-container button:focus {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), hsla(var(--fc-primary-hsl));
	border-inline: 1px solid inline rgba(255, 255, 255, 0.6);
	box-shadow: 0px 0px 0px 3px rgba(var(--fc-primary-hsl), 12%);
  }

  .frm-container button:active {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), hsla(var(--fc-primary-hsl));
  }

  .frm-container button:disabled {
	background-color: hsla(var(--fc-primary-hsl), 40%);
	cursor: not-allowed;
  }

  .frm-container input:focus:required:invalid,
  .frm-container input:focus:invalid, 
  .frm-container select:focus:required:invalid,
  .frm-container select:focus:invalid
  {
	color: var(--v2-fg-color-D); 
	border-color: var(--v2-fg-color-D);
	box-shadow: 0px 0px 0px 3px var(--v2-fg-color-D);
  }

.flex-check {
	display: flex;
	column-count: 2;
 }

.faq-cutoff {
	max-height: calc(var(--max-lines) * 1em * var(--line-height));
	line-height: var(--line-height);

	overflow: hidden;
	position: relative;
}

.faq-cutoff:has(+ .faq-expand:not(:checked))::before {
	content: "";
	position: absolute;
	height: calc(1em * var(--line-height));
	width: 100%;
	bottom: 0;
	pointer-events: none;
	background: linear-gradient(to bottom, transparent, var(--fg-color-D));
}

.faq-expand {
	appearance: none;
	padding: 0.3em;
	border-radius: 0.25em;
	cursor: pointer;
	margin-top: 0.2rem;
	min-height: 1.5rem;
	max-height: 1.5rem;
	min-width: 1.5rem;
	max-width: 1.5rem;
	text-align: center;
	transition: all ease-in-out 250ms;
}

.faq-expand:hover {
	background-color: var(--v2-fg-color-B);
	color: var(--fg-color-D);
}

.faq-expand::before {
	content: "+";
}

.faq-expand:checked::before {
	content: "-";
}

.faq-cutoff:has(+ .faq-expand:checked) {
	max-height: none;
}

/* ------------------------------------ */

/* .bg-img-main {
	background-image: url("../images/Tipi Sunset FULL.png");
	background-position: center;
	background-size: cover;
} */

footer {
	display: flex;
	align-items: center;
	justify-content: center;
	/*flex-direction: row;*/
	gap: 2em;
	min-height: 4rem;
	margin: 0 2em 1em 2em;
    padding: 15px 0;
}

 footer > * {
	width: 100%;
}

/* ------------ Back-to-Top Styling Starts Here ------------*/
.back-to-top {
	position: fixed;
	bottom: 2rem;
	right: 1.75rem;
	font-family: 'Montserrat';
	font-size: 11px;
	font-weight: 700;
	text-transform: capitalize;
	color: #FFFFFF;
	line-height: 1.8;
	display: inline-block;
	background-color: blue;
	padding: 1.5rem 1.2rem;
	margin-top: 0;
	border-radius: 2px;
	/* background: url(../icons/arrowdark.svg) center top 1.2rem no-repeat var(--fg-color-E); */
	background: url(../icons/arrowdark.svg) center top 1.2rem no-repeat var(--v2-fg-color-F);
	text-decoration: none;
	-webkit-transition: 200ms;
	-moz-transition: 200ms;
	-o-transition: 200ms;
	transition: 200ms;
}

.back-to-top:hover {
	background-color: var(--fg-color-C);
	background: url(../icons/arrowlight.svg) center top 1.2rem no-repeat var(--fg-color-E);
	text-decoration: none;
}

/* Referral Partner Page */

#referralpartner {
	display: grid;
	grid-template-columns: 1fr 4fr;
}
#referralpartner label {
	font-size: 0.9rem;
	padding: .5em 1em;
	margin: 0.5em 1em;
	color: var(--v2-bg-main-color);
}
:is(input[type="text"], input[type="email"], input[type="tel"], select) { 
	height: 3em;
	border-radius: 0.3em;
	padding: 0.8em;
	color: var(--v2-bg-main-color);
	border: thin solid var(--v2-bg-main-color);
}
input[type="submit"] { 
	color: var(--v2-fg-color-D);
	background-color: var(--v2-txt-main-color);
	border: 0.1em solid var(--v2-fg-color-D);
	border-radius: .25em;
	font-size: 1.2em;
	margin-top: 1.5em;
	margin-bottom: 2em;
	height: 3.5em;
	width: 10em;
}
input[type="submit"]:hover { 
	color: var(--v2-txt-main-color);
	background-color: var(--v2-fg-color-D);
	font-weight: 700;
}
.flexdivpos {
	display: flex;
	justify-content: flex-end;
}


/*------------------------------------------
-------------- Media Queries ---------------
------------------------------------------*/

/* Stack contact info only between 768px and 1000px */
@media only screen and (min-width: 768px) and (max-width: 1000px) {
	.flx-contactinfo {
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 1.5em;
	}
}


@media only screen and (min-width: 1200px) {
	.bg-col-light {
		background-color: var(--fg-color-D);
		min-height: 50em;
	}
}


/* 480, 600, 768, 992, and 1382px */

@media only screen and (max-width: 767px) {
	html {
		/* Fix covering anchor jumps under sticky header  */
		scroll-padding-top: 0;
	}
	
	.main {
		padding: 0.75rem 1rem;
	}
	
	.container {
		padding-inline: 0.25em;
	}

	.home {
	  padding: 3rem;
	  padding-top: 1.5rem;
	  padding-bottom: 1.5rem;
	}
  
  h1 {
	  font-size: 2.2rem; 
	  font-weight: 800; 
	  line-height: 1.1;
	  padding-top: 3rem;
	  padding-bottom: 0.8rem;
	  color: var(--txt-color-B);
  }
  
  h2 {
	  font-size: 2rem; 
	  line-height: 1;
	  font-weight: 600; 
	  padding-top: 1rem;
	  padding-bottom: 0.75rem;
	  /* color: var(--txt-color-C); */
	  color: var(--v2-fg-color-D);
  }
  
  h3 {
	  font-size: 1.75rem;
	  padding-top: 0.75rem;
	  padding-bottom: 0.5rem;
	  color:var(--v2-fg-color-C);
	  line-height: 1.1;
  }
  
  p {
	  font-size: 1em; 
	  line-height: 1.4; 
	  color: var(--txt-color-A);
	  letter-spacing: 0.01em;
	  padding-bottom: 1em;
  }

  .largequote {
	font-size: 1rem;
	}

	.largenonquote {
		font-size: 1rem;
	}

	.navbar {
	  padding: 1.25em 0;
	  border-bottom: 2px solid var(--fg-color-B);
	  transition: 0.5s all ease;
	  -webkit-transition: 0.5s all ease;
	  background-color: var(--fg-color-D) !important;
	}

	.nav-sticky {
		position: unset;
	}
  
	.nav-grid-layout {
		display: grid; 
		grid-template-columns: 1fr;
	}

	.nav-grid-layout-bottom {
		display: grid; 
		grid-template-columns: 1fr;
	}

	.nav-left {
		justify-content: center;
		padding-bottom: 0.75rem;
	}
	
	.nav-right {
		align-items: center;
		padding-top: 1rem;
		justify-content: center;
	}

	.nav-mid {
		justify-content: center;
		align-items: center;
		
	}
	
	.nav-contact {
		margin: 0;
		justify-content: center;
		align-items: center;
		line-height: 1;
		padding-top: 1em;
	}

	#mainlogo {
		display: flex;
		width: 95%;
		float: unset;
		margin: auto;
	}

	h1, h2, h3, h4, h5, h6 {
		margin-inline: 0.75rem;
	}
	
	p {
		margin-inline: 0.75rem;
	}

	#pagenavlinks {
		margin-inline: 0.75em; 
	}

	#programsLRG {
		margin-left: 1em;
		font-size: 0.9em;
		line-height: 2em;
	}

	.tri-img {
		width: 40vw;
		margin-right: 1.5em;
	}

	/* Pull up main content over header image */
	.main-pullup {
		margin: 0;
	}

	.flx-contactinfo {
		align-items: flex-start;
		flex-direction: column;
		padding: 0 0 1em 1em;
	}

	.card-info {
		margin-top: 1.75em;
		-webkit-box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.4); 
		box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.4);
		padding: 1em;
	}

	.card-info:first-child {
		margin-top: 1em;
	}
	.card-info:last-child {
		margin-bottom: 1em;
	}
	
	.card-info a i {
		font-size: 1.5em;
	}
	
	.card-info p {
		/* margin-top: 0.75em; */
		margin: 0.5em 0 0 0;
		padding-bottom: 0.5em;
	}
	
	.card-info a {
		font-size: 0.9em;
	}

	#referralpartner {
		display: grid;
		grid-template-columns: 1fr;
	}

	.flexdivpos {
		display: flex;
		justify-content: center;
	}
}