.form-wrapper {
	margin: 0 25px 25px 25px;
}

/* Rows & Borders */
.form-row {
	min-height:55px;
	margin-bottom:10px;
	border: 1px solid #e1e4e6;
}
.form-row.submit-row {
	border:none;
}
.form-row.hidden {
	display: none;
}

.non-field-errors {
	margin-bottom: 10px;
}

/* Place Holders */
span.placeholder {
	font-weight:300;
	color: #828282;
	padding-top: 6px !important;
}
::-webkit-input-placeholder {}
input:-moz-placeholder, textarea:-moz-placeholder {}

/* Inputs */
input {
	width: 100%;
	max-width: 100%;
	height: 55px;
	color: #222;
	background: #fff;
	border: none;
	padding: 5px 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
	font-size: 14px;
	-webkit-appearance: none;
	border-radius: 0;
	-webkit-border-radius: 0;
	font-family: 'Montserrat';
}


/* Textarea */
textarea {
	display:block;
	width: 100%;
	max-width: 100%;
	height: 300px;
	max-height: 300px;
	resize: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	color: #4f4f4f;
	border: none;
	background: #fff;
	padding: 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
	font-family: 'Montserrat';
}

/* Buttons */
.fooform button {
	display: block;
	margin: 5px 0 0 0;
	width: 100%;
	height: 60px;
	border: none;
	padding: 15px;
	color: #fff;
	cursor: pointer;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	background: #00dce4;
	font-family: 'Montserrat';
	-webkit-appearance: none;
	border-radius: 0;
	-webkit-border-radius: 0;
}

/* Check boxes */
label.checkbox {
	display: block;
	padding: 18px 46px 17px 15px;
	position: relative;
	background-color: #fff;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 14px;
	/* color: #4f4f4f; */
	/* line-height:23px; */
	font-weight: 300;
	cursor:pointer;
}

label.checkbox input {
	display:none;
}

label.checkbox span {
	position: absolute;
	bottom: 14px;
	right: 15px;
}
label.checkbox span::before {
	font-size:22px;
	color: #4f4f4f;
	font-family: 'Font Awesome 5 Pro';
	content:'\f0c8';
	font-weight:300;
}

label.checkbox input:checked + span::before {
	content:'\f14a';
}

/* Selects */
select {
	visibility: hidden;
}

 /* Outlines */
.select2 span {
	outline:none;
}
 /* Heights */
.select2-container .select2-selection--single {
	height:55px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height:55px;
	padding-left:15px;
	padding-right:15px;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	font-size: 14px;
	color:#000;
}
 /* Arrow */
.select2-container--default .select2-selection--single .select2-selection__arrow {
	height:55px;
	right:15px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border:none;
	margin-top: -12px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b::before {
	font-size:23px;
	color: #4f4f4f;
	font-family: 'Font Awesome 5 Pro';
	content:'\f107';
	font-weight: 300;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b::before {
	content:'\f106';
}

/* Close icon */
.select2-selection__clear {
	color:transparent;
	margin-right:20px;
	padding:0 20px;
}
.select2-selection__clear::before {
	font-size:12px;
	color:#4f4f4f;
	font-family: 'Font Awesome 5 Pro';
	content:'\f00d';
	font-weight:300;
}

 /* Top level Border / Radius */
.select2-container--default .select2-selection--single {
	-webkit-border-radius:0;
	-moz-border-radius:0;
	border-radius:0;
	border:none;
}

 /* Drop down border / radius + bg */
.select2-container--open .select2-dropdown--below {
	-webkit-border-radius:0;
	-moz-border-radius:0;
	border-radius:0;
}
.select2-dropdown {
	border:none;
	background-color: #f4f4f4;
}
.select2-results__option {
	padding:15px;
}

/* Highlight colour */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: #27d0ef;
}

/* Seach box */
.select2-search--dropdown {
	padding:0;
	border: 1px solid #e1e4e6;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	border:none;
}

/* Date picker */
.picker__holder {
	outline:none;
	border-radius: 0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

button.picker__button--close:before {
	display:none;
}

.picker__button--close:hover {
	color:#fff;
	background:#00dce4;
	border-bottom-color:#00dce4;
}

.picker__table th {
	padding:10px 0;
}

/* form errors (Django) */
ul.errorlist {
	background-color: rgba(255,0,0,0.6);
	padding:5px;
}
ul.errorlist li {
	color: #111;
	margin-top:3px;
	padding-left:3px;
}
ul.errorlist li:first-child {
	margin-top:0;
}

ul.errorlist li::before {
	/*display:none;*/
	font-family: 'Font Awesome 5 Regular';
	content:'\f06a';
	display:none;
}

ul.errorlist li svg.svg-inline--fa {
	margin-right:7px;
}

/* Search form */
.search {
	width: 280px;
	position: absolute;
	top: 18px;
	right: 25px;
	border-bottom: 1px solid #111;
}

.search-btn {
	position: absolute;
	right: 0;
	width: 40px;
	height: 36px;
	border: none;
	background: none;
	text-align: center;
	color: #111;
	cursor: pointer;
	font-size: 15px;
	border-radius: 0;
}

.search input {
	float: left;
	width: 100%;
	padding: 0;
	height: 30px;
	outline: none;
	border: none;
	font-weight: 300;
	font-size: 15px;
}

.search input:focus{
  color: #111;
}

/* Form help */
.form-content p {
	padding: 0 0 20px 0;
	text-align: left;
	font-size:14px;
}

/* Flatpickr */
.flatpickr-calendar select {
	visibility: visible;
}


/* Specific overrides */

.std-form {
}

.table-form {
	width:150px;
}

.table-form .form-row {
	margin:0;
	min-height:0;
}

.table-form .select2-container .select2-selection--single {
	height:30px;
}
.table-form .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 30px;
}

.table-form .select2-container--default .select2-selection--single .select2-selection__arrow b {
	margin-top: -18px;
}

/* Student select check boxes */
label.student-select-label {
	padding:0;
	height: 21px;
	width: 21px;
	margin: 0;
}

label.student-select-label input {
}

label.student-select-label span {
	top:0;
	left:0;
}