.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; }
.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; }
.highlight { position: relative; min-height: 1em; padding: .75rem 1.25rem; margin-bottom: 1rem; border: 1px solid transparent; border-radius: .25rem; color: #1b1e21; background-color: #d6d8d9; border-color: #c6c8ca; }

/* ################## TEMP OVERRIDE ###################### */
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: 1200px; }
:where(.wp-site-blocks :focus) { border: solid 1px #ccc !important; }
body.wp-singular,
body.admin_page_usgd-course,
body.toplevel_page_usgd-courses { background: #F0E68C; } 
/* ################## TEMP OVERRIDE ###################### */

/* ################## CHECKOUT PAGE ###################### */
.wc-block-components-checkout-step__content * { box-shadow: none !important; }
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-checkout-step__content>* { background-color: #fff; border: solid 3px #4a5b39; border-radius: 8px; }
#order-notes .wc-block-components-checkout-step__content .wc-block-checkout__add-note { background-color: #F0E68C; border: none; }
.wc-block-components-notices { border: none; }

/* ################## CART PAGE ###################### */
.wc-block-components-quantity-selector { border: none; box-shadow: none; }
.wc-block-components-quantity-selector__button { 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: #F0E68C !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; }

.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; }
.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; }

.price_per_month { font-size: 14px; text-align: right; }

/* FILTER FORM */
#usgd_outer_wrapper>.inner_wrapper { border: solid 5px #eee; border-radius: 10px; background: #fff; padding: 20px; }
#usgd_outer_wrapper>.inner_wrapper:hover { border: solid 5px #4a5b39; }
#usgd-course-filter-form { display: flex; }
#usgd-course-filter-form .usgd-filter-fields { width: 74%; }
#usgd-course-filter-form .usgd-filter-summary { padding: 0 20px 20px 20px; width: 24%; }
#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: #F0E68C; }

.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: rgba(240, 230, 140, .3); padding: 30px; border-radius: 10px; }
.usgd-filter-fields .inner_wrapper>div { width: 50%; }
.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; }

/* 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) {
	#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%; }
	
	
}