/********** TEXT, TEXTAREAS, SELECT BOXES, DATES for forms *************/
/* Add the following into the head section of the website: <link rel="stylesheet" href="/_data/global/styles/FormStyles.css" type="text/css" /> */
.labelReq::after { 
	  content: " *";
	  color:red;        
	  font-size: 18px;
}

.hasDatepicker {
  padding: 6px 10px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
} 

.content input[type=text]:not(.hasDatepicker):not(.currency),
.content input[type=email],
.content input[type=password] {
  /* width: 100%; */
  height: 100%;
  padding: 6px 10px;
  margin-bottom: 3px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
}

td .content {
	vertical-align: top;
}

/* styling email subscription widget */
table#emailsubscriptions td.content, table#groupmemberships td.content {
	vertical-align: bottom;
	padding-top: 8px;
}

/* styling email subscription widget */
table#emailListSubscription table#emailsubscriptions {
	margin-left: 10px;
}

/* styling email subscription widget */
table#emailListSubscription td.appOutput {
	padding-left: 10px;
}

hr {
	 border: 1px solid #ccc;
}

input.appInputText.textbox {
  display:block;
  width: 100%;
  height: 100%;
  padding: 6px 10px;
  margin-bottom: 3px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
}

input.appInputText.textbox.city {
  width: inherit;
}

input.appInputText.textbox.zip {
  width: auto;
}

input.text.keywords.textbox {
  width: 100%;
  height: 100%;
  padding: 6px 10px;
  margin-bottom: 3px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
}

input.appInputText.date {
  width: 35%;
  height: 100%;
  padding: 6px 10px;
  margin-bottom: 3px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
}

select.appInputSelect {
  height: 100%;
  padding: 6px 10px;
  margin-bottom: 3px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
}

select.appInputSelect.date {
  width: inherit;
}

input.form-control[type="text"], input.form-control[type="email"], select.form-control.multiselect {
  height: inherit !important;
}

input.appInputText[type="text"], input.appInputText[type="email"], select.appInputText.multiselect, select.appInputSelect {
  height: inherit !important;
}

.content .currency {
  width: 96%;
  height: 100%;
  padding: 6px 10px;
  margin-bottom: 3px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
} 

input[type=checkbox] {
  margin-bottom: 5px;
}
input[type=radio] {
  margin-bottom: 5px;
}

textarea {
  padding: 6px 10px;
  margin-bottom: 3px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
  resize: none;
} 

select {
  height: 100%;
  padding: 6px 20px;
  border: 2px solid #ccc;
  border-radius: 4px;
} 

table.Box.registration {
  border: 2px solid #ccc;
  border-radius: 4px;
}

table.calInner {
  border: 2px solid #ccc;
  border-radius: 4px;
}

table.registration.searchresults {
  border: 2px solid #ccc;
  border-radius: 4px;
}

table.gridcal {
  border: 2px solid #ccc;
  border-radius: 4px;
}

input[type=button].registration {
	font-size: 14px;
    background-color: #28a745;
    color: #fff;
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: 4px;
	margin-top: 20px;
}
input[type=submit].registration {
	font-size: 14px;
    background-color: #28a745;
    color: #fff;
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: 4px;
	margin-top: 20px;
}
input[type=submit].submit.search {
	font-size: 14px;
    background-color: #28a745;
    color: #fff;
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: 4px;
	margin-top: 20px;
}

input.appInputButton.addToCart {
    font-size: 14px;
    background-color: #28a745;
    color: #fff;
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
	margin-top: 20px;
}

input.appInputButton.search
 {
    font-size: 14px;
    background-color: #28a745;
    color: #fff;
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
	margin-top: 20px;
}

input.appInputButton.clear {
    font-size: 14px;
    background-color: #28a745;
    color: #fff;
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
	margin-top: 20px;
}

input.appInputButton.next {
    font-size: 14px;
    background-color: #28a745;
    color: #fff;
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
	margin-top: 20px;
}

/********** CHECKBOX AND RADIO STYLES for custom forms in \_circuitslibrary\customforms *************/

.control-group {
  display: inline-block;
  width: 200px;
  text-align: left;
  vertical-align: middle;
  background: #fff;
  padding-bottom: 3px;
  /*box-shadow: 0 1px 2px rgba(0,0,0,.1);*/
}

.control-group.searchoption {
  margin-bottom: 5px;
}

.control-group.productLabel {
	width: auto;
}

.control {
  position: relative;
  display: block;
  padding-left: 30px;
  padding-top: 5px;
  cursor: pointer;
}

.control input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.control__indicator {
  position: absolute;
  top: 2px;
  left: 0;
  width: 20px;
  height: 20px;
  background: #e6e6e6;
}

.control__indicator.productList {
  top: -4px;
}
  
tr.productList {
	height: 25px;
	vertical-align: middle;
}
td.contentBold.productLabel {
	padding-bottom: 10px;
	vertical-align: middle;
}
td.content.productLabel {
	padding-bottom: 10px;
	vertical-align: middle;
}
span.appInputCheck {
	margin-top: 20px;
}

tr.productListRow {
	padding-bottom: 10px;
}

.control--radio .control__indicator {
  border-radius: 50%;
}

/* Hover and focus states */
.control:hover input ~ .control__indicator,
.control input:focus ~ .control__indicator {
  background: #ccc;
}

/* Checked state */
.control input:checked ~ .control__indicator {
  background: #2aa1c0;
}

/* Hover state whilst checked */
.control:hover input:not([disabled]):checked ~ .control__indicator,
.control input:checked:focus ~ .control__indicator {
  background: #0e647d;
}

/* Disabled state */
.control input:disabled ~ .control__indicator {
  pointer-events: none;
  opacity: .6;
  background: #e6e6e6;
}

/* Check mark */
.control__indicator:after {
  position: absolute;
  display: none;
  content: '';
}

/* Show check mark */
.control input:checked ~ .control__indicator:after {
  display: block;
}

/* Checkbox tick */
.control--checkbox .control__indicator:after {
  top: 4px;
  left: 8px;
  width: 3px;
  height: 8px;
  transform: rotate(45deg);
  border: solid #fff;
  border-width: 0 2px 2px 0;
}

/* Disabled tick color */
.control--checkbox input:disabled ~ .control__indicator:after {
  border-color: #7b7b7b;
}

/* Radio button inner circle */
.control--radio .control__indicator:after {
  top: 7px;
  left: 7px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
}

/* Disabled circle color */
.control--radio input:disabled ~ .control__indicator:after {
  background: #7b7b7b;
}

/* Styling membership and registration form */

#individualmembershipform {
    width: 575px;
    padding: 0 20px 20px 20px;
    margin: 40px auto 40px auto !important;
    background-color: #ffffff;
    border-width: 0px;
    border-style: none;
    border-color: #4c4c4c;
}

#loginformtable, #cfrmtable {
    padding: 0 20px 10px 20px;
    margin: 20px auto 0px auto !important;
    background-color: #ffffff;
    border-width: 0px;
    border-style: none;
    border-color: #4c4c4c;
}

#individualregistrationform {
    width: calc(750px + 0px + 0px);
    padding: 0 20px 20px 20px;
    margin: 40px auto 40px auto !important;
    background-color: #ffffff;
    border-width: 0px;
    border-style: none;
    border-color: #4c4c4c;
}

#loginformprimary {
    width: calc(400px + 0px + 0px);
    padding: 0 20px 20px 20px;
    margin: 40px auto 40px auto !important;
    background-color: #ffffff;
    border-width: 0px;
    border-style: none;
    border-color: #4c4c4c;
}

form#IndividualRegForm, form#loginform, form#cfrm, #individualregistrationform, #loginformprimary, #RegConfirmation, 
#MembershipTypes, #membershippayment, #customform {
    display: block;
    position: relative;
    box-sizing: border-box;
    box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
    margin: 0 auto 40px auto;
}

form#IndividualRegForm {
    background-color: transparent;
    font-family: 'Open Sans', sans-serif;
    color: #4c4c4c;
}

form#IndividualRegForm, form#loginform, form#cfrm, #RegConfirmation, #MembershipTypes, #membershippayment, #customform {
    padding: 0 20px 20px 20px;
    margin: 20px auto 0px auto !important;
    background-color: #ffffff;
    border-width: 0px;
    border-style: none;
    border-color: #4c4c4c;
}

#membershippayment, #customform {
    width:80%;
}

#MembershipTypes {
    width:60%;
}

/* appTitle1 styling */
/* form#IndividualRegForm .appTitle1, #individualmembershipform .appTitle1, #individualregistrationform .appTitle1, 
	#loginformprimary .appTitle1, #MembershipTypes .appTitle1, #membershippayment .appTitle1, */
.appTitle1 {
    font-size: 2em;
    color: #4c4c4c;
	padding-top:20px;
}

#loginformprimary .appTitle1 {
	padding-bottom:20px;
}

/* Set style for h2 within custom form to be the same as .appTitle1 */
#customform #formcard.card h2 {
    font-size: 2em;
    color: #4c4c4c;
	padding-top:20px;
}

/* appTitle2 styling */
/* form#IndividualRegForm .appTitle2, form#loginform .appTitle2, #cfrm .appTitle2, #individualregistrationform .appTitle2 */
.appTitle2 {
    font-size: 1.5em;
    color: #4c4c4c;
	padding-top:10px;
}

/* appTitle3 styling */
.appTitle3 {
    font-size: 1.25em;
    color: #4c4c4c;
	padding-top:5px;
}

/* appInputTitle styling */
.appInputTitle {
    font-size: 1.15em;
    color: #4c4c4c;
    font-weight: normal;
    text-decoration: none;
    background-color: #ffffff;
}

/* appInputText styling */
/* Same as appInputTitle for now */
.appInputText {
    font-size: 1.15em;
    color: #4c4c4c;
    font-weight: normal;
    text-decoration: none;
    background-color: #ffffff;
}

form#IndividualRegForm td {
    padding: 8px;
}

table#membershipform {
    width: 650px;
}

table#regcaptcha td {
	padding:2px;
}

table#citystatezipcountry td {
    padding: 2px;
}

form#IndividualRegForm td input[name="userTableaddress1"] {
  margin-bottom: 16px;
}

form#IndividualRegForm td input[name="userTableaddress2"] {
  margin-bottom: 16px;
}

form#IndividualRegForm td input[name="userTableaddress3"] {
  margin-bottom: 8px;
}

