/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

.locations-search-container {
	margin: 0 auto;
	width: 100%;
}

.locations-search-container * {
	box-sizing: border-box;
}

.search-form {
	background: #F8F8F8;
	border: 1px solid #f0f0f0;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 1em;
	width: 100%;
}

.search-form::after {
	display: block;
	content: '';
	clear: both;
}

.search-form input,
.search-form select,
.search-form .nice-select {
	float: left;
}

.search-field {
	width: 100%;
}

.search-field-input {
	display: flex;
	width: 100%;
}

.search-field-input > * {
	align-items: stretch;
}

.search-field-input.focus {
	border-color: #999;
}

.search-form .nice-select {
	border: 1px solid #f0f0f0;
	border-left: 0 none;
	border-radius: 0;
	font-size: 100%;
	height: auto;
	padding: 2px 30px 0px 18px;
}

.search-form .nice-select .list {
	border-radius: 0;
	margin: 3px 0;
	width: 100%;
}

.search-form-options ul {
	list-style: none;
	margin: 3px 12px 0 !important;
	padding: 0;
}

.search-form-options ul li {
	display: inline;
	font-size: 90%;
}

.search-form-options ul li:after {
	content: '|';
	margin: 0 10px;
}

.search-form-options ul li:last-child:after {
	content: '';
}

.search-form input[type="text"] {
	background: #fff !important;
	border: 1px solid #f0f0f0 !important;
	border-right: 0 none !important;
	box-shadow: none !important;
	padding: 10px !important;
	transition: border-color 0.2s ease-in-out;
	width: 100%;
}

.search-form .search-field button {
	padding: 0 20px;
}

.search-form input:focus,
.search-form .search-field-input.focus input,
.search-form input:focus + select + div.nice-select,
.search-form .search-field-input.focus div.nice-select {
	border-color: #999 !important;
}

.search-form .search-field {
	display: flex;
}

.search-form .search-field > * {
	align-items: stretch;
}

.search-form .search-radius-field {
	float: right;
	padding: 10px 0;
}

.search-form .search-radius-field select {
	margin-left: 5px;
}

.advanced-search-options-container {
	height: 0;
	overflow: hidden;
	position: relative;
	transition: height 0.2s ease-in-out;
}

.advanced-search-options {
	bottom: 0;
	font-size: 90%;
	position: absolute;
	transition: bottom 0.2s ease-in-out;
	width: 100%;
}

.advanced-search-options fieldset legend {
	background: #dfdfdf;
}

.advanced-search-options fieldset fieldset legend {
	background: #f0f5f8;
	margin-bottom: 3px;
	margin-left: 0;
	margin-right: 0;
	width: 100%;
}

.advanced-search-options fieldset.two-columns fieldset.first legend {
	border-right: 3px solid #fff;
}

.advanced-search-options fieldset {
	background: #fff;
	border: 1px solid #f0f0f0;
	margin: 1em 0;
	padding-top: 0.5em;
}

.advanced-search-options fieldset fieldset {
	border: 0 none;
	margin: 1em 0 0;
	padding: 0;
}

.advanced-search-options fieldset::after {
	display: block;
	content: '';
	clear: both;
}

.advanced-search-options fieldset:last-child {
	margin-bottom: 0;
}


.advanced-search-options fieldset ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.advanced-search-options fieldset ul li {
	float: left;
	text-overflow: ellipsis;
	padding: 5px !important;
	width: 100%;
}

.advanced-search-options fieldset.two-columns fieldset {
	float: left;
	width: 100%;
}

.advanced-search-options fieldset.two-columns fieldset.first {
	float: left;
	width: 100%;
}

.advanced-search-options fieldset.two-columns fieldset ul li {
	width: 100%;
}

.advanced-search-options fieldset ul li {
	padding-left: 13px;
}

.advanced-search-options fieldset ul:after,
.advanced-search-options fieldset ul li::after {
	display: block;
	content: '';
	clear: both;
}

.advanced-search-options fieldset ul li input {
	float: none;
	margin: 6px 7px 0 3px;
}

.advanced-search-options fieldset ul li label {
	display: flex;
}

.advanced-search-options fieldset ul li label span {
	/*overflow: hidden;
	text-overflow: ellipsis;*/
	white-space: nowrap;
}

.advanced-search-options fieldset ul li label span.small {
	font-size: 88%;
	margin-top: 3px;
}

.advanced-search-options input[type="checkbox"] + i {
	margin-right: 3px;
	margin-top: 5px;
}

.search-results {
	margin: 25px auto 0;
	width: 100%;
}

.search-results ul.tabs {
	list-style: none;
	margin: 0px;
	overflow: hidden;
	padding: 0px;
}

.search-results ul.tabs li {
	background: none;
	border: 1px solid transparent;
	color: #222;
	cursor: pointer;
	float: left;
	margin-bottom: 0;
	padding-bottom: 0;
}

.search-results ul.tabs li:last-child {
	float: right;
	padding: 10px;
}

.search-results ul.tabs li a {
	color: #222;
	float: left;
	outline: none;
	padding: 5px 10px;
	min-width: 35px;
	text-align: center;
}

.search-results ul.tabs li.current {
	background: #F8F8F8;
	border: 1px solid #f0f0f0;
	color: #222;
}

.search-results .tab-content {
	background: #F8F8F8;
	border: 1px solid #f0f0f0;
	display: none;
	padding: 15px;
}

.search-results .tab-content.current {
	display: inherit;
}

.locations-list {
	clear: both;
	list-style: none;
	margin: 0 !important;
	padding: 0;
}

.tab-content::after {
	display: block;
	content: '';
	clear: both;
}

.sort .nice-select {
	border-radius: 0;
	clear: none;
	height: auto;
	line-height: 25px;
	margin: 0 0 5px 5px;
}

.sort .nice-select .list {
	border-radius: 0;
	margin-left: 0;
}

.sort .nice-select .list li {
	height: auto;
	line-height: 25px;
	min-height: unset;
}

.sort.footer .nice-select {
	margin-top: 5px;
}

.search-form a,
.search-results a {
	color: #003A6D;
}

.map {
	min-height: 500px;
}

.map .canvas {
	min-height: 500px;
	width: 100%;
}

.locations-list li {
	background: #fbfbfb;
	border: 1px solid #f0f0f0;
	border-bottom: 0;
	padding: 0.5em 1em;
}

.locations-list li:last-child {
	border-bottom: 1px solid #f0f0f0;
}

.locations-list li::after {
	display: block;
	content: '';
	clear: both;
}

.locations-list li i {
	float: left;
	margin-right: 10px;
	margin-top: 4px;
}

.locations-list .location-info a {
	color: #003A6D;
	display: block;
	font-weight: 600;
}

.locations-list .location-info p {
	font-size: 90%;
	margin: 0 0 5px 0;
	padding: 0;
}

.locations-list .location-info {
	float: left;
}

.locations-list .location-info .website-link {
	font-size: 90%;
	font-weight: normal;
}

.locations-list .contact-info {
	font-size: 90%;
	float: right;
	margin: 0;
}

.locations-list .contact-info dt {
	clear: both;
	float: left;
}

.locations-list .contact-info dd {
	float: right;
	margin: 0 0 0 10px;
}

.page-numbers {
	background: #fbfbfb;
	border: 1px solid #f0f0f0;
	padding: 2px 9px;
}

.page-numbers.dots {
	background: none;
	border: 0 none;
}

.page-numbers.current,
.page-numbers:hover {
	border-color: #999;
}

.pagination-links {
	float: left;
	margin-bottom: 0.5em;
}

.pagination-links.footer {
	margin-bottom: 0;
	margin-top: 0.5em;
}

.sort {
	float: right;
}

.marker .location-info a {
	float: left;
	font-weight: bold;
	margin-bottom: 5px;
}

.marker .location-info p {
	clear: both;
}

.marker .location-info .website-link {
	font-weight: normal;
}

.marker .contact-info {
	clear: both;
}

.marker .contact-info dd {
	margin-bottom: 5px;
}

.map {
	position: relative;
}

.map-overlay {
	background-color: rgba(0, 0, 0, 0.4);
	bottom: 0;
	left: 0;
	display: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}

.spinner + .map-overlay {
	display: block;
}

.single-location .map-canvas {
	float: right;
	margin-bottom: 25px;
	min-height: 200px;
	min-width: 200px;
}

.single-location .details {
	clear: both;
}

.single-location .contact-info {
	font-size: 90%;
}

.single-location .contact-info dd {
	margin-bottom: 5px;
}

.single-location .related-attributes {
	list-style: square;
}

.single-location .related-attributes li {
	font-weight: 700;
	padding-bottom: 0;
}

.single-location .related-attributes li li {
	font-weight: normal;
}

.single-location .entry-content {
	margin-bottom: 30px;
}

.single-location .time-table {
	width: 100%;
}

.single-location .time-table tr:last-child td {
	border-bottom: 0 none;
}

.single-location .time-table .name {
	font-weight: 700;
}

.single-location .time-table .name em {
	display: block;
	font-weight: normal;
}

.single-location .time-table .time {
	text-align: right;
}

.single-location .time-table td:first-child {
	width: 20%;
}

.single-location .time-table td {
	border-bottom: 1px solid #f0f0f0;
	padding: 10px 5px;
}

.single-location .time-table td em {
	font-size: 90%;
}

.single-location .time-table caption {
	background: #f0f5f8;
	padding: 7px;
}

.single-location .gmnoprint {
	display: none;
}

.single-location.fullscreen .gmnoprint {
	display: inherit;
}

.single-location .contact-info dt {
	font-weight: 700;
}

.single-location .contact-info dd {
	margin-left: 0;
}

.nice-select .list li {
	margin: 0;
	padding: 5px 20px;
}

.search-form ul li,
.search-results ul li {
	list-style-type: none !important;
}

.search-form	fieldset legend {
	padding: 5px 10px;
}

.search-results ul li.locations-found {
	float: right;
	margin-top: 7px;
}

.canvas .location-info {
	overflow: hidden;
}

.canvas .contact-info dt {
	font-weight: 700;
}

.canvas .contact-info dd {
	margin-left: 0;
}

.parish i {
	color: #7AAC36;
}
.school i {
	color: #DB0202;
}
.related i {
	color: #FBBF3C;
}
.other i {
	color: #197CC5;
}

@keyframes spinner-line-fade-more {
  0%, 100% {
    opacity: 0; /* minimum opacity */
  }
  1% {
    opacity: 1;
  }
}

@keyframes spinner-line-fade-quick {
  0%, 39%, 100% {
    opacity: 0.25; /* minimum opacity */
  }
  40% {
    opacity: 1;
  }
}

@keyframes spinner-line-fade-default {
  0%, 100% {
    opacity: 0.22; /* minimum opacity */
  }
  1% {
    opacity: 1;
  }
}

@media only screen and (min-width: 600px) {
	.advanced-search-options fieldset.two-columns fieldset {
		float: left;
		width: calc(100% / 3);
	}

	.advanced-search-options fieldset.two-columns fieldset.first {
		float: left;
		width: calc(100% / 3 * 2);
	}

	.advanced-search-options fieldset ul li {
		width: calc(100% / 3);
	}

	.advanced-search-options fieldset.two-columns fieldset.first ul li {
		width: 50%;
	}
}

