/* header */

header a:has(.logo) {
	display: inline-block;
	padding: 2rem 0;
}

header .logo {
	align-items: flex-end;
	aspect-ratio: 2.6565;
	display: inline-grid;
	gap: 5%;
	grid-template-columns: 37% 58%;
	justify-content: flex-start;
	margin: 0;
	width: 260px;
}

/* general */
.button {
	transition: 300ms ease-out !important;
}

.button.disabled {
	opacity: .3 !important;
	pointer-events: none;
}


/* user edit form */

form fieldset {
	max-width: 100%;
	min-width: 0;
}

.password-strength {
	max-width: 17em;
	float: none;
	margin: 0 0 1rem;
}

.confirm-parent, 
.password-parent {
	max-width: 100%;
}

.location .form-item input {
	max-width: 100%;
}



/* my orders page */

.view-commerce-user-orders .view-content {
	overflow: auto;
}

.view-commerce-user-orders .view-content table {
	min-width: 37.5rem;
}


/* advanced student list */

.view-advanced-students-list .view-content {
	overflow: auto;
}

.view-advanced-students-list table {
	min-width: 30rem;
}


/* course downloads */

@media(max-width:1400px) {
	.view-course-downloads {
		font-size: .875rem	
	}
}

.view-course-downloads .view-content {
	overflow: auto;
	max-width: 100%;
}

.view-course-downloads .views-table {
	min-width: 50rem;
	width: 100%;
}
	
.view-course-downloads .field-name-field-downloads table {
	font-size: .875em;
	margin: 0;
}
	
.view-course-downloads .field-name-field-downloads thead {
  display: none;
}
	
.view-course-downloads .field-name-field-downloads tr {
  background: none;
  border: none;
  padding: 0;
}
	
.view-course-downloads .field-name-field-downloads td {
  padding: 0 0 .5rem;
}
	
.view-course-downloads .field-name-field-downloads tr:last-child td:first-child {
  padding: 0;
}
	
.view-course-downloads .field-name-field-downloads td:last-child {
  display: none;
}	


.view-courses .view-content {
	overflow: auto;
	max-width: 100%;
}

.view-courses .views-table {
	min-width: 50rem;
	width: 100%;
}



/* courses with wine purchase option */

/*.course-multiple-price-wrapper {
	display: flex;
	margin: 3rem -1rem;
}*/

.course-multiple-price-wrapper {
	padding-top: 2rem;
}

.course-multiple-price-wrapper .course-multiple-price-item:first-child {
	padding-bottom: 1rem;	
}

.course-multiple-price-wrapper .course-multiple-price-item label {
	align-items: flex-start;
	display: flex;
}

.course-multiple-price-wrapper .course-multiple-price-item input {
	margin-top: .25rem;
	padding: .5rem;
}

.course-multiple-price-wrapper .course-multiple-price-item h5 {
	font-weight: 600;
	margin: 0;
	white-space: nowrap;
}

.node-course-instance .course-multiple-price-wrapper .course-price {
	font-size: 1rem;
	padding: 0 0 0 1rem;
}

.node-course-instance #ship-state-select-wrapper {
	font-size: .875rem;
	line-height: 1.1;
	padding-top: .5rem;
}

.node-course-instance #ship-state-select-wrapper p {
	font-size: .8125rem;
}

.node-course-instance #ship-state-select-wrapper select {
	width: auto;
}

.node-course-instance #ship-state-select-wrapper .error {
	color: red;
}

.node-course-instance #no-wine-kit-warning {
	font-size: .8125rem;
	margin-top: 1rem;
}

.node-course-instance #no-wine-kit-warning:not(.active) {
	display: none;	
}


/* checkout */

#commerce-checkout-form-review #edit-buttons {
	font-size: .8125rem;
}

#commerce-checkout-form-review #edit-buttons h3 {
	border-bottom: 1px solid #aaa;
	font-size: 1.375rem;
	padding-bottom: .5rem;
}

#commerce-checkout-form-review #edit-buttons h4 {
	font-size: 1.125rem;
}

#commerce-checkout-form-review #edit-buttons h3:not:first-child {
	margin-top: 2rem;
}

#commerce-checkout-form-review #edit-buttons dl ul {
	padding-left: 1rem;
}

#commerce-checkout-form-review #edit-buttons .responsive-table {
	overflow: auto;
}

#commerce-checkout-form-review #edit-buttons .responsive-table table {
	min-width: 25rem;
}

#edit-buttons table tr:first-child td {
	text-decoration: underline;
}

#commerce-checkout-form-review #edit-buttons .form-type-checkbox {
	margin-top: 2rem;
}




/* video added to online course landing */


/*
.node-course-landing-page .field-collection-container > .row:first-child .columns:first-child img {
	display: none;
}*/

.node-course-landing-page .field-collection-container > .row:first-child .columns:last-child .responsive-video {
	padding:56.25% 0 0 0;
	position: relative;
}

@media(min-width:768px) {
	.node-course-landing-page .field-collection-container > .row:first-child .columns:last-child .responsive-video {
		left: auto;
		margin: .5rem 1rem;
		position: absolute;
		right: 100%;
		top: 0;
		width: calc( 100% - 2rem);
	}
}




/* action button */

.action-button {
	background-color: transparent;
	border: 1px solid #030303;
	color: #000;
	cursor: pointer;
	display: inline-block;
	height: var(--height);
	padding: .25rem .5rem;
	position: relative;
	width: var(--width);
}

.action-button:after {
	content: "^";
	display: inline-block;
	margin-left: .5rem;
	position: absolute;
	right: .5rem;
	top: 50%;
	transform: translateY(-50%) rotate( 180deg );
}

.action-button > span {
	display: block;
	position: absolute;
}

.action-button > span:last-child {
	background: #e6e6e6;
	opacity: 0;
	padding: .326rem .5625rem;
	pointer-events: none;
	top: 100%;
	transform: translate(-9px, 1px);
	transition: opacity .3s;
	width: calc(100% + 2px);
}

.action-button.open > span:last-child {
	opacity: 1;
	pointer-events: all;
}

.action-button a {
	color: #000;
	text-decoration: none !important;
}


/* recusals*/

.block-views-recusals-block-1 {
	padding-top: 3rem;
}

.view:is(.view-recusals, .view-Recusals) {
	font-size: .9375rem;
	position: relative;
}

.view:is(.view-recusals, .view-Recusals) .view-header {
	font-size: .75rem;
}

.view:is(.view-recusals, .view-Recusals) .view-header .button {
	bottom: 100%;
	font-size: 1rem;
	position: absolute;
	right: 0;
}

.view:is(.view-recusals, .view-Recusals) .view-content {
	overflow: auto;
	width: 100%;
}

.view:is(.view-recusals, .view-Recusals) .view-content table {
	min-width: 800px;
	width: 100%;
}

.view:is(.view-recusals, .view-Recusals) .recused-name,
.view:is(.view-recusals, .view-Recusals) .recusal-date {
	white-space: nowrap;
}

.view:is(.view-recusals, .view-Recusals) .recusal-reason {
	font-size: .875rem !important;
}

.view:is(.view-recusals, .view-Recusals) .recusal-reason li {
	line-height: 1.2;
}

.view:is(.view-recusals, .view-Recusals) .recusal-reason li:not(:last-child) {
	margin-bottom: .5rem;
}

.view:is(.view-recusals, .view-Recusals) .recusal-actions .button {
	margin-bottom: 0;
}




/* overwrite flexslider img width on home page */

.view-home-page-flexslider .flexslider .slides img {
	width: auto;
}






/* registration page */

form:is(#user-register-form,#user-profile-form) input:where([type="text"], [type="date"], [type="datetime"], [type="email"], [type="number"], [type="tel"], [type="time"], [type="url"]),
form:is(#user-register-form,#user-profile-form) textarea,
form:is(#user-register-form,#user-profile-form) select {
	height: auto;
	margin: 0;
	padding: .25em .5em;
}

form:is(#user-register-form,#user-profile-form) .form-item {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
}
form:is(#user-register-form,#user-profile-form) .field-name-field-ethnicity-groups .form-item {
	align-items: flex-start;
}

form:is(#user-register-form,#user-profile-form) label {
	align-items: center;
	display: flex;
	float: none;
	font-size: .875rem;
	justify-content: flex-end;
	margin: 0;
	padding: .375em;
	text-transform: uppercase;
}

form:is(#user-register-form,#user-profile-form) .description {
	font-size: .8125rem;
	margin-top: .25rem;
	text-align: left;
	width: 100%;
}

form:is(#user-register-form,#user-profile-form) fieldset {
	animation-duration: 4s;
	animation-delay:  .5s;
	animation-fill-mode: both;
	margin: 0 -1rem;
	padding: 1rem 1rem 0;
}

form:is(#user-register-form,#user-profile-form) fieldset:target {
	animation-name: highlight;
}

form:is(#user-register-form,#user-profile-form) fieldset legend {
	transform: translateY(100%);
}

form:is(#user-register-form,#user-profile-form) .form-type-checkboxes .form-type-checkbox {
	padding-left: .75rem;
}

form:is(#user-register-form,#user-profile-form) .form-type-checkboxes .form-type-checkbox label {
	background: none;
	border: none;
	clear: both;
	color: #4d4d4d;
	float: none;
	padding: 0 0 0 .25rem !important;
	text-align: inherit;
	text-transform: none;
	width: auto;
}

form:is(#user-register-form,#user-profile-form) div:not(.form-checkboxes) > .form-type-checkbox {
	align-items: center;
	justify-content: flex-start;
}

form:is(#user-register-form,#user-profile-form) div:not(.form-checkboxes) > .form-type-checkbox input[type="checkbox"] {
	margin-left: .5rem;
	max-width: 1.25rem;
}

form:is(#user-register-form,#user-profile-form) div:not(.form-checkboxes) > .form-type-checkbox label {
	order: -1;
}

form:is(#user-register-form,#user-profile-form) .form-type-password div.password-strength,
form:is(#user-register-form,#user-profile-form) .form-type-password div.password-confirm {
  margin-top: 1rem;
  order: 1;
  width: 100%;
}

form:is(#user-register-form,#user-profile-form) .form-type-password label {
  min-width: 180px;
}

form:is(#user-register-form,#user-profile-form) .form-type-password input[type="password"] {
  margin: 0;
}

@keyframes highlight {
	from {
		background-color: rgb(255, 255, 0,.15);
	}
	
	to {
		background-color: rgb(255, 255, 0,0);
	}
}


/* diversity, ethnicity message */

#diversity-request .wrapper {
	background: white;
	padding: 1.5rem 2rem;
}

#diversity-request.modal {
	background: rgba(255,255,255,.3);	
	display: flex;
	height: 100vh;
	left: 0;
	position: fixed;
	top: 0;
	width: 100vw;
	z-index: 9999999999;
}

#diversity-request.modal .wrapper {
	border-radius: .5rem;
	margin: auto;
	max-width: 600px;
	width: 94%;
}

#diversity-request a {
	font-weight: 600;
}




/* gift courses */

body.section-gift-course main > .main {
	float: none;
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
}

body.section-gift-course .node-page .clear {
	clear: both;
}

body.section-gift-course .node-page .testimonials {
	clear: both;
	display: flex;
	flex-wrap: wrap;
	margin-left: -1rem;
	margin-right: -1rem;
}

body.section-gift-course .node-page .testimonials > p {
	flex: 0 0 100%;
	padding-left: 1rem;
	padding-right: 1rem;
	width: 100%;
}

body.section-gift-course .node-page .testimonial {
	border: 1px solid #ddd;
	color: #666;
	display: flex;
	flex-direction: column;
	font-style: italic;
	justify-content: center;
	margin: 0 1rem;
	padding: 1rem;
	text-align: center;
	width: calc(50% - 2rem);
}

@media(min-width:1201px) {
	body.section-gift-course .node-page .field-name-body img.left {
		margin: 0 1rem 1rem 0;
		max-width:300px;
	}

	body.section-gift-course .node-page .field-name-body img.right {
		margin: 0 0 1rem 1rem;
		max-width:400px;
	}
}

@media(max-width:1200px) {
	body.section-gift-course .node-page .field-name-body img.left,
	body.section-gift-course .node-page .field-name-body img.right {
		display: block !important;
		float: none !important;
		max-width: 400px;
	}
}

#coms-gift-courses-form {
	--spacing: 2rem;
	background: rgba(255,255,255,.2);
	margin-top: var(--spacing);
	padding: var(--spacing)
}

@media(min-width: 1201px) {
	#coms-gift-courses-form {
		--spacing: 4rem;
	}
}

#coms-gift-courses-form input[type="text"] {
	width: auto;
}

@media(min-width:1201px) {
	#coms-gift-courses-form > div {
		display: flex;
		flex-wrap: wrap;
	}
	
	#coms-gift-courses-form .image {
		order: 1;
		width: 30%;
	}
	
	#coms-gift-courses-form .wrapper {
		width: 70%;
	}
}

#coms-gift-courses-form .image img,
.block-coms-gift-courses-gift-course-login img {
	width: 100%;
}

@media(max-width:1200px) {
	#coms-gift-courses-form .image img {
		max-width: 400px;
	}
}

#coms-gift-courses-form > div > .form-item {
	margin: 0;
}

#coms-gift-courses-form > div > .form-item:nth-child(odd) {
	padding-right: .5rem;
}

#coms-gift-courses-form > div > .form-item:nth-child(even) {
	padding-left: .5rem;
}

#coms-gift-courses-form .form-item .description {
	font-size: .75rem;
	margin-top: .75rem;
}

#coms-gift-courses-form > div > .form-item-product-id {
	margin-bottom: 1rem;
	margin-top: .5rem;
	min-width: 100%;
}

#coms-gift-courses-form > div > .form-item-product-id .description {
	margin: 1rem 0;
}

#coms-gift-courses-form .form-submit {
	margin-bottom: 0;
}

.block-coms-gift-courses {
	margin-top: 2rem;
}

@media(min-width:1201px) {
	.block-coms-gift-courses {
		margin-top: 3rem;
	}
}

@media(min-width:1201px) {
	.block-coms-gift-courses-gift-course-login {
		align-items: center;
		display: flex;
		justify-content: space-around;
	}
	
	.block-coms-gift-courses-gift-course-login .item {
		text-align: center;
		width: 50%;
	}
	
	.block-coms-gift-courses-gift-course-login .item:first-child {
		order: 1;	
	}
}

@media(max-width:1200px) {
	.block-coms-gift-courses-gift-course-login .item:first-child {
		margin-bottom: 2rem;	
	}
}

.block-coms-gift-courses-gift-course-login img {
	max-width: 400px;	
}



/* master board listing */

@media(min-width:901px) {
	.row-flex {
		display: flex;
		justify-content: space-between;
	}
}

.container-small {
	max-width: 1000px;
}




/* resources */


.pane-list-of-file-resources-panel-pane-4 .view-grouping-header {
	display: none;
}

.pane-block-18 {
	padding: 0 4% 3rem;
	text-align: center;
}

.pane-block-18 .pane-content {
	border-top: 1px solid #aaa;
	padding-top: 1rem;
}




/* Job Board Page */
.ca-widget-jobs :is(.ca-search-container,.ca-filter-panel-container,.ca-jobcard-container,.ca-load-more-container,.ca-post-job-banner-container) {
	max-width: 100% !important;
}







/* replacement order forms */

#replacement-orders {
	border: 1px solid #999;
	/*border-width: 0 0 1px;*/
	padding: 1rem;
}

#replacement-orders summary h3 {
	margin: 0;
}

#replacement-orders hr {
	border-color: #999;
}

#certificate-order-form {
	margin: 0;
}

#certificate-order-form label {
	margin: 0;
}

#certificate-order-form .radio-label {
	color: #4d4d4d;
	font-family: Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif;
	font-size: 1em;
	font-weight: 500;
	text-transform: uppercase;
}

#certificate-order-form .radio-label,
#certificate-order-form .form-item:has(select) label {
	min-width: 4.5rem;
}

#certificate-course {
	margin: 0;
	min-width: 200px;
	padding: .25rem .5rem;
	width: auto;
}

#certificate-order-form .form-item {
	align-items: center;
	display: flex;
	gap: 1rem;
}

#certificate-order-form select {
	background: none;
}

#certificate-order-form .form-actions {
	margin-bottom: 0;
}




/* sponsors page */
.view-sponsor-listing .view-content {
	--gap: 2rem;
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	justify-content: center;
	padding-block: 3rem;
	text-align: center;
	width: 100%;
}

.view-sponsor-listing .views-row {
	width: 100%;
}

@media(min-width:1201px) {
	.view-sponsor-listing .views-row {
		width: calc(25% - var(--gap));
	}
}

@media(min-width:901px) and (max-width:1200px) {
	.view-sponsor-listing .views-row {
		width: calc(33.333% - var(--gap));
	}
}

@media(min-width:601px) and (max-width:900px) {
	.view-sponsor-listing .views-row {
		width: calc(50% - var(--gap));
	}
}

.view-sponsor-listing .image {
	margin-bottom: 1rem;
}