.spinning-image {
  animation: rotation 2s infinite linear;
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg); /* Use 359deg to ensure constant animation in some older browsers */
  }
}

.please_wait { margin-top: 2em; width: 100px; height: 100px; }
.compile_delay_warning { display: none; color: #ff0000; font-size: .9em; max-width: 250px; }
.download_export_link { text-decoration: none; font-weight: bold; padding: 10px; margin-top: 1em; display: inline-block; border-radius: 10px; border: solid 1px #ccc; background-color: #fafafa; }


#custom_export { flex-wrap: wrap; }
li.custom_export { display: none; }
#custom_export li.custom_export { display: flex; }

.usgd_msg { min-height: 55px; margin: .5em 0 1em 0; } 

#filter_instructions { display: flex; justify-content: space-between; }
#product_toggle_wrapper { margin-bottom: 50px; }
#product_toggle_wrapper .product_toggle { padding: 20px; width: 48%; border: solid 1px #ccc; border-radius: 10px; box-shadow: 1px 1px 2px #999; }
#product_toggle_wrapper .product_toggle:hover { cursor: pointer; }
#product_toggle_wrapper .product_toggle:hover,
#product_toggle_wrapper .product_toggle.active { background-color: var(--pale-green); box-shadow: 3px 3px 3px #333; }
#product_toggle_wrapper .product_toggle .amt { color: var(--green); font-weight: bold; font-size: 1.1em; }
#product_toggle_wrapper .product_toggle h3 { line-height: normal; margin: 0 0 20px 0; }

/* #product_toggle_wrapper div[data-toggle='contact_list_export'] {background-image: url(/wp-content/uploads/best-value-3.png); background-repeat: no-repeat; background-position-x: 15px; background-position: bottom; background-position-x: 10px; } */

section.product_wrapper { display: none; flex-wrap: wrap; }
section.product_wrapper ul { margin-left: 1em; }
section .product_description { width: 49%; margin-right: 2%; }
section .extended_service_note { width: 49%; background-color: #f9f9f9; border: solid 1px #efefef; border-radius: 10px; padding-left: 20px; }
section.product_wrapper .extended_service_note .controls { display: flex; flex-direction: column; float: right; margin-right: 3em; }
section.product_wrapper .extended_service_note .controls>* { margin-bottom: 1.5em; }

.product_total { clear: both; float: right; text-align: right; font-weight: bold; line-height: 2em; }
.product_total .amt { color: green; }

/* .one_product_checkout_note { color: var(--red); background-color: #fff8dc; padding: 5px; font-size: .85em; margin: 1em auto; border-radius: 5px; border: solid 1px; font-style: italic; } */
.one_product_checkout_note { color: var(--red); font-size: .85em; margin: 1em; font-style: italic; }
.one_product_checkout_note p { margin-bottom: 0; }

/* ################## CHECKOUT PAGE ###################### */

/* ################## CART PAGE ###################### */
.wp-block-woocommerce-empty-cart-block h2:last-of-type { display: none; }

/* DYNAMIC LOOKUPS */
.usgd-dl { display: none; z-index: 100; position: absolute; width: 100%; max-width: 100%; }
.usgd-dl ul { background-color: #fff; margin: 0; width: 97%; border: solid 1px; box-shadow: 3px 3px 3px #999; list-style: none; margin-block-start: 0; margin-block-end: 0; padding-inline-start: 0; }
.usgd-dl ul li { padding: 10px 5px; margin: 0; border: solid 1px #ccc; border-bottom: solid 1px #ccc; font-size: 16px; }
.usgd-dl ul li:hover { cursor: pointer; background-color: var(--pale-green) !important; }

.usgd_reset { font-size: 16px; text-align: right; margin: 0 1em 1em 0; }
.usgd_reset:hover { cursor: pointer;  }

/* FORMS */
label { display: block; font-size: 14px; color: #333; }
.field_wrapper input[type='text'],
.field_wrapper input[type='number'],
.field_wrapper input[type='datetime'] { width: 98%; padding: 10px 5px; border: solid 1px #ccc; font-size: 16px; background-color: #fff; }
#usgd-course-filter-form input[type='checkbox'] { transform: scale(1.5); margin-right: 10px; }

.field_wrapper { display: block; position: relative; min-width: 100px; margin: .5em .5em 0 0; }
.field_wrapper:last-of-type { margin-right: 0; }
.field_wrapper.toggle_holes { width: 50px; max-width: 50px; min-width: 50px; align-self: center; font-size: 1.5em; text-align: right; }
.field_wrapper.toggle_holes i:hover { cursor: pointer; }
.contingent { display: none !important; }
.at_per_course { font-size: 14px; }

label.all_states { margin-top: 10px; }

a.button { text-decoration: none; }
.button { padding: 5px 20px; }
.button-primary { background: #135e96; border-color: #135e96; box-shadow: none; color: #fff; }

.extended_service { margin-bottom: 1em; max-width: 250px; font-size: 16px; padding: 10px; border: solid 1px #ccc; border-radius: 10px; background-color: #efefef; }
.extended_service h3 { font-size: 18px; text-decoration: underline; font-weight: bold; margin: 3px 0; }
.extended_service .months { display: flex; justify-content: space-between; font-weight: bold; margin: 20px 0; } 
.extended_service .months input { outline: none; }

.custom_export_instructions ol li { margin-bottom: .5em; }
.custom_export_instructions ol li::marker { font-weight: bold; }

.price_per_month { font-size: 14px; text-align: right; }

/* FILTER FORM */
#filter_form_outer_wrapper { width: 100%; }
#filter_form_outer_wrapper>.inner_wrapper { border: solid 3px #eee; border-radius: 10px; background: #fff; padding: 20px; }
#usgd-course-filter-form { display: flex; }
#usgd-course-filter-form .usgd-filter-fields { width: 70%; }
#usgd-course-filter-form .usgd-filter-summary { padding: 0 20px 20px 20px; width: 29%; }
#usgd-course-filter-form .usgd-filter-summary h3 { margin: 0; }

#usgd-course-filter-form .usgd-filter-summary .usgd-summary-item { margin-bottom: 1em; font-size: 20px; }
#usgd-course-filter-form .usgd-filter-summary .usgd-summary-item.usgd-total-cost { font-size: 22px; font-weight: bold; }
.usgd_selected { background-color:   var(--pale-green);   }

.usgd-filter-fields .field_wrapper { margin: 0; max-width: 320px; }
.usgd-filter-fields .inner_wrapper {display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1em; border: solid 1px #ddd; background:   var(--pale-green);   padding: 15px; border-radius: 10px; }
.usgd-filter-fields .inner_wrapper>div:first-of-type { width: 40%; }
.usgd-filter-fields .inner_wrapper>div:last-of-type { width: 60%; }
.usgd-filter-fields .inner_wrapper .pill { position: relative; display: inline-block; padding: 3px 30px ; background-color: #333; color: #fff; border: outset #b9b931 2px; border-radius: 30px; min-width: 100px; text-align: center; font-size: 14px; font-weight: 600; margin: 0 0 1em 0; }
.usgd-filter-fields .inner_wrapper .pill .close { position: absolute; line-height: 1em; right: 10px; font-size: 1.2em; font-weight: bold; }
.usgd-filter-fields .inner_wrapper .pill .close:hover { cursor: pointer; }
.usgd-selected-values h4 { margin: 5px 0; font-size: 18px; font-weight: 600; }

/* THANK YOU PAGE ET AL */
.order-again { display: none; }

/* ALERTS */
.alert { position: relative; min-height: 1em; padding: .75rem 1.25rem; margin-bottom: 1rem; border: 1px solid transparent; border-radius: .25rem; }
.alert-primary { color: #004085; background-color: #cce5ff; border-color: #b8daff; }
.alert-secondary { color: #383d41; background-color: #e2e3e5; border-color: #d6d8db; }
.alert-success { color: #155724; background-color: #d4edda; border-color: #c3e6cb; }
.alert-danger { color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; }
.alert-warning { color: #856404; background-color: #fff3cd; border-color: #ffeeba; }
.alert-info { color: #0c5460; background-color: #d1ecf1; border-color: #bee5eb; }
.alert-light { color: #818182; background-color: #fefefe; border-color: #fdfdfe; }
.alert-dark { color: #1b1e21; background-color: #d6d8d9; border-color: #c6c8ca; }

.hide { display: none; }
.state, #state { text-transform: uppercase; }

@media (max-width:1024px) {
	
	#product_toggle_wrapper { flex-direction: column; margin-bottom: 0; }
	#product_toggle_wrapper .product_toggle { width: 100%; margin-bottom: 2em; }
	
	#usgd-course-filter-form { position: relative; flex-direction: column; }
	#usgd-course-filter-form .usgd-filter-fields { width: 98%; }
	#usgd-course-filter-form .usgd-filter-summary { width: 98%; }
	.usgd-filter-fields .inner_wrapper { flex-direction: column; }
	.usgd-filter-fields .field_wrapper { max-width: 96%; margin-bottom: 1em; }
	.usgd-filter-fields .inner_wrapper>div { width: 96%; }

	#filter_instructions { flex-direction: column; }
	#filter_instructions>div { width: 98%; margin: auto; }
	.usgd-filter-fields .inner_wrapper>div:first-of-type { width: 90%; }
	.usgd-filter-fields .inner_wrapper>div:last-of-type { width: 90%; }

}

@media (max-width:767px) {
	#filter_form_outer_wrapper>.inner_wrapper { padding: 5px; }

	#contact_list_export { flex-direction: column; }
	section .product_description,
	section .extended_service_note { width: 94%; margin: auto; }

	section.product_wrapper ul { margin: 0 1em; }

}

@media (max-width: 568px) {
	#block-15 * { font-size: .9em; }
	.col-full { margin-left: .5em !important; margin-right: .5em !important; }
	section.product_wrapper .extended_service_note .controls { margin-right: 0; }
	
}