/*
Theme Name: Montana University System
Theme URI: https://liaisonedu.com
Author: Liaison International / Tom Bartling
Author URI: https://liaisonedu.com
Description: Montana University System landing pages.
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 7.0
Version: 1.1
License:
License URI:
Text Domain: mus
Tags:
*/

/* -------------- DEFAULTS & GENERAL 	-------------- */
:root {
	--font-primary: 'Open Sans',Verdana,Geneva,sans-serif;
	--font-headings: "Montserrat", sans-serif;
	--font-heading-hero: "Montserrat", sans-serif;

	--color-default_text: #333333;
	
	/*  This is from the brand guide 
	--color-blue: #284764;
	*/
	--color-slate: #90a2b1;
	--color-light_gray: #a7a9ac;

	/* from mus.edu */
	--color-blue: #0059A2; 
	--color-orange: #FF6A3E;
	--color-website_bg_gray: #efefef;

    /*      UPDATE THIS  */
    --btn-color-background: var(--color-orange);
    --btn-color-text: #000000;

}

/* HTML element classes */

BODY, HTML {
	width: 100%;
	font-size: 16px;
	font-family: var(--font-primary);
	color: #000000;
	padding: 0;
	margin: 0;
	min-width: 390px;
}

SVG, IMG, IFRAME {
	max-width: 100%;
}

FORM, INPUT, TEXTAREA, SELECT, OPTION {
	width: 100%; 
	max-width: 100%;
}

INPUT:not([type='submit']), SELECT, OPTION {
	line-height: 150%;
	height: 2.0rem;
	border: solid var(--btn-color-text) 1px;
}

SELECT, OPTION {
	-webkit-appearance: none;
	padding: 3px 10px;
}

INPUT[type='submit'] {
	width: auto;
}

/* width: 80%; causes admin form to not display */
.wp-admin FORM {  
	width: initial;
}

/* used with js function goToForm() to scroll to 1st input... SELECTor needs to match js */
INPUT[type='text'] {
	scroll-margin-top: 60px;
}

INPUT[type="radio"],
INPUT[type="checkbox"],
INPUT[type="submit"] {
	width: auto;
}



A,
A:link,
A:active,
A:visited,
A:hover {
	font-weight: 700;
	/* color: var(--color-primary); */
}

A.cta-btn, 
A.cta-btn:link, 
A.cta-btn:active, 
A.cta-btn:visited, 
A.cta-btn:hover, 
.cta-btn, 
INPUT[type="submit"],
BUTTON {
    background-color: var(--btn-color-background);
    color: var(--btn-color-text); 
    cursor: pointer;
	display: inline-block;
	padding: 1.0rem 1.5rem;
	font-family: var(--font-heading-hero);
	font-size: 1.1rem;
	font-weight: 600;
	text-decoration: none;
	border: solid var(--btn-color-background) 1px;

	transition: color, 0.25s ease-out, border-color 0.2s ease-out;
}



INPUT[type="submit"]:hover,
A.cta-btn:hover, 
.cta-btn:hover, 
BUTTON:hover {
    /* 
	color: var(--btn-color-background);
    background-color: var(--btn-color-text); 
	*/
	color: #ffffff;
	background-color: rgb(35, 116, 148);
	border-color: rgb(35, 116, 148);
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	font-weight: 800;
	text-rendering: optimizeLegibility;
}

.h1, H1, .h2, H2, .h3, H3 {
	display: block;
	margin: 0 0 0.5rem 0;
	font-family: var(--font-headings);
	font-size: 2.75rem;
	font-weight: 600;
	/* 
    text-transform: uppercase;
	letter-spacing: .8px;
	line-height: 1.1rem; 
	*/
}

.h1, H1 {    
	font-size: 2.6rem; 
	font-family: var(--font-heading-hero); 
}
.h2, H2 {    font-size: 2.0rem;  }
.h3, H3 {    font-size: 1.75rem;  }
.h4, H4 {    font-size: 1.50rem;  }


/* generic classes */
.bg-blue { 
	background-color: var(--color-blue); 
	color: #ffffff; 
}

.bg-slate { 
	background-color: var(--color-slate); 
	/* color: var(--color-blue);  */
	color: #ffffff;
}

.bg-light_gray { 
	background-color: var(--color-light_gray); 
	color:  var(--color-blue); 
}

.bg-website_bg_gray {
	background-color: var(--color-website_bg_gray);
}



.section-heading-background {
	background-color: var(--color-website_bg_gray);
	background-image: linear-gradient(90deg, var(--color-blue) 0 100%);
	background-size: 100% 150px;
	background-position: top center;
	background-repeat: no-repeat;
	padding: 0 0 50px 0;
}

.section-heading-background H2 {
	padding: 30px 0 10px 0;
	color: #ffffff;
}

.content-container {
	border-radius: 4px;
	background-color: #ffffff;
	padding: 20px;
	filter: drop-shadow(10px 10px 20px #00000033);
	height: 100%;
}

.text-highlight {
	font-weight: 700;
}

/* --------------------------------------------------------- */
/* --------- Header row    */
.header-row {
	color: #ffffff;
}

.header-left,
.header-center,
.header-right {
	padding: 6px 0;
}

.header-left {
	text-align: center;
}

.header-left IMG {
	/* max-width: 100px; */
	max-width: 100%;
	max-height: 60px;
}

.header-center {
	text-align: center;
	font-weight: 600;
	font-size: 1.0rem;
	letter-spacing: 4px;
}

.header-right {
	text-align: right;
	font-weight: 700;
	font-size: 1.0rem;
	letter-spacing: 1px;
}

.header-br {
	display: inline;
}

/* --------------------------------------------------------- */
/* --------- Hero row     */
.hero-brand-row {
	background-image: linear-gradient(90deg, #00213B8f 0 100%), url(images/hero-brand-v2.jpg);
	background-size: cover, cover;
	background-position: top left, top left;
	background-repeat: no-repeat, no-repeat;
	color: #ffffff;
}

.hero-container {
	min-height: 200px;
}

.intro-cta {
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 20px;
}

.intro-photo IMG {
	max-width: 320px;
	max-width: 100%;
}


.torch-background {
	position: relative;
	z-index: 1;
}

.torch-background::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background-image: url(images/MUS_torch_blue.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 10%;
	filter: grayscale(100%);
}

.active_school_icon {
	background-color: #eeeeee;
}

.form_sublabel {
	margin: 0;
	font-size: 0.75rem;
	color: var(--color-default_text);
}

/* padding on .hero-container pushes out the content to the right, leaving an empty space. Padding on the H1 tag does NOT do this. */
.hero-heading {
	padding: 2vh 2vw;
}


.form_container {
	background-color: var(--color-blue);
	color: #ffffff;
	padding: 20px;
}

.hero-intro-section H2 {
	font-size: 1.75rem;
}

.form_container .accordion {
	color: var(--btn-color-text);
}


/*--- accordion-related styles  ---*/
	.accordion {
		margin: 0;
		padding: 0;
		border: 2px solid var(--color-light_gray);
		border: 2px solid #ffffff;
		background-color: #ffffff;
		border-radius: 7px;
	}

	.campus_selector_row .accordion {
		border: none;
	}

	.accordion h3 {
		margin: 0;
		padding: 0;
	}

	.accordion:focus-within {
		/* border-color: hsl(216deg 94% 43%); */
		border-color: var(--color-light_gray);
		border-color: #ffffff;
	}

	.campus_selector_row .accordion:focus-within {
		border: none;
	}

	.accordion:focus-within h3 {
		/* background-color: hsl(0deg 0% 97%); */
		background-color: transparent;
	}

	/*
	.campus_selector_row .accordion:focus-within h3 {
		background-color: transparent;
	}

	.campus_selector_row BUTTON, 
	.campus_selector_row .accordion:focus-within h3 {
		background-color: transparent;
	}
	*/

	.accordion > * + * {
		/* border-top: 1px solid hsl(0deg 0% 52%); */
		border-top: 1px solid var(--color-light_gray);
	}

	.campus_selector_row .accordion > * + * {
		border: 0;
	}

	.accordion-trigger {
		background: none;
		color: hsl(0deg 0% 13%);
		display: block;
		font-size: 1rem;
		font-weight: normal;
		margin: 0;
		padding: 1.0rem 0.5rem;
		position: relative;
		text-align: left;
		width: 100%;
		outline: none;
	}

	.campus_selector_row .accordion-trigger {
		background: none;
		margin: 0;
		padding: 0;
	}

	.accordion-trigger:focus,
	.accordion-trigger:hover {
		background-color: var(--color-website_bg_gray);
		background-color: #ffffff;
	}

	.campus_selector_row .accordion-trigger,
	.campus_selector_row .accordion-trigger:focus,
	.campus_selector_row .accordion-trigger:hover {
		background-color: transparent;
	}

	.accordion-trigger:focus {
		outline: 4px solid transparent;
	}

	.accordion > *:first-child .accordion-trigger,
	.accordion > *:first-child {
		border-radius: 5px 5px 0 0;
	}

	.accordion > *:last-child .accordion-trigger,
	.accordion > *:last-child {
		border-radius: 0 0 5px 5px;
	}



	.accordion button {
		border-style: none;
		color: var(--color-default_text);
	}

	.accordion button::-moz-focus-inner {
		border: 0;
	}

	.accordion-title {
		display: block;
		pointer-events: none;
		border: transparent 2px solid;
		border-radius: 5px;
		padding: 0.25em;
		outline: none;
	}

	.campus_selector_row .accordion-title {
		border: none;
		padding: initial;
	}

	.accordion-icon {
		border: solid currentcolor;
		border-width: 0 2px 2px 0;
		height: 0.5rem;
		pointer-events: none;
		position: absolute;
		right: 2em;
		top: 50%;
		transform: translateY(-60%) rotate(45deg);
		width: 0.5rem;
	}

	.accordion-trigger:focus .accordion-icon,
	.accordion-trigger:hover .accordion-icon {
		border-color: var(--color-light_gray);
	}

	.accordion-trigger[aria-expanded="true"] .accordion-icon {
		transform: translateY(-50%) rotate(-135deg);
	}

	.accordion-panel {
		margin: 0;
		padding: 0.25rem 1.0rem 1.0rem 1.0rem;
	}

	.campus_selector_row .accordion-panel {
		margin: 0;
		padding: 0;
	}

	.accordion-panel[hidden] {
		display: none;
	}
	/*--- ACCORDION - end ---*/



#school_logos_container .school_item {
	cursor: pointer;
}

.school_selector_btn {
	background-color: #eeeeee;
}

.school_selector_btn.active {
	background-color: #dddddd;
	border-color: #bbbbbb;
}


/* CAMPUS SELECTOR DROP DOWN LIST */
.campus_selector_row {
	padding: 4px 0;
	/* border-bottom: solid var(--color-light_gray) 1px;  */
}

.campus_selector_row:last-child {
	border-bottom: none;
	/* margin-top: 20px; */
}

.campus_selector_school_name {
	font-weight: 700;
}

.campus_selector_school_address {
	font-size: 0.8rem;
}

.campus_selector_school_outcomes {
	padding: 10px 0;
}

.campus_selector_row .row:first-child {
	border-bottom: solid var(--color-website_bg_gray) 1px; 
	border-width: 75%;
	margin-bottom: 4px;
	padding-bottom: 4px;
}

.campus_selector_school_checkbox {
	margin: 10px 0 3px 0;
	font-weight: 700;
}

.campus_selector_row INPUT, 
.campus_selector_row LABEL {
	display: inline;
	width: auto;
	height: initial;
}

.campus_selector_row INPUT {
	margin-right: 10px;
}

.campus_selector_school_logo IMG {
	max-width: 100%;
}





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




/* --- Hero row - Thank You page     */
.hero-thank-you-row LI {
	margin-bottom: 1.4rem;
}

.hero-thank-you-row A, 
.hero-thank-you-row A:link, 
.hero-thank-you-row A:active, 
.hero-thank-you-row A:visited, 
.hero-thank-you-row A:hover {
	color: #ffffff;
	text-decoration: underline;
}

/* --------------------------------------------------------- */
/* --------- Program Benefits row     */
.program-benefits-row UL {
	list-style-type: none;
	position: relative;
	margin: 20px 0;
}

.program-benefits-row LI {
	margin: 0 0 40px 0;
	border-left: solid #99E1FF 8px;
	padding: 0 0 0 10px; 
	font-size: 1.25rem;
}

.program-benefits-img-container IMG {
	height: 100%;
	width: 100%;
	object-position: center top;
	object-fit: cover;
}


/* --------------------------------------------------------- */
/* --------- Spacer row     */
.spacer-row {
	background-image: url(images/dots_bg.svg);
	background-position: -100px top;
	background-repeat: no-repeat;
	
	height: 10vh;
	width: 100%;
}

/* --------------------------------------------------------- */
/* --------- Take the Next Step row     */
/*
.next-step-row  {
	background-image: url(images/next-step-MSU-Banner-1900x470.jpg);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}

.next-step-container {
	background-color: var(--color-blue);
	color: #ffffff;
	border-radius: 8px;
	font-size: 1.0rem;
}

*/


.next-step-row .content-container {
	font-size: 1.25rem;
}

.next-step-logo-container {
	margin: 20px 0;
}

.next-step-logo-container IMG {
	min-height: 200px;
}


/* --------------------------------------------------------- */
/* --------- Photo row     */
.photo-row {
	/* background-image: url(images/next-step-MSU-Banner-1900x470.jpg); */
	background-image: url(images/footer-students-walking-on-campus.jpg);
	background-size: cover;
	background-position: right top;
	background-repeat: no-repeat;
	min-height: 200px;
}




/* --------------------------------------------------------- */
/* --------- Contact row     */
/*
.contact-row {

}
*/


/* --------------------------------------------------------- */
/* --------- Footer row     */
.footer-row {
	padding: 10px 0;
	min-height: 200px;
}

.footer-address {
	font-size: 0.8rem;
	line-height: 150%;
}

.footer-logo {
	
}

.footer-tagline {
	font-weight: 700;
}

.footer-row A:not(.cta-btn),
.footer-row A:not(.cta-btn):link,
.footer-row A:not(.cta-btn):active,
.footer-row A:not(.cta-btn):visited,
.footer-row A:not(.cta-btn):hover {
	color: #FFFFFF;
	text-decoration: none;
}

.footer-left, 
.footer-right {
	text-align: center;
}

/* --- GRAVITY FORMS OVERRIDES ARE IN footer-scripts-row.php BECAUSE style.css CAN LOAD BEFORE GRAVITY FORMS ON SOME SITES --- */

.gfield {
	margin: 0 0 15px 0;
}

.gfield_required_text {
	margin: 0 0 0 10px;
	color: #ffffff;
	font-size: 0.8rem;
}

.ginput_container_checkbox LABEL {
	display: inline;
	margin: 0 0 0 6px;
	font-size: 0.8rem;
}


.gfield--type-honeypot,
.gfield_visibility_hidden {
	display: none;
} 

/*--  Fix styles for WARNINGS for pages with a dark background */
.gform-theme--framework .gfield_description,
.gform-theme--framework .gform_validation_errors, 
.gform-theme--framework .gform_validation_errors .gform-icon, 
.gform-theme--framework .gfield_validation_message,
.gform-theme--framework .gform_validation_errors .gform_submission_error {
	background-color: #ffffff;
	padding: 0;
	border: none;
	display: inline-block;
	margin-top: 0;
	color: #990000;

	padding: 3px;
	margin: 2px;
}

.gform_validation_errors {
	border: solid #990000 3px;
	outline: none;
}

.gform-theme--framework .gform_validation_errors .gform-icon {
  padding: 0;
}


.gform-theme--framework .gform_validation_errors .gform_submission_error {
	display: flex;
}


.gfield_label_before_complex {
	display: none;
}

.form_campus_list .gfield_label_before_complex {
	display: block;
}



.ginput_complex  {
	display: flex;
	flex-flow: row nowrap;
	align-content: space-between;
	gap: 10px;
}

.ginput_complex SPAN.ginput_full {
	flex-basis: 100%;
	width: 100%;
	min-width: 100%;
	display: block; 
}

.ginput_complex.has_city  {
	flex-flow: row wrap;
}


.ginput_complex .ginput_right,
.ginput_complex .ginput_left {
	max-width: 30%;
}

.gchoice INPUT {
	height: initial;
}





:modal,
.text-optin-policy-modal {
	width: 600px;
	max-width: 90%;
	display: inline-block;
}

.modal-header {
	border-bottom: solid #cccccc 1px;
	padding-bottom: 4px;
	margin-bottom: 10px;
}

dialog:-internal-dialog-in-top-layer::backdrop,
dialog::backdrop {
  background-color: #00000066;
}

.modal-close-x {
	padding: 3px 6px;
	border: solid #bbbbbb 1px;
	text-transform: lowercase;
}
/*

DIALOG {
    max-width: 90%;
    width: 600px;
    padding: 20px;
    border: 0;
}

::backdrop {
    background-color: #00000099;
}

.modal-header {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 20px;
}

.modal-close-x {
    cursor: pointer;
    font-family: Courier, "Courier New", sans-serif;
    padding: 2px 5px;
    background-color: #00000099;
    color: #ffffff;
    font-weight: 700;
}

#text-optin-policy-btn {
    cursor: pointer;
    color: var(--color-manchester_gold);
    font-weight: 700;
}

*/


/* --------------------------------------------------------- */
/* --------- RESPONSIVE 				 */

@media screen and (min-width: 576px) {
	.header-left {
		text-align: left;
	}

	.header-right {
		text-align: right;
	}

	.footer-left {
		text-align: center;
	}
	
	.footer-right {
		text-align: right;
	}

	
}


@media screen and (min-width: 768px) {
	.header-left IMG {
		max-height: initial;
	}

	.header-center {
		font-size: 1.25rem;
	}
	.header-right {
		font-size: 1.0rem;
	}

	.fast-facts-row {
		font-size: 0.9rem;
	}

}


@media screen and (min-width: 993px) {
	.hero-container {
		min-height: 300px;
	}

	.form_container {
		/* 
		background-color: transparent;
		padding: 0 20px 20px 20px;
		*/
	}

	.section-heading-background {
		background-size: 100% 200px;
		background-size: 100% fit-content;
	}

	.photo-row {
		min-height: 250px;
	}

	H1 {
		font-size: 3.5rem;
		line-height: 150%;
	}

	H2 {
		font-size: 2.0rem;
		line-height: 150%;
	}


	.section-heading-background H2 {
		font-size: 2.5rem;
	}

}

@media screen and (min-width: 1200px) {
	.header-br {
		display: none;
	}

	.photo-row {
		min-height: 300px;
	}
}


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

}

