
/*---------------- MAIN PAGE ----------------*/

.education-portal-hero {
    width: 100%;
    background-color: #004F71;
    padding: 0;
}
.education-portal-hero-wrapper {
	display: flex;
	flex-direction: row;
    align-items: center;
}
.education-portal-hero-img {
    flex: 1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	height: 500px;
}
	.education-portal-hero-container {
		flex: 1;
	    text-align: left;
	    margin: 40px;
	}
	.education-portal-hero-container h1 {
	    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	    font-size: 42px;
	    color: #ffffff;
		font-weight: 300;
	    margin: 0;
	}
	.education-portal-hero-container-intro{
	    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	    font-size: 18px;
		line-height: 22px;
	    color: #ffffff;
		font-weight: 300;
	    margin: 0 0 15px 0;
	}
	.education-portal-hero-container-intro a,
	.education-portal-hero-container-intro a:visited {
	    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	    font-size: 18px;
		line-height: 22px;
	    color: #ffffff;
		font-weight: 300;
		text-decoration: underline;
	}
	.education-portal-hero-nav a,
	.education-portal-hero-nav a:visited {
	    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	    font-size: 14px;
	    color: #ffffff;
		font-weight: 300;
		text-decoration: none;
	}

.education-search-container-wrapper {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin: 0 auto;
    padding: 40px;
	flex-direction: row;
}


.education-search-container {
    display: flex;
	flex-direction: column;
	flex: 1;
}

	.education-portal-filter-wrap,
	.education-portal-search-wrap {
		margin-bottom: 20px;
	    background-color: #F4F4F4;
	    padding: 60px 40px;
		border-top: 6px solid #004F71;
	}
	form.education-portal-search-form {
	    gap: 15px;
	    display: flex;
	    flex-direction: column;
		position: relative;
	}
	.education-portal-filter-wrap h2 {
	    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	    font-size: 32px;
	    color: #0092A0;
	    margin: 0 0 20px 0;
	}
	.education-portal-search-wrap h2 {
	    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	    font-size: 22px;
	    color: #0092A0;
	    margin: 0 0 15px 0;
	}
	.education-portal-filter-wrap button.btn-orange {
	    margin-top: 15px !important;
	}

	/* Left Side: Filters & Search Box */
	.education-portal-filter-container {
	    width: 65%;
	    background-color: #F4F4F4;
	    padding: 30px;
	    border-radius: 8px;
	}
	/* Search Box */
	.education-portal-filter-container .education-portal-search-form {
	    display: flex;
	    align-items: center;
	    gap: 10px;
	    margin-top: 20px;
	    padding-top: 10px;
	}


/* Right Side: Quicklinks */
.education-portal-right {
	font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    width: 35%;
}
.education-portal-quicklinks-img {
    flex: 1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	height: 200px;
	border-radius: 8px 8px 0 0;
}

.education-portal-quicklinks {
    background-color: #D56A1E;
    color: #fff;
    border-radius: 8px;
    text-align: left;
	margin-bottom: 20px;
}
.quicklinks-container {
    padding: 20px;
}
.quicklinks-container ul {
	margin: 0;
	list-style-type: none;
	padding: 0;
	margin: 0;
}
    .quicklinks-container li {
		font-size: 16px;
        border-bottom: 1px solid #fff; 
        padding: 10px 0;
    }

    .quicklinks-container li:last-child {
        border-bottom: none; 
    }

.education-portal-featured {
    background-color: #004F71;
    color: #fff;
    padding: 20px;
    border-radius: 8px;
    text-align: left;
}
.quicklinks-container h3,
.education-portal-featured h3 {
	font-size: 22px;
	margin: 0 0 10px 0;
}
.education-portal-featured a,
.education-portal-featured a:visited {
    color: #fff;
	text-decoration: none;
}

	@media (max-width: 1040px) {
		.education-portal-hero-container {
		    margin: 20px;
		}
		.education-portal-hero-wrapper {
		    flex-direction: column;
		}
		.education-portal-hero-img {
			display: none;
		}
		.education-portal-hero-container h1 {
		    font-size: 36px;
		}
		.education-portal-hero-container-intro {
		    font-size: 16px;
		    line-height: 18px;
		    margin: 0;
		}

		.education-search-container-wrapper {
		    flex-direction: column;
			padding: 20px;
			gap: 0;
		}
		.education-search-container {
		    min-width: 100%;
		}
		.education-portal-filter-wrap, .education-portal-search-wrap {
		    padding: 30px 20px;
		}
		.education-portal-right {
		    width: 100%;
		}
	}
		
/*---------------- SEARCH RESULTS ----------------*/


/* Full-Width Header */
.education-portal-hero-sub {
    width: 100%;
    background-color: #004F71;
    text-align: left;
    padding: 0 30px;
	display: flex;
	align-items: flex-end;
}
	.education-portal-hero-container-sub {
		flex: 1;
	    text-align: left;
	    padding: 40px 0;
	}
	.education-portal-hero-container-sub h1 {
	    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	    font-size: 42px;
	    color: #ffffff;
		font-weight: 300;
	    margin: 0;
		}
	.education-portal-hero-nav {
	    justify-content: right;
		color: #fff;
		text-decoration: none;
		padding: 15px 0;
		margin-bottom: 5px;
	}
	.education-portal-hero-nav a,
	.education-portal-hero-nav a:visited {
	    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	    font-size: 16px;
	    color: #ffffff;
		font-weight: 500;
		text-decoration: none;
		background-color: #023C53;
		padding: 18px 15px 18px 15px;
		-webkit-transition: .3s ease-in-out;
		transition: .3s ease-in-out;
		border-bottom: 5px solid #023C53;
	}
	.education-portal-hero-nav a:hover {
		background-color: #d16200;
		border-bottom: 5px solid #d16200;
	}
	.education-portal-hero-nav a.back-link.active {
		border-bottom: 5px solid #d16200;
	}

/* Search & Filter Section */

.education-portal-filters {
    width: 100%;
    background-color: #F4F4F4;
    padding: 15px 0;
    text-align: center;
}
.education-portal-filters .container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
form.education-portal-search-form.inline {
	flex-direction: row;
	flex: 1;
}
form.education-portal-search-form.search {
	margin-left: 30px;
	width: 30%;
}

/* List items */
.education-portal-list {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}
.education-portal-no-results h3 {
	    font-size: 18px;
	    color: #007C92;
		font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
		margin: 0;
}
	.education-portal-item {
	    display: flex;
	    align-items: center;
	    background-color: #F8F9FA;
	    border-radius: 8px;
	    margin-bottom: 10px;
	    width: 100%;
	    transition: background 0.3s ease;
	}
	.education-portal-item:hover {
	    background-color: #E8EFF6;
	}
	.education-portal-icon {
	    background-color: #007C92;
		width: 60px;
		height: 70px;
		min-height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 8px 0 0 8px ;
	}
	.education-portal-item i.fa-light {
	    color: #fff;
	    font-size: 28px;
	}
	#link-group-repeater h3 {
	    font-size: 20px;
		font-weight: 300;
	    color: #007C92;
	    flex-grow: 1;
		font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	}
	.education-portal-title {
	    flex-grow: 1;
	    margin-left: 20px;
		display: flex;
		flex-direction: column;
	}
	.education-portal-item h4 {
	    font-size: 18px;
	    color: #007C92;
		font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
		margin: 0;
	}
	.education-portal-item p {
	    font-size: 14px !important;
	    color: #858585;
		margin: 0;
		font-style: italic;
	}
	.education-portal-item .fa-arrow-right {
	    font-size: 18px;
	    color: #E97500;
	    margin-left: auto;
	    margin-right: 20px;
	    font-weight: bold;
	    transition: transform 0.3s ease;
	}
	.education-portal-item:hover .fa-arrow-right {
	    transform: translateX(5px);
	}
	
	
	@media (max-width: 1040px) {
		.education-portal-hero-sub {
		    align-items: flex-start;
		    flex-direction: column;
			padding: 0;
		}
		.education-portal-hero-container-sub {
			padding: 15px 0 15px 0;
		}
		.education-portal-hero-container-sub h1 {
		    font-size: 30px;
			padding-left: 20px;
		}
		.education-portal-hero-nav {
		    display: flex;
		    flex-direction: column;
		    width: 100%;
			padding: 0;
		}
		.education-portal-hero-nav {
			margin-bottom: 0;
		}
		.education-portal-hero-nav a, 
		.education-portal-hero-nav a:visited,
		.education-portal-hero-nav a:hover {
		    padding: 10px 30px 10px 30px;
		    border-bottom: 0px;
		}
		.education-portal-filters .container {
			flex-direction: column;
		}
		form.education-portal-search-form.inline {
			margin-left: 0;
		    width: 100%;
		}
		form.education-portal-search-form.search {
			margin-left: 0;
		    width: 100%;
		    }
		.education-portal-item {
			    flex-direction: column;
			    align-items: flex-start;
			}
		.education-portal-icon {
			    width: 40px;
			    height: 40px;
			    border-radius: 8px;
			    margin: 10px 10px 0 10px;
			}
		.education-portal-title {
			    margin: 10px;
			}
		.education-portal-item i.fa-light {
			    font-size: 18px;
			}
		.education-portal-item .fa-arrow-right {
			    display: none;
			}
			.education-portal-hero-nav a.back-link.active {
				background-color: #d16200;
				border-bottom: none;
			}
    	}

		@media (max-width: 768px) {
			form.education-portal-search-form.inline {
			    flex-direction: column;
				margin-bottom: 20px;
			}
		}

/* GENERAL FORM STYLES */

.education-portal-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.education-portal-form-inline {
    display: flex;
    flex-direction: row;
    gap: 15px;
}
label {
    display: block;
    font-weight: bold;
    color: #444;
    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}
.education-portal-search-form input[type="text"] {
    flex-grow: 1;
    padding: 12px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
	min-width: 100%;
}


/* Search Input */
.education-portal-keyword-search-form {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.education-portal-keyword-search-form input[type="text"] {
    width: 250px;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
}


/* Style the dropdown container */
.education-portal-search-form select {
    appearance: none; /* Remove default dropdown arrow */
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    padding: 12px 40px 12px 12px; /* Space for the icon */
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: white;
    cursor: pointer;
    position: relative;
	color: #333;
}

.select-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

.select-wrapper::after {
    content: "\f078"; /* Unicode for fa-chevron-down */
    font-family: "FontAwesome";
    font-weight: 100;
    font-size: 14px;
    color: #E97500; /* Adjust icon color */
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none; /* Ensures click goes to select */
}




/* BUTTONS */


.education-portal-search-form button.btn-orange {
    -webkit-transition: color 1s;
    transition: color 1s;
    position: relative;
    box-shadow: inset 0 0 0 1px #d16200;
    border-color: #d16200;
    color: #d16200;
    border-radius: 0;
    border-style: solid;
    border-width: 2px;
    cursor: pointer;
    font-weight: 700;
    line-height: normal;
    margin: 0;
    position: relative;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    background: 0 0;
    padding: .36rem .9rem .36rem;
    font-size: .9em;
    overflow: hidden;
    z-index: 2;
	max-width: fit-content;
	min-width: fit-content;
  }

.education-portal-search-form button.btn-orange::before {
    content: '';
    display: block;
    position: absolute;
    border-right: .75rem solid transparent;
    border-top: .75rem solid transparent;
    bottom: 0;
    height: 0;
    right: 0;
    width: 0;
    border-right-color: #d16200;
  }

.education-portal-search-form button.btn-orange::after {
    content: '';
    display: block;
    position: absolute;
    height: 500%;
    left: 50%;
    opacity: 1;
    top: 50%;
    -webkit-transition: -webkit-transform 1s;
    transition: transform 1s;
    -webkit-transform: translateX(25%) translateY(25%) rotate(-45deg) translateZ(0);
    transform: translateX(25%) translateY(25%) rotate(-45deg) translateZ(0);
    width: 200%;
    z-index: -1;
    background: #d16200;
  }
  
.education-portal-search-form button.btn-orange:hover {
    color: white;
  }

.education-portal-search-form button.btn-orange:hover::after {
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
     transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  }



/*.education-portal-search-form button.btn-orange {
        -webkit-transition: color 1s;
        transition: color 1s;
        position: relative;
        box-shadow: inset 0 0 0 1px #d16200;
        border-color: #d16200;
        color: #d16200;
        border-radius: 0;
        border-style: solid;
        border-width: 2px;
        cursor: pointer;
        font-weight: 700;
        line-height: normal;
        margin: 0;
        position: relative;
        text-align: center;
        text-decoration: none;
        display: inline-block;
		background-color: #fff;
        padding: .36rem .9rem .36rem;
        font-size: .9em;
		max-width: fit-content;
    }
    
    
	.education-portal-search-form button.btn-orange:before {
	    content: '';
	    display: block;
	    position: absolute;
	    border-right: .75rem solid transparent;
	    border-top: .75rem solid transparent;
	    bottom: 0;
	    height: 0;
	    right: 0;
	    width: 0;
	    border-right-color: #d16200;
	  }
	.education-portal-search-form button.btn-orange:after {
        content: '';
        display: block;
        position: absolute;
        height: 500%;
        left: 50%;
        opacity: 1;
        top: 50%;
        -webkit-transition: -webkit-transform 1s;
        transition: transform 1s;
        -webkit-transform: translateX(25%) translateY(25%) rotate(-45deg) translateZ(0);
        transform: translateX(25%) translateY(25%) rotate(-45deg) translateZ(0);
        width: 200%;
        z-index: -1;
        background: #d16200;
    }
	.education-portal-search-form button.btn-orange:hover {
	    color: #fff;
	  }
	.education-portal-search-form button.btn-orange:hover::after {
	    -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
	     transform: translateX(-50%) translateY(-50%) rotate(-45deg);
	  }*/


.education-portal-search-form button.btn-icon {
    all: unset; 
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    font-size: 1em; 
    color: inherit; 
    position: absolute;
    right: 0;
    right: 10px;
    top: 12px;
}

.education-portal-search-form button.btn-icon i {
    font-size: 1em; /* Adjust for icon size */
}


.education-portal-search-form i {
    font-size: 16px;
}

@media (max-width: 768px) {
    .o-horiz-content {
        flex-direction: column;
    }

    .education-portal-filter-container,
    .education-portal-quicklinks {
        width: 100%;
    }
}

/* --- edportal-single --- */

.edportal-single {
	min-height: 40vh;
	display: flex;
    justify-content: center;
}

.edportal-single-wrap {
	display: flex;
	flex-direction: row;
	max-width: 1040px;
	gap: 60px;
}
.edportal-single-cta {
	background: #daf0f2;
    border-top: 5px solid #0092a0;
    margin-bottom: 2rem;
    padding: 1.5rem;
	width: 37%;
	max-height: fit-content;
}
.edportal-single-cta a {
	white-space: nowrap;
}

/* --- Flexbuilder Container --- */

.flex-container {
    width: 100%;
    margin: 0 auto;
	padding: 40px;
    }
.flex-container h2 {
    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 34px;
    color: #004F71;
    font-weight: 300;
    margin: 0;
	padding-bottom: 20px;
}
.flex-container p,
.flex-container li {
    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 17px;
	line-height: 22px;
    color: #333333;
    font-weight: 300;
}

@media (max-width: 1040px) {
	.flex-container {
	    padding: 20px;
	}
}

/* --- Accordion Container --- */

.accordion-columns {
    display: flex;
	flex-direction: row;
	gap: 40px;
}
.accordion-col-left {
	flex:  1;
}
	.flex-accordion-item {
	    border-bottom: 1px solid #ddd;
	}

	.accordion-header {
	    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	    font-size: 22px;
	    font-weight: 300;
	    color: #004561;
	    cursor: pointer;
	    padding: 15px 0;
	    display: flex;
	    justify-content: space-between;
	    align-items: flex-start; /* Aligns items to the top */
	    position: relative;
	    transition: background 0.3s ease, color 0.3s ease;
		margin-top: 6px;
	}
	.accordion-header:hover {
	    color: #000;
	}
	.accordion-header.active {
	    color: #004561;
	}
	.accordion-header::after {
	    content: "\f067"; /* FA Plus Icon */
	    font-family: "Font Awesome 6 Pro";
	    font-weight: 900;
	    font-size: 14px;
	    display: inline-block;
	    width: 16px;
	    text-align: center;
	    align-self: flex-start; /* Aligns the icon to the top */
	    line-height: 1; /* Reduces extra spacing */
	    transition: transform 0.3s ease, content 0.3s ease;
	    transform-origin: center;
		margin-left: 20px;
		margin-top: 5px;
	}
	.accordion-header.active::after {
	    content: "\f068"; /* FA Minus Icon */
	    transform: rotate(180deg);
		margin-left: 20px;
	}


	.accordion-content {
	    overflow: hidden;
	    max-height: 0;
	    transition: max-height 0.3s ease-out;
	    padding: 0;
	}
	
	.accordion-content p {
	    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	    font-size: 16px;
		line-height: 22px;
	    font-weight: 300;
	    color: #333333;
	}	
	.accordion-content a,
	.accordion-content a:visited {
	    text-decoration: underline;
	    color: #004561;
	}
	.accordion-content a:hover {
	    text-decoration: underline;
	    color: #D56A1E;
	}
	
	
.accordion-col-right {
	max-width: 430px;
	flex:  1;
}
	.accordion-contact {
	    background-color: #004F71;
		padding: 40px;
	    border-top: 6px solid #D56A1E;
		color: #fff;
	}
	.accordion-contact .gform_title {
		font-size: 25px;
		color: #fff;
	}
	.accordion-contact .gform_wrapper.gravity-theme .gfield_label,
	.accordion-contact .gform_wrapper.gravity-theme .gfield_description {
		color: #fff;
	}
	.accordion-contact .gform_wrapper.gravity-theme .gfield textarea,
	.accordion-contact .gform_wrapper.gravity-theme .gfield input.large, 
	.accordion-contact .gform_wrapper.gravity-theme .gfield select.large {
	    font-family: franklin-gothic-urw, "Franklin Gothic", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	    background-color: #023C53;
		border: none;
		border-radius: 0;
		color: #fff;
		font-size: 15px;
	}	
	.accordion-contact .gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label, 
	.accordion-contact .gform_wrapper.gravity-theme .gfield_error label, 
	.accordion-contact .gform_wrapper.gravity-theme .gfield_error legend, 
	.accordion-contact .gform_wrapper.gravity-theme .gfield_validation_message, 
	.accordion-contact .gform_wrapper.gravity-theme .validation_message, 
	.accordion-contact .gform_wrapper.gravity-theme [aria-invalid=true]+label, 
	.accordion-contact .gform_wrapper.gravity-theme label+[aria-invalid=true] {
	    color: #fff9f9 !important;
	}
	.accordion-contact .gform_wrapper .ginput_container_select::after {
		display: none;
	}

	.accordion-contact input.gform_button.button {
		-webkit-transition: color 1s;
        transition: color 1s;
        position: relative;
        box-shadow: inset 0 0 0 1px #d16200;
        border: 2px solid #d16200;
        color: #d16200;
		background-color: #fff;
        border-radius: 0;
        cursor: pointer;
        font-weight: 700;
        line-height: normal;
        margin: 0;
        margin-bottom: -.85em;
        position: relative;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        padding: .36rem .9rem .36rem;
        font-size: .9em;
        overflow: hidden;
        z-index: 2;
	}
	@media (max-width: 1040px) {
		.accordion-columns {
			flex-direction: column;
		}
		.accordion-col-right {
		    max-width: unset;
		}
		.accordion-header {
	    	font-size: 18px;
		}
		.accordion-contact {
		    padding: 20px;
		}
		.flex-container h2 {
		    font-size: 30px;
		    padding-bottom: 10px;
		}
	}





