.btn-group{
	width:100%;
	border-radius:0;
}

.btn-group label.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid;
}

.btn-group.tp-look{
	border-bottom:1px solid var(--ew-content-border);
}

.radio-group-legend{
	display: block;
	margin-bottom: .5rem;
}

.radio-btn-wrap label{
	font-size:15px;
	font-weight:100;
	color:var(--ew-dark);
	padding:5px 20px;
	border-radius:0;
	border-bottom:2px solid #fff;
	line-height:1em;
	cursor:pointer; 
}
.radio-btn-wrap input[type="radio"]:checked + label{
	font-weight:400;
	border-color:var(--ew-blue);
}

.radio-btn-wrap input[type="radio"]:focus + label{
	border:1px solid var(--ew-content-border);
}

.btn:not(.btn-link){
	background-color:var(--ew-blue);
	border-radius:7px;
	color:var(--ew-white);
	line-height:1em;
	padding:0px 15px;
	font-weight:700;
	font-size:16px;
	height:45px;
	border:none;
	white-space: nowrap;
}
a.btn,
a.btn:not(.btn-link){
	padding-top:13px;
}
.btn:not(.btn-link):hover,
.btn:not(.btn-link):focus{
	background-color:var(--ew-dark);
	color:var(--ew-white);
}

/*color widget */
.color-widget-wrapper{
	display: flex;
	padding-left: 1.5em;
    margin-bottom: 6px !important;
}

.color-widget-wrapper .color-widget-btn{
    display: inline-block;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    margin-left: 0px;
	outline: 1px solid var(--ew-form-control);
}

.color-widget-wrapper .color-widget-btn:before{
	content:"\f1fb";
	font-family:var(--font-awesome-family);
	width:100%;
	height:100%;
	display:flex;
	font-size:14px;
	color:var(--ew-dark) !important;
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	right:0;
	align-items: center;
	border:none;
    justify-content: center;
	opacity:1;
}

.reset-color{
	padding:0;
	color: var(--ew-dark);
	font-size:14px;
	background: none;
    border: none;
	display: inline-block;
	margin-left: .5rem;
}
/* color widget end */

.btn:disabled, 
.btn.disabled, 
fieldset:disabled .btn{
	border: 1px solid;
}

.authenticated-user .btn:disabled, 
.authenticated-user .btn.disabled, 
.authenticated-user fieldset:disabled .btn{
	--bs-btn-disabled-bg : var(--ew-blue);
	--bs-btn-disabled-color : white;
}

.form-row{
	margin-bottom:15px;
	position:relative;
}

.form-row.button-row {
	display: flex;
    align-items: flex-end;
}

.form-row label{
	font-size:16px;
	margin-bottom:5px;
}
.form-row.required label:after,
.form-row.required .radio-group-legend:after{
	content:"*";
	position:relative;
	right:-2px;
	color:var(--ew-red);
}

.form-row.required .radio-group-legend + .form-group label:after{
	display: none;
}

.form-control,
.form-select{
	border: 1px solid var(--ew-form-control);
    border-radius: 7px;
	height:45px;
}
.form-control[type=file] {
    height: auto;
}

.g-recaptcha-row{
	margin: 30px 0;
} 

.input-group > combobox-wrapper{
	flex: 1 1 auto;
	height:45px;
}
.input-group > combobox-wrapper input{
	border-radius: 0;
	color: var(--ew-dark);
}
.input-group-text{
	border-color:var(--ew-form-control);
	height:45px;
}

.input-group > input[type="file"]{
	line-height: 1.9;
}

.field-after-text{
	font-size: small;
    color: #818181;
}

.field-after-text:focus,
.field-after-text:hover{
	color: var(--ew-dark);
	cursor: pointer;
}

/*

don't override it! otherwise flags & icons will be nude :|


opt .image{
	outline: none;
}

*/


/* Error messages */
.validate + .error-msg, 
.g-recaptcha + .error-msg{
	position: absolute;
	top: 100%;
	left: 0;
}

.form-row i + * .validate + .error-msg{
	left: unset;
}

.validate.valid + .error-msg,
.g-recaptcha.valid + .error-msg{
	top: auto;
	bottom:7px;
    left: unset;
    right: -15px;
}

.input-group .validate.valid + .error-msg,
.input-group .g-recaptcha.valid + .error-msg{
	top: auto;
	bottom:7px;
    right: -15px;
}

/* input[type="email"] + .error-msg{
	white-space:nowrap;
} 

.validate.valid[type="tel"] + .error-msg{
	top: -22px;
}*/

select.validate + .error-msg{
	top: calc( 100% + 5px );
}

.validate + .error-msg:after,
.g-recaptcha + .error-msg:after{
	content: "";
	display: block;
	opacity: 0;
	transition: 0.2s opacity ease-out, 0.2s color ease-out;
}

.validate.invalid + .error-msg,
.validate.invalid + label .error-msg,
.g-recaptcha.invalid + .error-msg{
	position:static;
}

select.validate.invalid + .error-msg,
select.validate.invalid + label .error-msg,
.input-group .validate.invalid + .error-msg,
.input-group .validate.invalid + label .error-msg,
.input-group .g-recaptcha.invalid + .error-msg,
.iti .validate.iti__tel-input.invalid + .error-msg{
	position:absolute;
}

.iti:has(.validate.iti__tel-input.invalid){
	margin-bottom: 2rem;
}

.validate.invalid + .error-msg:after,
.validate.invalid + label .error-msg:after,
.g-recaptcha.invalid + .error-msg:after{
	content: attr(data-error);
	color: var(--ew-red);
	opacity: 1;
	white-space: pre-line;
}
.validate.valid + .error-msg:after{
    content: attr(data-success);
    color: var(--ew-green);
    opacity: 1;
	font-size: 22px;
}

.g-recaptcha.valid + .error-msg:after{
	content:'';
}

.form-control:focus,
.form-check-input[type="radio"]:focus + .error-msg{
	outline: var(--ew-blue) auto 1px;
}

.form-check-input[type="radio"]:checked + .error-msg:after, 
.form-check-input[type="radio"].with-gap:checked + .error-msg:after, 
label.btn input[type="radio"]:checked + .error-msg:after, 
label.btn input[type="radio"].with-gap:checked + .error-msg:after{
	background-color:var(--ew-dark);
}

.form-check-input[type="radio"]:checked + .error-msg:after, 
.form-check-input[type="radio"].with-gap:checked + .error-msg:before, 
.form-check-input[type="radio"].with-gap:checked + .error-msg:after, 
label.btn input[type="radio"]:checked + .error-msg:after, 
label.btn input[type="radio"].with-gap:checked + .error-msg:before, 
label.btn input[type="radio"].with-gap:checked + .error-msg:after{
	border-color: var(--ew-dark);
}
combobox input {
    border-radius: 0 7px 7px 0;
	border-radius:7px;
	/* height:48px; */
}

.form-switch .form-check-input {
    width: 40px !important;
    height: 20px !important;
    margin-right: 6px !important;
}
.form-switch label{
	margin:2px 0 0;
}

#company-country-combobox-list opt .image{
    height: auto;
    width: auto;
    border: none;
    outline: none;
}

combobox > combo-caret {
	color:var(--ew-dark);
}


/* End error messages */


input[type="search"]::-webkit-search-cancel-button{
    -webkit-appearance: none;
    height: 15px;
    width: 15px;
    border-radius:10px;
    background-image:url(/assets/img/svg/circle-xmark-solid.svg);
	z-index: 1;
	right:20px !important;
	position:relative;
	cursor:pointer;
}

/*custom spin-button*/

/* Chrome, Safari, Edge, Opera */
input.custom-spin-btn-input::-webkit-outer-spin-button,
input.custom-spin-btn-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input.custom-spin-btn-input[type="number"] {
  -moz-appearance: textfield;
}

input.custom-spin-btn-input[type="number"] {
  padding-right: 24px;
}

.custom-spin-btn-wrap {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
	border-left: 1px solid var(--ew-light-gray);
	z-index: 6;
}

.input-group > .custom-spin-btn-wrap{
	position: relative;
	border: 1px solid var(--ew-light-gray);
}

.custom-spin-btn-wrap > .custom-spin-btn{
    background-color: transparent;
    color: black;
    border: none;
    margin: 0 1px;
    font-size: .8rem;
    height: 50%;
}

label.custom-control-label {
    width: 100%;
    height: 100%;
}
textarea.form-control {
	height: fit-content;
}

/*end custom spin-button*/

.form-check-input:checked {
    background-color: var(--ew-green);
    border-color: var(--ew-green);
}

.form-switch {
    padding-left: 0;
    position: relative;
}
.form-switch .form-check-input {
    position: absolute;
    left: 0;
	margin-left:0;
}
.form-switch label {
    padding-left: 47px;
}

.icon-btn:not(#ew-dummy){
    padding: 0 !important;
	background-color: transparent !important;
	color: var(--ew-dark);
	position: relative;
	border:none;
	height: auto;
	font-weight:unset;
}

button.btn .spinner-wrap {
    margin-left: 6px;
    color: inherit !important;
}

.iti:not(#iti-dummy){
	display: block;
}
.iti .iti__arrow {
	border: none;
    height: auto;
    width: auto;
}
.iti .iti__arrow--up::before {
	content: "\f077";
} 

.iti__search-input{
	height: 45px;
	padding: 0.375rem 0.75rem;
}

.iti__country-list,
.dataTable .dropdown-menu{
	background-color:var(--ew-white) !important;
}

<@include file="<@var domain$cssRoot>mask-input<@var domain$cssSuffix>">