
.fem {display:grid;grid-template-columns:30% 68%;grid-column-gap: 2%;margin-bottom:40px;}
.fem p, .fem h2, .fem h3, h2.category{margin: 0 0 4px 0 !important;padding:0 !important;}

.fem a, input#submit.fem-register{cursor:pointer;}
.fem .hide { display: none !important; }

.femright img {width:100%!important;object-fit: contain;}

/* Force featured images into a consistent 4:3 box, cropping any source ratio to fit */
.fem-thumb-43 {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #eee;
}
.fem-thumb-43 img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}
/* Fallback for browsers without aspect-ratio support */
@supports not (aspect-ratio: 4 / 3) {
	.fem-thumb-43::before {
		content: "";
		display: block;
		padding-top: 75%; /* 3/4 = 75% keeps a 4:3 box */
	}
}

.fem .attendees {font-style: italic;}
.fem .toofew {color:red;}
.fem a {text-decoration: underline;}
.fem .available {color:#db5f46;}

/* Registration Form */
#femregistration {margin-bottom: 20px;scroll-margin-top: 60px;}
.fem_input {width:100%;border:1px solid #415063;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;overflow:hidden;}
#femregistration .validator {margin-left: -999px;height:0;}
.fem div.inputlabel{margin: 6px 0 2px 0;}
.fem div.forminput{margin: 0;}
.fem input[type=text], .fem input[type=email], .fem input[type=number], .fem select {-webkit-appearance: none; appearance: none;padding: 4px;font-family: inherit;font-size: inherit;height:auto!important;width: 100%;box-sizing: border-box;border: 1px solid #003e7e;background:#ffffff;}
.fem select {width: 3em;text-align: center;}
.fem .femsubmit {font-family: inherit;font-size: inherit;height:auto;width: 100%;box-sizing: border-box;line-height:normal;margin: 12px 0 3px 0;padding: 6px;background: #003e7e;color:#FFF;text-align: center;cursor: pointer;border:none;}
.fem .femsubmit:hover {background-color: #1A82C7;}

.fem #toomany {display:none; color:red; font-weight: 900; text-align: center;}

.fem .peoplenumbers {margin-top: 6px;}
.fem .peoplenumbers table {width:100%;border-collapse: collapse;}
.fem .peoplenumbers table td {padding:0 0 6px 8px; text-align: right;}
.fem .peoplenumbers table td:first-child {text-align: left;padding-left:0;}
.fem .peoplenumbers .totalvalue {font-size: 1.2em; font-weight: 900;}
.fem .peoplenumbers .totalvalue td:last-child {text-align: right;}

#hidenames {display:none;}

.fem .registration-content {margin-bottom: 12px;}
.fem .thankyoutitle {color: #003e7e;font-weight: 900;font-size: 22px;margin-bottom: 12px;}
.fem .thankyoublurb {font-size: 18px;color: #1A82C7;}

/* Error */
.error_blurb { display: block;color: red;margin-bottom: 12px; }
.fem #error {display:none;color:red;font-weight: 900;}
.fem input[type=text].warning, .fem input[type=email].warning, .fem input[type=number].warning {border: 1px solid #db2032;}

@media only screen and (max-width: 960px) {
	.fem h2 {font-size:1.4em;}
	.fem h3 {font-size:1.2em;}
}

@media only screen and (max-width: 600px) {
	.fem {margin-bottom: 24px;}
}
