/* School Finder */
.custom-select-wrapper {
	position: relative;
}
.custom-select-wrapper::after {
	position: absolute;
	right: .5rem;
	font-family: 'Font Awesome 7 Free';
	font-style: normal;
	font-weight: 900;
	content: "\f078";
	top: 50%;
	transform: translateY(-50%);
	font-size: .6rem;
    color: var(--dark-font-color);
	pointer-events: none;
}

.custom-select-wrapper select {
	appearance: none;
	border-radius: 5px;
	border: 1px solid #AFAFAF;
	opacity: 0.753;
	background: #FFF;
	width: 100%;
	padding: .75rem;
}

input:disabled {
    cursor: default;
    background-color: #fafafa;
}

input:disabled::placeholder {
	color: #a2a2a2;
}

.school-finder .search-row {
	justify-content: flex-start;
}

.school-finder .sidebar-group:first-of-type {
	padding: 1rem .5rem 0;
}

.school-finder .sidebar-group:last-of-type {
	padding: 0 .5rem 1rem;
}

.sidebar-item .SchoolFinder-filter {
	margin-top: 0;
	border: 0;
}

.school-finder hr {
	background-color: #707070;
	margin: 1rem 0;
}

.school-finder button {
	border: 0;
    margin: 0;
    border-radius: 50px;
    background: #00ADDA;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
	cursor: pointer;
}

.school-finder button.sf-info-close {
	background: none;
    box-shadow: none;
    padding: 0;
    position: absolute;
    right: 1rem;
    top: 1rem;
    font-size: 1.25rem;
}

.school-finder .sidebar-item label {
	display: block;
	margin-bottom: .5rem;
}

.school-finder .sidebar-item {
    font-weight: var(--font-medium);
	margin-bottom: 1rem;
}

.school-finder .input-field input {
	padding: .75rem;
}

.map-wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	position: relative;
	border: 2px solid var(--medium-grey);
	margin-bottom: 2rem;
}

.marker-active .RIFvHW-maps-pin-view-background {
	fill: #00adda!important;
}

.sf-nextyear #sys-sf-profile  {
	border-radius: 5px;
	border: 2px solid #CB5E66;
}

.sf-default .circle-icon {
	margin: 0 auto 1rem;
	background-color: #000000;
}

.info-window {
	padding: 1.5rem;
	font-size: .9rem;
	position: relative;
}

.info-window.sf-default {
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
}

.info-window-contacts {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.info-window-contacts .circle-icon {
	background-color: var(--black);
	width: 2rem;
    height: 2rem;
    font-size: .8rem;
}

.info-window-contacts .flex-row {
	width: calc(50% - 0.5rem);
}

.info-window-address {
	font-weight: var(--font-medium);
}

.info-window hr {
	margin: 1rem 0;
	background-color: #EFEFEF;
}

.info-window .btn-groups {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1rem;
}

.info-window .btn {
	margin-top: 0;
}

.info-window-group p {
	margin-bottom: .5rem;
}

.info-window h4 {
	font-size: 1rem;
	font-weight: var(--font-semibold);
	margin: .5rem 0;
}

.info-window .sf-lottery {
	margin-right: 8px;
}

.info-window .lottery-msg {
	margin-top: 1rem;
}

#sys-sf-map {
	width: 100%;
	height: 35rem;
	max-height: 400px;
}

#sys-sf-profile {
	width: 100%;
	background: white;
}

#sf-reset {
	cursor: pointer;
    width: fit-content;
    display: block;
    font-weight: var(--font-regular);
	margin: -1rem 0 1rem auto;
	font-size: .9rem;
}

#sf-reset-2 {
	cursor: pointer;
    font-weight: var(--font-regular);
	font-size: .9rem;
}

.sidebar.new-sidebar {
	margin: 1rem 0;
}

#sf-address {
    width: 100%;
    border-radius: 50px;
    border: 2px solid rgba(112, 112, 112, 0.40);
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding-left: 2.5rem;
}

.sf-options {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	margin-bottom: 1.5rem;
}

.sf-select {
	width: 100%;
	border-radius: 5px;
}

.sf-search {
    width: 100%;
    display: flex;
    gap: .5rem;
	position: relative;
}

.sf-search i {
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: .75rem;
}

.grade-filter {
	margin-bottom: .5rem;
}

#grades-select {
	display: flex;
    flex-wrap: wrap;
	column-gap: 1rem;
}

.checkbox-wrapper {
	display: block;
	position: relative;
	margin-bottom: .75rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	width: calc(100% / 3);
}

.checkbox-wrapper:first-of-type {
	width: 100%;
}

.checkbox-wrapper input {
	margin-right: 5px;
}

.school-finder label.checkbox-wrapper {
	font-weight: var(--font-regular);
	font-size: .85rem;
	width: auto;
}

.sf-legend-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    row-gap: 1rem;
	column-gap: 1rem;
}

.sf-legend {
	width: auto;
}

.sf-legend  i {
	font-size: 1.2rem;
}

[data-name="K-4"] .fa-location-dot {
	color: #8BC944;
}

[data-name="5-9"] .fa-location-dot {
	color: #F28828;
}

[data-name="10-12"] .fa-location-dot {
	color: #794C9D;
}

[data-name="Home"] i {
	color: #00ADDA;
}

[data-name="New School"] .fa-location-dot {
	color: #979797;
}

[data-name="Unique Setting"] .fa-location-dot {
	color: #CE9834;
}

.sf-legend[data-name="Attendance Area"]::before {
	content: "";
	border: 1px solid #00ADDA;
	background: rgba(0, 173, 218, 0.20);
	width: 25px;
	height: 25px;
}

.sf-legend[data-name="Walk Zone"]::before {
	content: "";
	border: 1px solid #B4439B;
	background: rgba(180, 67, 155, 0.20);
	width: 25px;
	height: 25px;
}

.next-year-alert {
    background: #C52430;
    color: white;
    text-align: center;
    padding: .75rem;
}

.sf-modal .modal-info {
	border-radius: 5px;
    background: #C52430;
    color: white;
    text-align: center;
    padding: 2rem;
}

.sf-modal-btn {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	justify-content: center;
}

.sf-modal-btn a {
	cursor: pointer;
}

.sf-help-link {
    color: #707070;
    justify-content: flex-end;
    margin-bottom: .5rem;
}

.sf-lottery {
	color: #990134;
}

#school-finder-list .dt-scroll {
	border-radius: 5px;
	border: 2px solid #EFEFEF;
	background: #F0F0F0;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

#school-finder-list .table {
	box-shadow: none;
	margin-bottom: 0;
}

.sf-nextyear #school-finder-list .dt-scroll {
	border-color: #CB5E66;
}

.sf-list-row:nth-of-type(odd) {
	background-color: white;
}

#school-finder-list th,
div.dt-container.dt-empty-footer tbody > tr:last-child > * {
	border: none
}

table.dataTable > thead > tr > th,
table.dataTable > tbody > tr > td {
    padding: 10px 20px;
}

#school-finder-list td {
	border-right: 1px solid #efefef;
}

.dt-scroll-head {
	display: none;
}

.dt-column-title {
    line-height: 1.8;
}

.dt-column-title .heading {
	font-weight: var(--font-semibold);
}

.dt-column-title .subheading {
	font-weight: var(--font-regular);
	font-size: .9rem;
}

.sf-list-row i {
	margin-right: 10px;
}

.dt-paging {
    width: fit-content;
    margin: 1rem auto 0;
}

div.dt-container .dt-paging .dt-paging-button {
	border: none;
    box-shadow: none;
    color: #00adda !important;
    padding: 0 .5rem;
	background: none;
}

div.dt-container .dt-paging .dt-paging-button.current {
	color: #000!important;
	font-weight: 600;
}

div.dt-container .dt-paging .dt-paging-button.previous,
div.dt-container .dt-paging .dt-paging-button.next {
    background: #000000!important;
    color: white!important;
	font-size: 16px;
	height: 40px;
    width: 40px;
    min-width: unset;
	line-height: 1;
	border-radius: 0;
	filter: drop-shadow(0 3px 7.5px rgba(0, 0, 0, 0.16));
}

div.dt-container .dt-paging .dt-paging-button.current, div.dt-container .dt-paging .dt-paging-button.current:hover,
div.dt-container .dt-paging .dt-paging-button.current, div.dt-container .dt-paging .dt-paging-button.current:active {
	background: none;
	border: none;
	box-shadow:none;
}

div.dt-container .dt-paging .dt-paging-button:hover,
div.dt-container .dt-paging .dt-paging-button:active {
	background: none;
	border: none;
	color: var(--link-hover-color)!important;
	box-shadow:none;
}

div.dt-container .dt-paging .dt-paging-button.next:hover,
div.dt-container .dt-paging .dt-paging-button.next:active,
div.dt-container .dt-paging .dt-paging-button.previous:hover,
div.dt-container .dt-paging .dt-paging-button.previous:active  {
	color: white !important;
}

div.dt-container .dt-paging .dt-paging-button.disabled, div.dt-container .dt-paging .dt-paging-button.disabled:hover {
    color: white !important;
    border: none;
}

div.dt-container .dt-paging .dt-paging-button.current {
	border: none;
	background: transparent;
}

div.dt-container.dt-empty-footer .dt-scroll-body {
    border-bottom: none;
}

.dt-layout-row:first-of-type {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.overlay-link {
	cursor: pointer;
	color: #00adda;
	margin-bottom: .25rem;
}

.overlay-link-checkbox {
	display: flex;
    align-items: center;
    gap: 5px;
}

.sf-ctas {
	border-radius: 5px;
	background: #F4EDDB;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
	text-align: center;
	padding: 1rem;
}

.sf-cta-list {
    display: flex;
	flex-direction: column;
    gap: 1rem;
}

.sf-cta {
	border-radius: 5px;
	background: #F8F8F8;
	align-self: stretch;
    padding: 2rem 1rem;
	gap: .5rem;
	justify-content: flex-start;
}

.main-content .sf-cta:hover, 
.main-content .sf-cta:focus {
	text-decoration: none;
}

.sf-cta i {
	color: #000000;
	font-size: 1.5rem;
	margin-bottom: .5rem;
}

.sf-cta p {
	color: var(--dark-font-color);
}

.top-container {
	border-bottom: 1px solid #707070;
	/* padding-bottom: 2rem; */
}

gmp-advanced-marker img {
	width: 30px;
}

.sf-legend img,
.school-list-name img {
	width: 20px;
}

.sf-marker {
    transform-origin: bottom center;   
    transition: transform 0.3s ease; 
    will-change: transform;
}

.sf-marker-active {
    transform: scale(1.3);
	/* animation: sf-pop 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);     */
	filter: drop-shadow(0 2px 5px rgba(0, 173, 218, 0.6));             
}

@keyframes sf-pop {
    0%   { transform: scale(1); }
    60%  { transform: scale(1.4); }  
    100% { transform: scale(1.3); }  
}

@media (min-width: 48em) and (max-width: 991px) {
	.sf-cta-list {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.sf-cta {
		flex-basis: calc(50% - 0.5rem);
		max-width: calc(50% - 0.5rem);
	}
}

@media (min-width: 62em) {
	.schoolfinder .main-content {
		width: 80%;
	}
	.sf-modal .modal-info {
		width: 60%;
	}

	.sf-ctas {
		padding: 1rem 1.5rem;
	}

	.sf-cta-list {
		flex-direction: row;
	}

	.sf-cta {
		flex: 1;
	}

	.sf-cta i {
		font-size: 2rem;
	}

	.school-finder .sidebar-group:first-of-type {
		padding: 2rem 2rem 0;
	}

	.school-finder .sidebar-group:last-of-type {
		padding: 0 2rem 2rem;
	}

	#sys-sf-map {
		width: 60%;
		max-height: unset;
	}

	#sys-sf-profile {
		width: 40%;
	}

	.sf-select {
		width: calc((100% - 50% - 8rem) / 2);
	}

	.sf-search {
		width: 50%;
	}

	.school-finder .sidebar-item {
		margin-bottom: 2rem;
	}

	.dt-scroll-body {
		overflow: visible!important;
	}

	#grades-select {
		column-gap: 0;
	}

	.school-finder label.checkbox-wrapper {
		width: calc(100% / 3);
	}

	.school-finder label.checkbox-wrapper:first-of-type {
		width: 100%;
	}

	.sf-legend {
		width: 100%;
	}

	.sf-legend-sm {
		width: calc(50% - 0.5rem);
	}

}

@media (min-width: 75em) {
	.sf-container {
		padding: 1.5rem 10% 0 2rem;
	}
}
