/*==========================================
* 
* Form Styles
* 
==========================================*/


/**
* Form (Defaults)
*/
fieldset {
}

fieldset legend {
	border-bottom: 1px dotted #ddd;
	font-size: 1.5em;
	/*margin-top: 15px;*/
	margin-bottom: 0.5em;
}

label {
	font-size: 0.9em;
	font-weight: bold;
	margin-bottom: 2px;
}

label.optional {
	font-weight: 400;	
}

label.required {	
}

.checkbox label,
.fancy-checkbox label,
.fancy-checkbox-v2 label {
	font-weight: normal;
}

.form-group {
	position: relative;
}

.form-group .description {
	color: #888;
	font-size: 0.9em;
	margin: 0 0 0.2em 0;
}

input:not([type]), input[type="text"]:not(.browser-default), input[type="password"]:not(.browser-default), input[type="email"]:not(.browser-default), input[type="url"]:not(.browser-default), input[type="time"]:not(.browser-default), input[type="date"]:not(.browser-default), input[type="datetime"]:not(.browser-default), input[type="datetime-local"]:not(.browser-default), input[type="tel"]:not(.browser-default), input[type="number"]:not(.browser-default), input[type="search"]:not(.browser-default), textarea.materialize-textarea {
    background: #fff;
    border: 1px solid #bbb;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    height: 44px;
    line-height: 44px;
    padding: 0 12px;
	width: 100%;
	/*max-width: 360px;*/
}

.form-control {
    outline: none;
    box-shadow:none !important;
    border:1px solid #ccc !important;
}

select.form-control {
	height: 44px;
}

textarea {
    resize: none;
}


/**
* search field
*/
.form-group .search-field {
	position: relative;
}

.form-group .search-field input {
	color: #222;
	display: inline-block;
	margin-bottom: 0 !important;
	padding: 0 30px 0 12px;
}

.form-group .search-field .icon {
	color: #999;
	font-size: 15px;
	margin: 0;
	position: absolute;
	right: 8px;
	top: 10px;
	top: calc(50% - 8px);
	z-index: 9;
}


/**
* Readonly 
*/
.form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef !important;
    opacity: 1;
}


/**
* .fancy-checkbox
*/
.fancy-checkbox {
	position: relative;
	/*display: inline-block;*/
}

.fancy-checkbox [type="checkbox"] {
	display: none;
}

.fancy-checkbox [type="checkbox"] + label {
	padding: 1px 0 0 30px;
	position: relative;
}

.fancy-checkbox [type="checkbox"]:not(.filled-in) + label::after {
	content: '';
	
	-moz-border-radius: 1px;
	-webkit-border-radius: 1px;
	border-radius: 1px;
	cursor: pointer;
    position: absolute;
    top: -2px;
    left: 2px;
    width: 20px;
    height: 20px;
    z-index: 0;
	
	background: #fff;
    border: 1px solid #888;
    margin-top: 2px;
}

.fancy-checkbox [type="checkbox"]:checked + label::before {
    content: '';
	
	top: -3px;
    left: 0;
    width: 11px;
    height: 20px;
    /*border-top: 4px solid transparent;
    border-left: 4px solid transparent;*/
    border-right: 4px solid #0058a6;
    border-bottom: 4px solid #0058a6;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%;
	 
	 position: absolute;
	 z-index: 3;
}


/**
* .fancy-checkbox-v2
*/
.fancy-checkbox-v2 {
	position: relative;
	display: inline-block;
}

.fancy-checkbox-v2 [type="checkbox"] {
	display: none;
}

.fancy-checkbox-v2 [type="checkbox"] + [type="hidden"] + label {
	padding: 1px 0 0 30px;
	position: relative;
}

.fancy-checkbox-v2 [type="checkbox"]:not(.filled-in) + [type="hidden"] + label::after {
	content: '';
	
	-moz-border-radius: 1px;
	-webkit-border-radius: 1px;
	border-radius: 1px;
	cursor: pointer;
    position: absolute;
    top: -2px;
    left: 2px;
    width: 20px;
    height: 20px;
    z-index: 0;
	
	background: #fff;
    border: 1px solid #999;
    margin-top: 2px;
}

.fancy-checkbox-v2 [type="checkbox"]:checked + [type="hidden"] + label::before {
    content: '';
	
	top: -3px;
    left: 0;
    width: 11px;
    height: 20px;
    border-right: 4px solid #0058a6;
    border-bottom: 4px solid #0058a6;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%;
	 
	 position: absolute;
	 z-index: 3;
}


/**
* .fancy-radio
*/
.fancy-radio {
	position: relative;
}

.fancy-radio [type="radio"] {
	/*display: none;*/
	opacity: 0;
}

.fancy-radio [type="radio"] + label {
	padding: 1px 0 0 30px;
	position: relative;
}

.fancy-radio [type="radio"]:not(.filled-in) + label::after {
	content: '';
	
	position: absolute;
	top: -2px;
    left: 2px;
	z-index: 0;
	
    width: 20px;
    height: 20px;
    
	background: #fff;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	cursor: pointer;
    border: 1px solid #808080;
    margin-top: 2px;
}

.fancy-radio [type="radio"]:checked + label::before {
    content: '';
	
	position: absolute;
	top: 4px;
    left: 6px;
	z-index: 3;
	
    width: 12px;
    height: 12px;
	
	
	background: #0058a6;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	
	/*
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%;
	*/ 
}



/**
* Switch
*/
.switch,
.switch * {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.switch {
	background: #fff;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	border: 1px solid #bbb;
	padding: 10px;
}

.switch label {
  cursor: pointer;
}

.switch label input[type=checkbox] {
  display: none;
  opacity: 0;
  width: 0;
  height: 0;
}

.switch label input[type=checkbox]:checked + .lever {
  background-color: #4cdc63;
  background-color: #40d059;
}

.switch label input[type=checkbox]:checked + .lever:before, .switch label input[type=checkbox]:checked + .lever:after {
  left: 18px;
}

.switch label input[type=checkbox]:checked + .lever:after {
  background-color: #fff;
}

.switch label .lever {
  content: "";
  display: inline-block;
  position: relative;
  width: 36px;
  height: 14px;
  /*background-color: rgba(0, 0, 0, 0.38);*/
  background-color: #bbb;
  border: 1px solid #bbb;
  border-radius: 15px;
  margin-right: 10px;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  vertical-align: middle;
  margin: 0 16px;
}

.switch label .lever:before, .switch label .lever:after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  left: -2px;
  top: -4px;
  -webkit-transition: left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;
  transition: left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;
  transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;
  transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;
}

.switch label .lever:before {
  background-color: rgba(38, 166, 154, 0.15);
}

.switch label .lever:after {
  /*background-color: #F1F1F1;*/
  background-color: #fff;
  border: 1px solid #bbb;
  
  
  -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}

.switch input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,
.switch input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before {
  -webkit-transform: scale(2.4);
          transform: scale(2.4);
  background-color: rgba(38, 166, 154, 0.15);
}

.switch input[type=checkbox]:not(:disabled) ~ .lever:active:before,
.switch input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before {
  -webkit-transform: scale(2.4);
          transform: scale(2.4);
  background-color: rgba(0, 0, 0, 0.08);
}

.switch input[type=checkbox][disabled] + .lever {
  cursor: default;
  background-color: rgba(0, 0, 0, 0.12);
}

.switch label input[type=checkbox][disabled] + .lever:after,
.switch label input[type=checkbox][disabled]:checked + .lever:after {
  background-color: #949494;
}
/*
END: Switch
*/



/**
* Number Increment (-/+) Buttons 
*/
.numbers-row {
}

.numbers-row input[type=number]::-webkit-inner-spin-button, 
.numbers-row input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}

input[type=number] {
    -moz-appearance:textfield; /* Firefox */
}

.numbers-row input[type=number] {
	display: inline-block;
	font-size: 20px;
	height: 44px;
	line-height: 42px;
	margin: 0;
	padding: 0 8px;
	text-align: center;
	width: 70px;
}

.numbers-row .button {
	background: #e6e6e6;
	border: 1px solid #bbb;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	color: #444;
	cursor: pointer;
	display: inline-block;
	font-size: 22px;
	font-weight: bold;
	height: 44px;
	line-height: 42px;
	margin: 0 2px;
	text-align: center;
	vertical-align: top;
	width: 32px;
}

.numbers-row .button:hover {
	background: #f3f3f3;
}

.numbers-row .dec.button {
	font-size: 1.6em;
}

.numbers-row .inc.button {
	
}
/*
END: Number Increment (-/+) Buttons
*/


.bootstrap-select {
}

.bootstrap-select .dropdown-toggle {
	background-color: #fff;
	background-image: none;
	border: 1px solid #ccc;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
	color: #555;
	display: block;
	font-size: 14px;
	line-height: 1.42857143;
	padding: 6px 12px;
	position: relative;
	
	width: 100%;
	height: 34px;
}

.bootstrap-select .dropdown-toggle .bs-caret {
	background: #f0f0f0;
	border: 1px solid #ccc;
	-moz-border-radius: 0 4px 4px 0;
	-webkit-border-radius: 0 4px 4px 0;
	border-radius: 0 4px 4px 0;
	padding: 0;
	
	width: 22px;
	height: 100%;
	
	position: absolute;
	right: 0;
	top: 0;
}

.bootstrap-select .dropdown-toggle .bs-caret .caret {
	right: 6px !important;
}


/*
.form-actions {
	padding-top: 10px;
	position: relative;
	text-align: right;
}

.form-actions.text-left {
	text-align: left;
}

.form-actions .btn {
	font-weight: 500;
	margin: 0 5px;
	padding: 12px 24px;
}

.form-actions .btn:last-child {
	margin-right: 0;
}

.form-actions .btn-cancel {
}

.form-actions .btn-submit {
}
*/

.form-buttons {
	padding-top: 30px;
}

.form-buttons > .row > .col-left {
	text-align: left;
}

.form-buttons > .row > .col-middle {
	text-align: center;
}

.form-buttons > .row > .col-right,
.form-buttons > .row > .col:last-child {
	text-align: right;
}

.form-buttons .col-left .btn {
	margin-right: 30px;
}

.form-buttons .col-left .btn:last-child {
	margin-right: 0;
}

.form-buttons .col-right .btn {
	margin-left: 30px;
}

.form-buttons .col-right .btn:first-child {
	margin-left: 0;
}


/**
* table list with chackmarks
*/

table#cbRowSelectors colgroup col[data-role="rs"] {
	width: 40px !important;
}

table#cbRowSelectors colgroup col:nth-child(2) {
	width: 44%;
}

table#cbRowSelectors colgroup col:nth-child(3) {
	width: 40%;
}

table#cbRowSelectors colgroup col:nth-child(4) {
	width: 14%;
}


.form-group-schools {
	display: block;
	max-height: 260px;
	width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}

table#cbRowSelectors tr th:first-child {
	padding: 0 5px;
	text-align: center;
}

table#cbRowSelectors .ui-icon-triangle-1-e {
	display: none;
}

table#cbRowSelectors .ui-iggrid-rowselector-class .ui-igcheckbox-normal,
table#cbRowSelectors .ui-iggrid-rowselector-header .ui-igcheckbox-normal {
	float: none;
}

table#cbRowSelectors .ui-icon-check::before {
    content: '\e66f';
	font-size: 1.4em;
	left: 40%;
	top: 40%;
}

.ui-igcombo {
}

.ui-igcombo .ui-igcombo-field {
	border: none !important;
	height: 30px !important;
	line-height: 30px !important;
}


/**
* Increment number field (-/+)
*/
.inc-number-box {
	text-align: center;
}

.inc-number-box .inner {
	display: inline-block;
	overflow: auto;
}

.inc-number-box input.qty {
	/* hide arrow spinners */
	-webkit-appearance: none;
	-moz-appearance:textfield;
	
	
	border: 1px solid #bbb;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	display: inline-block;
	float: left;
	font-size: 24px;
	font-weight: 500;
	height: 44px;
	line-height: 42px;
	margin: 0 5px;
	padding: 0 8px;
	text-align: center;
	width: 80px;
}


/* Gets rid of the up down arrows for incrementing or decrementing a number */
.inc-number-box input.qty::-webkit-outer-spin-button,
.inc-number-box input.qty::-webkit-inner-spin-button {
    display: none;
    -webkit-appearance: none;
    margin: 0;
        
}


.inc-number-box input[type="button"] {
    display: inline-block;
    float: left;
    font-size: 20px;
    font-weight: 500;
    height: 44px;
    line-height: 32px;
    padding: 0;
    text-align: center;
    vertical-align: middle;
    width: 32px;
}

.inc-number-box .qty-minus {
}

.inc-number-box .qty-plus {
}



/*  
    MF  6Dec2019    This is the spinner used for hiding/showing text that is being rendered.
    This can be moved if needed, but still needs to be available by pages using the forms.css file
*/

.lds-ring {
    display: inline-block;
    position: relative;
    width: 64px;
    height: 64px;
}

    .lds-ring div {
        box-sizing: border-box;
        display: block;
        position: absolute;
        width: 30px;
        height: 30px;
        margin: 6px;
        border: 3px solid #000000;
        border-radius: 50%;
        animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
        border-color: #000000 transparent transparent transparent;
    }

        .lds-ring div:nth-child(1) {
            animation-delay: -0.45s;
        }

        .lds-ring div:nth-child(2) {
            animation-delay: -0.3s;
        }

        .lds-ring div:nth-child(3) {
            animation-delay: -0.15s;
        }

@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}




/**
* Date picker
*/
.gj-datepicker {
	
}

.gj-datepicker .input-group-append .btn {
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
}

.gj-datepicker .input-group-append .btn i {
	line-height: 1em;
	margin: auto;
	
	position: absolute;
	font-size: 21px !important;
	top: calc(50% - 10px) !important;
	left: calc(50% - 10px) !important;
}



