@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap');

body {
	font-family: "Roboto", sans-serif;
	font-size: 16px;
	font-weight: normal;
	font-style: normal;
	padding: 0 !important;
	margin: 0;
}

.bg-blue {
	background: #e2f7f8;
}

.bg-default {
	background: #f3ffff;
}

/*layout*/
.container {
	max-width: 1200px;
	padding: 0 15px !important;
}
.page {
	height: 100vh;
	max-height: 100vh;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.page-header {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 0;
}
.page-header h2 {
	font-size: 24px;
	line-height: 150%;
	margin-bottom: 0;
}
.page-content {
	flex-shrink: 0;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.page-footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
	padding: 8px 0;
	margin-bottom: 32px;
}
.blocks {
	display: flex;
	justify-content: center;
	gap: 1em;
}
.blocks-wrap {
	flex-wrap: wrap;
}
.block {
	width: 100%;
}
.block-1-2 {
	flex-basis: 577px;
}
.block-filled {
	background: #e2f7f8;
}
.block-bordered {
	border: 1px solid #99aab5;
}
.block-rounded {
	border-radius: 1em;
}
.block-padding {
	padding: 1em;
}
.block-column {
	display: flex;
	flex-direction: column;
	gap: 1em;
}
/*layout*/

/*общие*/
.info-panel .panel-text {
	display: flex;
	gap: 0.5em;
	margin-bottom: 1em;
}
.info-panel .panel-text:last-child {
	margin-bottom: 0;
}
.info-panel .panel-text p {
	line-height: 100%;
	margin-bottom: 0;
}
.info-panel .panel-text p:first-child {
	font-weight: bold;
}
.comments {
	width: 100%;
	height: 100%;
	min-height: 5em;
	background: #e8e6f0;
	border-radius: 1em;
	padding: 1em;
}

/*окно списка RAID*/
.page-list .raidlist-scroll {
	height: 100%;
	min-height: 29em;
	max-height: 29em;
	overflow-y: scroll;
}
.page-list #placeholder {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	list-style: none;
	font-size: larger;
}
.page-list #raidList {
	height: 100%;
}
  .raidpanel_grid {
    display: flex;
    justify-content: space-between;
  }
  .raidpanel_header {
    display: flex;
    justify-content: start;
    gap: 1em;
    margin: 0.5em;
  }
  .raidpanel_header_element {
    margin: 0em;
    font-size: larger;
  }
  .raidpanel_buttons {
    display: flex;
    justify-content: end;
    gap: 1em;
    margin: 0.5em;
  }

  /*окно добавления/изменения RAID*/

  .infopanel_template_raid {
    width: 100%;
    height: 11em;
    background: #e2f7f8;
    border-radius: 12px;
    padding: 1em;
  }
  .editpanel_template_row {
    border-color: black;
  }
  .editpanel_template_row_range {
    border-color: black;
  }
  .editpanel_row_grid {
    display: flex;
    justify-content: center;
    gap: 1em;
  }
  .editpanel_row_element {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em;
  }
  .editpanel_dropdown_header {
    line-height: 100%;
    margin-bottom: 0;
  }
  .editpanel_dropdown_text {
    width: 8em;
    margin: 0em;
  }
  .range_header {
    display: flex;
    justify-content: center;
    gap: 0.5em;
    margin: 0.5em;
  }

/*окно системы*/
.list-group-center {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
}
.list-group-center>* {
	margin-bottom: 0;
}
.list-group-center p {
	min-height: 2.4em;
	display: flex;
	align-items: center;
}
.list-group-between {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
}
.list-group-between>* {
	margin-bottom: 0;
}
.list-group-between>*:last-child {
	max-width: 19em;
}
.list-group-between p {
	min-height: 2.4em;
	display: flex;
	align-items: center;
}

/*окно результатов*/
.table-wrapper {
	max-height: 45em;
	overflow-y: auto;
}
.table {
	margin-bottom: 0;
}
.table td {
	padding: 0.5em;
}
.table td:first-child {
	width: 25%;
	font-weight: bold;
}

/*elements*/
.btn {
	--bs-btn-padding-x: 12px;
	--bs-btn-padding-y: 8px;
	--bs-btn-font-size: 16px;
	--bs-btn-font-weight: 400;
	--bs-btn-line-height: 18px;
	--bs-btn-border-width: 1px;
	--bs-btn-border-radius: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: none !important;
	gap: 8px;
	transition: opacity .3s ease-in-out, transfrom .3s ease-in-out;
}
.btn:hover {
	opacity: 0.75;
}
.btn:active {
	opacity: 1;
	transform: scale(0.96);
}
.btn-wide {
	width: 12em;
}
.btn-icon {
	width: 32px;
	height: 32px;
	padding: 0;
}
.btn-primary {
	--bs-btn-color: #fff;
	--bs-btn-bg: #09cab7;
	--bs-btn-border-color: #09cab7;
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: #09cab7;
	--bs-btn-hover-border-color: #09cab7;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: #09cab7;
	--bs-btn-active-border-color: #09cab7;
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: #aaa;
	--bs-btn-disabled-border-color: #aaa;
}
.btn-secondary {
	--bs-btn-color: #fff;
	--bs-btn-bg: #99aab5;
	--bs-btn-border-color: #99aab5;
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: #99aab5;
	--bs-btn-hover-border-color: #99aab5;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: #99aab5;
	--bs-btn-active-border-color: #99aab5;
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: #bbb;
	--bs-btn-disabled-border-color: #bbb;
}
.btn-outline-primary {
	--bs-btn-color: #09cab7;
	--bs-btn-border-color: #09cab7;
	--bs-btn-hover-color: #09cab7;
	--bs-btn-hover-bg: transparent;
	--bs-btn-hover-border-color: #09cab7;
	--bs-btn-active-color: #09cab7;
	--bs-btn-active-bg: transparent;
	--bs-btn-active-border-color: #09cab7;
	--bs-btn-disabled-color: #aaa;
	--bs-btn-disabled-bg: transparent;
	--bs-btn-disabled-border-color: #aaa;
}
.btn-outline-secondary {
	--bs-btn-color: #99aab5;
	--bs-btn-border-color: #99aab5;
	--bs-btn-hover-color: #99aab5;
	--bs-btn-hover-bg: transparent;
	--bs-btn-hover-border-color: #99aab5;
	--bs-btn-active-color: #99aab5;
	--bs-btn-active-bg: transparent;
	--bs-btn-active-border-color: #99aab5;
	--bs-btn-disabled-color: #bbb;
	--bs-btn-disabled-bg: transparent;
	--bs-btn-disabled-border-color: #bbb;
}

.btn-check:checked+.btn {
	background-color: #e2f7f8;
	border-color: #e2f7f8;
}

.form-range::-webkit-slider-runnable-track {
	background: #e2f7f8;
}
.form-range::-webkit-slider-thumb {
	box-shadow: none !important;
	background: #09cab7;
}
.form-range::-webkit-slider-thumb:active {
	background: #09cab7;
	opacity: 0.8;
}

.form-switch {
	min-height: 24px;
	padding-left: 2.5em;
}
.form-switch .form-check-input {
	width: 44px;
	height: 22px;
	border: 1px solid #99aab5;
	box-shadow: none;
}
.form-switch .form-check-input:checked {
	background-color: #09cab7;
	border: 1px solid #09cab7;
}
.form-switch .form-check-input:focus {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2309cab7'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked:focus {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
}

.raidix-form-switch {
	min-height: 22px;
	padding-left: 2.5em;
}
.raidix-form-switch .form-check-input {
	width: 44px;
	height: 22px;
	margin-left: -2.5em;
	background-color: #99aab5;
	background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28' height='28' rx='4' fill='white' /%3E%3Crect x='11' y='6' width='1' height='16' fill='%2399AAB5' /%3E%3Crect x='16' y='6' width='1' height='16' fill='%2399AAB5' /%3E%3C/svg%3E");
	background-position: left center;
	border-radius: 6px;
	border: 2px solid #99aab5;
	box-shadow: none;
	margin-top: 0;
	transition: background-position .15s ease-in-out;
	cursor: pointer;
}
.raidix-form-switch .form-check-input:checked {
	background-position: right center;
	background-color: #09cab7;
	border: 2px solid #09cab7;
}
.raidix-form-switch .form-check-input:focus {
	background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28' height='28' rx='4' fill='white' /%3E%3Crect x='11' y='6' width='1' height='16' fill='%2399AAB5' /%3E%3Crect x='16' y='6' width='1' height='16' fill='%2399AAB5' /%3E%3C/svg%3E");
}
.raidix-form-switch .form-check-input:checked:focus {
	background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28' height='28' rx='4' fill='white' /%3E%3Crect x='11' y='6' width='1' height='16' fill='%2399AAB5' /%3E%3Crect x='16' y='6' width='1' height='16' fill='%2399AAB5' /%3E%3C/svg%3E");
}

.form-select {
	border: 1px solid #99aab5;
}
.form-select:focus {
	border: 1px solid #09cab7;
	box-shadow: none;
}

.raidix-scroll {
	-webkit-overflow-scrolling: touch;
	overflow-y: scroll;
	border: 1px solid #99aab5;
	border-radius: 1em;
	padding: 1em;
}
.raidix-scroll::-webkit-scrollbar {
	width: 16px;
	background-color: transparent;
	border: 4px solid transparent;
}
.raidix-scroll::-webkit-scrollbar-thumb {
	border-radius: 8px;
	background-color: #99aab5;
	border: 4px solid transparent;
	background-clip: content-box;
}
.raidix-scroll::-webkit-scrollbar-track {
	width: 4px;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.2);
	border-radius: 8px;
	background-color: transparent;
	border: 4px solid transparent;
}

.list-group {
	width: 100%;
	border-radius: 0.5em;
}
.list-group-item {
	padding: 0.5em 1em;
	border: 1px solid #99aab5;
}

.list-group-margin {
	margin-top: 0.2em;
	margin-bottom: 0.2em;
}
/*elements*/

/*icons*/
.icon {
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #09cab7;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}
.icon-plus {
	-webkit-mask-image: url('../img/icons/icon-plus.svg');
	mask-image: url('../img/icons/icon-plus.svg');
}
.icon-minus {
	-webkit-mask-image: url('../img/icons/icon-minus.svg');
	mask-image: url('../img/icons/icon-minus.svg');
}
.icon-edit {
	-webkit-mask-image: url('../img/icons/icon-edit.svg');
	mask-image: url('../img/icons/icon-edit.svg');
}
.icon-delete {
	-webkit-mask-image: url('../img/icons/icon-delete.svg');
	mask-image: url('../img/icons/icon-delete.svg');
}
.icon-copy {
	-webkit-mask-image: url('../img/icons/icon-copy.svg');
	mask-image: url('../img/icons/icon-copy.svg');
}
.icon-settings {
	-webkit-mask-image: url('../img/icons/icon-settings.svg');
	mask-image: url('../img/icons/icon-settings.svg');
}
.icon-arrow-left {
	-webkit-mask-image: url('../img/icons/icon-arrow-left.svg');
	mask-image: url('../img/icons/icon-arrow-left.svg');
}
.icon-arrow-right {
	-webkit-mask-image: url('../img/icons/icon-arrow-right.svg');
	mask-image: url('../img/icons/icon-arrow-right.svg');
}
.icon-32 {
	width: 32px;
	height: 32px;
}
.icon-white {
	background: #fff;
}
.icon-grey {
	background: #99aab5;
}
/*icons*/

/*modals*/
.modal {
	padding: 0 !important;
}
.modal-blured {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	pointer-events: none;
}
.modal-dialog {
	max-width: 945px;
}
.modal-body h5 {
	margin: 1em;
	text-align: center;
}
.modal-body .text {
	margin: 1em;
	height: 13em;
	overflow-y: scroll;
}
.modal-body .text p:last-child {
	margin-bottom: 0;
}
.modal-body .btn-wrapper {
	display: flex;
	justify-content: center;
	gap: 1em;
	padding: 1em 0;
}
.modal-body .btn-wrapper .btn {
	width: 15em;
}
/*modals*/