.claim {
	padding: 10px 0;
}

.claim__wrapper {
	display: flex;
	flex-direction: column;
	gap: 20px;
	/*padding: 0 15px;*/
}

.claim__wrapper h2 {
	color: #000;
	font-variant-numeric: lining-nums proportional-nums;
	font-size: 22px;
	font-style: normal;
	font-weight: 900;
	line-height: 140%;
	margin: 0;
}

.claim__group._main {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

.claim__group._main .claim__group {
	display: flex;
	flex-direction: column;
	gap: 7px;
	width: 100%;
}

.claim__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	align-self: stretch;
	position: relative;
}

.claim__item label {
	color: #000;
	font-size: 13px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: -0.247px;
}

.claim__item._required label::after {
	content: '*';
}

.claim__item input,
.claim__item textarea {
	display: flex;
	height: 48px;
	padding: 15px 15px 16px 15px;
	align-items: center;
	align-self: stretch;
	font-size: 14px;
	line-height: 150%;
	letter-spacing: -0.304px;
	resize: none;

	border-radius: 4px;
	border: 1px solid #DADADA;
	background: #FFF;
	transition: .2s ease;
}

.claim__item._error input {
	background-color: #FFF1F1;
	border: 1px solid #F03030;
}


.claim__item input::placeholder {
	color: #888;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: -0.304px;
	transition: opacity .2s ease;
}

.claim__item textarea:focus,
.claim__item input:focus {
	outline: 0;
	border: 1px solid #30B931;
	transition: .2s ease;
}

.claim__item input:focus::placeholder {
	opacity: 0;
	transition: opacity .2s ease;
}

.claim__group._textarea {
	display: flex;
	flex-direction: column;
	gap: 17px;
}

/*кастомный чекбокc НАЧАЛО*/
.claim__item._checkbox {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 5px;
}

._checkbox__item {
	position: relative;
}

.claim__item._checkbox input {
	position: absolute;
	z-index: -100;
	opacity: 0;
}

.claim__item._checkbox label {
	display: flex;
	align-items: center;
	gap: 10px;
	align-self: stretch;
	cursor: pointer;
}

.claim__item._checkbox input+label::before {
	content: '';
	border-radius: 2px;
	border: 1px solid #DADADA;
	background-color: #FFF;
	width: 16px;
	height: 16px;
	min-width: 16px;
	min-height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;

	background-repeat: no-repeat;
	background-position: 2px 3px;
	background-size: 10px 8px;
}

.claim__item._checkbox input:checked+label::before {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M3.33333 8L0 4.7276L1.4823 3.2724L3.33333 5.09474L8.5177 0L10 1.4552L3.33333 8Z' fill='black'/%3e%3c/svg%3e");
}

.claim__item._checkbox label span {
	color: #000;
	font-variant-numeric: lining-nums proportional-nums;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
}

.claim__item._checkbox label span a {
	color: #30B931;
}

/*кастомный чекбокc КОНЕЦ*/



/*кастомный селект НАЧАЛО*/
.claim__select {
	position: relative;
	width: 100%;
}

.claim__select-head {
	border-radius: 4px;
	border: 1px solid #DADADA;
	background: #FFF;
	width: 100%;
}

.claim__item._select._error .claim__select-head {
	border: 1px solid #F03030;
}

.claim__select-body {
	display: flex;
	flex-direction: column;
	border-radius: 4px;
	border: 0px solid #DADADA;
	background: #FFF;
	max-height: 0;
	height: auto;
	overflow: hidden;
	transition: max-height .3s ease, border .3s linear;
	background: #FFF;
	position: absolute;
	top: calc(100% - 1px);
	z-index: 5;
	width: 100%;
}

.claim__select._active .claim__select-body {
	max-height: 500px;
	border: 1px solid #DADADA;
	transition: max-height .3s ease, border 0s linear;
}

.claim__select-item {
	display: flex;
	height: 48px;
	padding: 15px 15px 16px 15px;
	justify-content: space-between;
	align-items: center;
	align-self: stretch;
	cursor: pointer;
}

.claim__select-item._selected {
	background-color: #30B931;
	color: #FFF;
}

.claim__select-head .claim__select-item .icon {
	width: 6px;
	height: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: rotateX(0deg);
	transition: .2s ease;
}

.claim__select._active .claim__select-head .claim__select-item .icon {
	transform: rotateX(180deg);
}

.claim__select-item:not(._selected):hover {
	background: rgba(48, 185, 49, 0.10);
}



/*кастомный селект КОНЕЦ*/

/*кастомный календарь НАЧАЛО*/
.claim__item._caledar {
	width: 100%;
}

._caledar__wrapper {
	display: flex;
	width: min-content;
	border-radius: 4px;
	border: 1px solid #DADADA;
	background: #FFF;
	width: 100%;
	overflow: hidden;
}

.claim__item._caledar._error ._caledar__wrapper {
	border: 1px solid #F03030;
}

#calendar {
	display: flex;
	padding-top: 15px;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	flex: 1 0 0;
}

#calendar thead {
	display: flex;
	width: 100%;
	margin-bottom: 5px;
	padding: 0 15px;
}

#calendar thead tr {
	display: flex;
	height: 40px;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

#calendar #infoDate {
	flex: 1 0 0;
	color: #000;
	font-variant-numeric: lining-nums proportional-nums;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}

#calendar #prevMonth {
	padding: 13px;
	margin-right: 8px;
}

#calendar #nextMonth {
	transform: rotateY(180deg);
	padding: 13px;
}

#calendar #nextMonth._disabled {
	cursor: auto;
}

#calendar #nextMonth._disabled svg * {
	fill: #AFAFAF;
}

#calendar [id$=Month] {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	align-self: stretch;

	cursor: pointer;
}

#calendar tfoot {
	padding: 2px 0 8px;
	width: 100%;
}

#calendar tbody {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	align-self: stretch;
	border-radius: 0;
	background: #FFF;
	overflow: hidden;
	border-top: 1px solid #DADADA;
}

#calendar tbody tr,
#calendar tfoot tr {
	display: flex;
	align-items: center;
	align-self: stretch;
	width: 100%;
}

#calendar tbody td,
#calendar tfoot td {
	display: flex;
	width: calc(100% / 7);
	flex-direction: column;
	justify-content: center;
	align-items: center;

	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-shrink: 0;

	text-align: center;
	font-variant-numeric: lining-nums tabular-nums;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	position: relative;
}

#calendar tfoot td {
	font-weight: 600;
}

#calendar tbody td:not(._disabled, ._active):hover {
	background: rgba(48, 185, 49, 0.10);
}

#calendar tbody td {
	border-right: 1px solid #DADADA;
	border-bottom: 1px solid #DADADA;

	height: 49px;
	cursor: pointer;
}

#calendar tbody td:last-child {
	border-right: 0px solid #DADADA;
}

#calendar tbody tr:last-child td {
	border-bottom: 0px solid #DADADA;
}

#calendar tbody td._active {
	background: #30B931;
	color: #fff;
}

#calendar tbody td._disabled {
	cursor: auto;
}

#calendar .day-prev-month,
#calendar .day-next-month {
	background: #FAFAFA;
	color: #A8A8A8;
	cursor: auto;
}

/*кастомный календарь КОНЕЦ*/

/*кастомный инпут файл НАЧАЛО*/
.claim__item._file {
	position: relative;
	margin-top: 5px;
}

.claim__item._file input {
	opacity: 0;
	visibility: hidden;
	position: absolute;
}

.claim__item._file input+label {
	display: flex;
	height: 50px;
	padding: 15px 15px 16px 15px;
	align-items: center;
	gap: 10px;
	align-self: stretch;
	cursor: pointer;

	border-radius: 4px;
	border: 1px solid #DADADA;
	background: #FFF;

	position: relative;
}

.claim__item._file._error input+label {
	border: 1px solid #F03030;
}

.claim__item._file input+label .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
}

.claim__item._file input+label span:not(.icon) {
	color: #888;
	text-align: center;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: -0.304px;
}

/*кастомный инпут файл КОНЕЦ*/

.claim__item._submit {
	margin-top: 5px;
}

.claim__item._submit input {
	border: none;
	display: flex;
	height: 40px;
	padding: 9px 0 12px;
	justify-content: center;
	align-items: center;
	align-self: stretch;
	border-radius: 4px;
	background: #30B931;

	color: #FFF;
	text-align: center;
	font-variant-numeric: lining-nums proportional-nums;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%;

	cursor: pointer;
}


.claim__item._submit input:hover {
	background: #0C920D;
}

.claim__item._submit._disabled {
	cursor: not-allowed;
}

.claim__item._submit._disabled input {
	background: grey;
	pointer-events: none;
}


/*ADDITIONAL-STYLES-START*/
.claim__wrapper > *:first-child {
	margin-top: 0;
}
.claim__item .--required {
	position: absolute;
	width: 6px;
	height: 6px;
	right: 5px;
	top: 16px;
	z-index: 1;
}
.claim__item._file .--required {
	top: -2px;
}

.claim .__success {
	display: none;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	width: 100%;
}
.claim .__success * {
	text-align: center;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
}
.claim .__success svg {
	width: 65px;
	height: 65px;
}
.claim .__success .__title {
	font-size: 36px;
	font-weight: 900;
	line-height: 120%;
}
.claim input.--error,
.claim textarea.--error,
.claim input.--error + ._caledar__wrapper,
.claim input.--error + .claim__select .claim__select-head,
.claim input.--error + label[for="claimFile"] {
	background-color: #FFF1F1;
	border: 1px solid #F03030;
}
.claim__item._file input + label .close-icon {
	position: absolute;
	right: 15px;
	top: 13px;
}
.claim__item._file input + label .close-icon svg {
	fill: #888;
	width: 12px;
	height: 12px;
}

.claim__item._file input + label .close-icon,
.claim__item._file input + label .success-text {
	display: none;
}
.claim__item._file input + label .close-icon._active {
	display: initial;
}

.claim__item._file input + label .success-text._active {
	display: initial;
	position: absolute;
	bottom: -20px;
	left: 0;
	font-weight: 400;
	font-size: 13px;
	line-height: 150%;
}

.claim .claim__error {
	color: var(--errors-color);
}

@media screen and (max-width: 979px) {
	.claim__item._file .--required {
		top: -2px;
	}
	.claim__item textarea {
		height: auto;
	}
	/*#prevMonth svg,
	#nextMonth svg {
		width: 14px;
	}*/
}
/*ADDITIONAL-STYLES-END*/

@media (min-width: 980px) {
	.claim {
		padding: 0;
	}
	
	.claim__wrapper {
		padding: 0;
		max-width: 764px;
		gap: 40px;
	}

	.claim__wrapper h2 {
		font-size: 28px;
	}


	.claim__group._main {
		flex-direction: row;
		gap: 40px;
	}

	#calendar {
		padding: 15px 14px;
	}

	#calendar thead {
		padding: 0;
	}

	#calendar [id$=Month] {
		padding: 13px;
	}

	#calendar tfoot {
		padding: 7px 0 9px;
	}

	#calendar tbody {
		border-radius: 4px;
		border: 1px solid #DADADA;
	}

	#calendar tbody td,
	#calendar tfoot td {
		width: 49px;
	}

	.claim__group._main .claim__group {
		width: 100%;
		justify-content: space-between;
	}

	.claim__item input {
		height: 50px;
	}

	.claim__item textarea {
		height: 180px;
	}

	.claim__item input,
	.claim__item textarea,
	.claim__item input::placeholder {
		font-size: 16px;
	}

	.claim__item._checkbox,
	.claim__item._file,
	.claim__item._submit {
		margin-top: 0;
	}

	.claim__item input,
	.claim__item._select,
	.claim__item._file {
		width: 350px;
	}

	.claim__item._submit input {
		padding: 13px 67px;
		width: fit-content;
		height: fit-content;
	}

	.claim__item._checkbox label span {
		font-size: 16px;
		line-height: 130%;
	}

}