/*!***************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/styles/01_globals.css ***!
  \***************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;1,100;1,300;1,400;1,700&display=swap);
/*!*******************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/styles/01_globals.css (1) ***!
  \*******************************************************************************************************/
* {
	font-family: Lato, sans-serif;
	-webkit-font-smoothing: antialiased;
}

@font-face{
	font-family : 'Material Icons';
	font-style  : normal;
	font-weight : 400;
	src         : url(/static/font/font.woff2) format('woff2');
}

:root {
  	--theme-element-background    : white;
	--theme-background            : rgb(238, 238, 238);
	--theme-input-border          : rgb(127, 127, 127);
	--border-radius               : 0.375rem;
	--theme-border: 1px #eee solid;
	--theme-input-border-error    : rgb(229, 57, 53);
	--theme-text-primary-on-light : rgba(0, 0, 0, 0.87);
	--theme-text-hint-on-light    : rgba(0, 0, 0, 0.38);
	--theme-text-disabled-on-background  : rgba(0, 0, 0, 0.38);
	--theme-primary              : rgb(6, 95, 212);
	--theme-primary-light        : rgba(6, 95, 212, .1);
	--theme-text-primary-on-dark         : white;
	--theme-error                        : #b00020;
	--background-button-disabled      : rgba(0, 0, 0, 0.1);
	--background-button-text-active   : rgba(0, 0, 0, 0.1);
	--background-button-text-hover    : rgba(0, 0, 0, 0.04);
	--box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 2px 1px -1px rgba(0, 0, 0, .12);
	--box-shadow-hover                : 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px 0px rgb(0 0 0 / 14%), 0px 1px 10px 0px rgb(0 0 0 / 12%);
	--page-header-box-shadow          : 0 0 10px rgba(0, 0, 0, 0.5);
	--plain-border                    : var(--border-width) solid var(--border-color);
	--border-width                    : 0.0625rem;
	--tooltip-background          : rgb(127, 127, 127);
}

html {
	overflow-y : scroll;
	height     : 100%;
}
body {
	margin     : 0;
	width      : 100%;
	min-height : 100vh;
}

text{
	user-select : none;
}

svg{float : left;}

p{
	margin : 0;
	cursor : default;
}

ul {
	list-style : none;
	margin     : 0;
	padding    : 0;
}

.visually-hidden {
    position : absolute;
    opacity  : 0;
    width    : 0;
    height   : 0;
}
/*!***************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/styles/01_helpers.css ***!
  \***************************************************************************************************/
.link {
    color: var(--theme-primary);
    cursor: pointer;
}
.link:hover {
    text-decoration: underline;
}
.underscript-comment {
    font-style: italic;
    font-size: 0.7em;
}

.scroll-hidden {
    overflow: hidden !important;
}
/*!**************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/styles/02_button.css ***!
  \**************************************************************************************************/
.button {
	min-width       : 3rem;
	min-height      : 2.25rem;
	font-size       : 0.875rem;
	line-height     : 1;
	border-radius   : 0.25rem;
	letter-spacing  : 0.09em;
	font-weight     : 500;
	display         : inline-flex;
	align-items     : center;
	justify-content : center;
	cursor          : pointer;
	padding         : 0 1rem;
}

.button[disabled] {
	cursor: default;
	color          : var(--theme-text-disabled-on-background);
}

.button--contained {
	background : var(--theme-primary);
	color      : var(--theme-text-primary-on-dark);
	border     : 1px solid var(--theme-primary);
	box-shadow : var(--box-shadow);
	transition : box-shadow cubic-bezier(0.4, 0, 0.2, 1);
}

.button--contained[disabled] {
	background     : var(--background-button-disabled);
	box-shadow     : none;
	border         : 1px solid transparent;
}

.button--contained:hover {
	opacity    : 0.9;
	box-shadow : var(--box-shadow-hover);
}

.button--contained[disabled]:hover {
	opacity    : unset;
	box-shadow : unset;
}

.button--contained:active {
	opacity : 0.8;
}

.button--outlined {
	background : none;
	color      : var(--theme-primary);
	border     : 1px solid var(--theme-primary);
}

.button--outlined[disabled] {
	border : 1px solid var(--theme-text-disabled-on-background);
}

.button--outlined:hover {
	background : var(--background-button-text-hover);
}

.button--outlined[disabled]:hover {
	background : unset;
}

.button--outlined:active {
	background : var(--background-button-text-active);
}

.button--text {
	border     : none;
	background : none;
	color      : var(--theme-primary);
	/* If you need underlined text in a button, then use '.button--link' class */
	text-decoration: none;
}

.button--text:hover {
	background : var(--background-button-text-hover);
}

.button--text[disabled]:hover {
	background : unset;
}

.button--text:active {
	background : var(--background-button-text-active);
}

.button--text-red {
	color      : var(--theme-error);
}

.button-group {
	display       : inline-flex;
	box-shadow    : var(--box-shadow);
	border-radius : 0.25rem;
}

.button-group[disabled] {
	pointer-events : none;
	box-shadow     : none;
}

.button-group__button {
	min-width       : 3rem;
	min-height      : 2.25rem;
	font-size       : 0.875rem;
	line-height     : 1;
	border-radius   : 0.25rem;
	letter-spacing  : 0.09em;
	font-weight     : 500;
	display         : inline-flex;
	align-items     : center;
	justify-content : center;
	cursor          : pointer;
	padding         : 0 1rem;
	background      : var(--theme-primary);
	color           : var(--theme-text-primary-on-dark);
	border          : 1px solid var(--theme-primary);
	transition      : box-shadow cubic-bezier(0.4, 0, 0.2, 1);
}

.button-group__button:hover {
	opacity    : 0.9;
	box-shadow : var(--box-shadow-hover);
}

.button-group__button:active {
	opacity : 0.8;
}

.button-group[disabled] .button-group__button {
	color      : var(--theme-text-disabled-on-background);
	background : var(--background-button-disabled);
	border     : 1px solid transparent;
}

.button-group[disabled] .button-icon {
	fill : var(--theme-text-disabled-on-background);
}

.button-group__button--left {
	border-radius : 0.25rem 0 0 0.25rem;
}

.button-group__button--right {
	border-radius : 0 0.25rem 0.25rem 0;
	min-width     : 0;
	padding       : 0;
}

.button-icon {
	fill   : var(--theme-text-primary-on-dark);
	width  : 1.5rem;
	height : 1.5rem;
}

.button--floating {
	position: fixed;
	top: 90%;
	left: 90%;
	height: 56px;
	width: 56px;
	border-radius: 50%;
}

.button--link {
	border: none;
	background: unset;
	font-size: inherit;
	padding: 0;
	color: var(--theme-primary);
	text-decoration: underline;
	cursor: pointer;
}
/*!**************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/styles/02_dialog.css ***!
  \**************************************************************************************************/
dialog {
    border: none;
    border-radius : var(--border-radius);
    box-shadow: var(--box-shadow);
    outline: none;
}

.dialog-content {
    padding-bottom: 24px;
    padding-top: 5px;
}

.dialog-buttons {
    height : 36px;
    text-align: end;
}
/*!*************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/styles/02_icons.css ***!
  \*************************************************************************************************/
.material-icons {
    font-family: 'Material Icons', sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    cursor: pointer;
    color: var(--theme-text-hint-on-light);
}

.material-icons:hover {
    color: var(--theme-text-primary-on-light);
}

.open-in-new-icon {
    font-size: 1rem;
    margin-left: 2px;
    vertical-align: middle;
    display: inline-block;
    color: var(--theme-text-hint-on-light);
    pointer-events: none;
}

.open-in-new-icon:hover {
    color: var(--theme-text-hint-on-light);
    cursor: default;
}
/*!***************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/styles/02_landing.css ***!
  \***************************************************************************************************/
.table-page-container {
    width: 100%;
    /*Hack. Need to make it reach the end of window at some point.*/
    min-height: 90vh;
    box-sizing: border-box;
    background: white;
    padding: 10px 0;
}
.landing-tabs {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    height: 3em;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.landing-tabs__list {
    margin: 0;
}
.landing-tabs__item {
    list-style-type: none;
    display: inline;
    border: 3px solid rgba(0, 0, 0, 0);
    padding-bottom: 10px;
}
.landing-tabs__item--current {
    border-bottom: 3px solid var(--theme-primary);
}
.landing-tabs__link {
    color: black;
    text-decoration: none;
    font-weight: 400;
    padding: 10px 15px;
}
.landing-tabs__link:hover, .landing-tabs__link--current {
    color: var(--theme-primary);
}

.landing-search {
    height: 48px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.landing-search__icon {
    color: grey;
    padding: 0 15px 0 20px;
}
.landing-search__input {
    border: none;
    height: 90%;
    padding: 0;
    flex: 1 1 0;
}
.n-of-found {
    font-style: italic;
    font-size: .8em;
}
.n-of-found > span {
    margin: 0 .2em;
}
.n-of-found__not-seeing-yours-link {
    margin-right: 20px;
}
.landing-search__button {
    margin-right: 20px;
}
/*!***********************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/styles/02_named-list-item.css ***!
  \***********************************************************************************************************/
.named-list-item {
    padding: .3em 0;
}
.named-list-item.fade-out {
    opacity : 0.4;
}
.named-list-item__title {
    font-size: .75em;
    color: var(--theme-text-hint-on-light);
}
.named-list-item:hover .named-list-item__title {
    color: var(--theme-primary);
}
/*!*************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/styles/02_popup.css ***!
  \*************************************************************************************************/
.page-overlay {
    display          : flex;
    position         : fixed;
    z-index          : 4;
    left             : 0;
    top              : 0;
    width            : 100vw;
    height           : 100vh;
    background-color : rgba(0, 0, 0, 0.4);
}
.page-overlay--transparent {
    background-color: transparent;
}

.popup {
    --popup__header__height: 3em;
    --popup__header__top-padding: 24px;
    --popup__header__bottom-padding: 10px;
    --popup__footer__height: 3em;
    --popup__right-padding: 24px;

    margin: auto auto;
    /*need to keep right padding 0 so that the content could extend fully to the right and have its own padding.
     This way its scroll bar will touch popup right border instead of being padded.*/
    padding : 24px 0 var(--popup__header__bottom-padding) 24px;
    background: white;
    outline : none;
    /*position is set to relative because child element "progress-bar" has position "absolute" with top:left: 0*/
    position: relative;
}

.popup__progress {
    position : absolute;
    top      : 0;
    left     : 0;
}
.popup__header {
    font-size: 1.25em;
    padding-right: var(--popup__right-padding);
}

.popup__main-content {
    /*
      We want the content of the popup to be scrollable while the header and the footer (buttons) stay on the screen,
      so the max height of the content is the screen height minus header & footer.

      The calculations are a bit off since the scroll appears sooner when you start shrinking the window,
      was lazy to figure out the mistake. But that's fine - we'd add extra space anyway, don't want to touch
      browser boundaries.

      There will be dialogs w/o header or footer, but those are usually small ones. Their max-height will have
      extra pixels, well.. because they have no actual header or footer. But for small popups this isn't critical
      because no one will shrink the browser that much.
    */
    max-height: calc(100vh - var(--popup__header__height)
                           - var(--popup__header__top-padding) - var(--popup__header__bottom-padding)
                           - var(--popup__footer__height));
    overflow: auto;
    margin-top: 1em;
    padding-right: var(--popup__right-padding);
}
.popup__main-content--text-only {
    margin-bottom: 3em;
}

.popup__footer {
    height   : var(--popup__footer__height);
    padding-right: var(--popup__right-padding);
}
.popup__footer--main-buttons-only {
    display: flex;
    justify-content: flex-end;
}
.popup__footer--main-buttons-only > button {
    margin-left: 1em;
}
/*!**************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/components/TooltipManager/TooltipManager.css ***!
  \**************************************************************************************************************************/
.tooltip-block {
    position: relative;
}

.tooltip {
    background: white;
    border: rgb(255, 69, 0) 1px solid;
    border-radius: var(--border-radius);
    max-width: 90vw;
    top: 5rem;
    right: 0;

    box-shadow: 0 1px 3px 0 rgba(255, 69, 0, .2), 0 1px 1px 0 rgba(255, 69, 0, .14), 0 2px 1px -1px rgba(255, 69, 0, .12);
    position: absolute;
    z-index: 10;
}

.tooltip-container {
    position: relative;
    padding: 1rem 3rem 1rem 2rem;
    display: flex;
    justify-content: space-between;
}

.tooltip__close-icon {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.tooltip__close-icon:hover {
    color: black;
}
/*!********************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/components/Table/Table.css ***!
  \********************************************************************************************************/
.page-table__body {
    padding: 0;
    margin: 0;
}
.page-table__row {
    height: 48px;
    border-bottom: var(--theme-border);
    font-weight: 300;
    padding: 0;
    display: flex;
    align-items: center;
}
.page-table__row:hover {
    background: var(--theme-background);
    cursor: pointer;
}
.page-table__row--header {
    display: flex;
    justify-content: flex-start;
}
.page-table__header-cell {
    border: none;
    background: none;
    text-align: left;
    padding: 0;
    font-size: 0.8em;
    font-weight: 500;
}
.page-table__row > * {
    flex: 1 1 0;
}
.page-table__row a {
    /*increasing clickable area of link - making it equal to the whole row size*/
    display: flex;
    height: 100%;
    align-items: center;
}
.page-table__row > :first-child {
    padding: 0 0 0 40px;
}

.page-table__cell {
    overflow: hidden;
    text-overflow: ellipsis;
    /*max-height = 2 x line-height in order to allow only 2 rows per cell*/
    line-height: 1.2em;
    max-height: 2.4em;
}
.page-table__cell--main {
    flex: 0 0 20px;
    padding: 0 0 0 55px;
}

.page-table__cell-with-link {
    display: flex;
    align-items: center;
}

.page-table__external-link {
    text-decoration: none;
}

.page-table__link-underlined {
    text-decoration: underline;
}
/*!************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/components/StructureUploadArea/StructureUploadArea.css ***!
  \************************************************************************************************************************************/
.file-drop-area {
    width: 250px;
    height: 250px;
    cursor: default;
}

.file-drop-area__text {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--theme-text-hint-on-light);
}
/*!****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/components/StructureSearch/StructureSearch.css ***!
  \****************************************************************************************************************************/
.structure-search {
    display: flex;
    justify-content: start;
    gap: 2px;
    padding: 5rem 1rem 1rem 1rem;
}

.structure-search__drop-area {

}
/*!**************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/components/StructurePopup/StructurePopup.css ***!
  \**************************************************************************************************************************/
.structure-popup {
    position: absolute;
    border-radius: .2rem;
    display: block;
    background-color: white;
    z-index: 5;
    box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.2);
}
/*!************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/components/StructureGrid/StructureGrid.css ***!
  \************************************************************************************************************************/
.structure-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}

.structure-grid__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 0.5em;
    border: var(--theme-border);
    border-radius: var(--border-radius);
    box-sizing: border-box;
    position: relative;
}

.structure-grid__item--last {
    order: 10000;
}

.structure-grid__title {
    font-size: 0.8em;
}

.structure-grid__delete-icon {
    display: none;
    position: absolute;
    top: 1rem;
    right: -0.5rem;
}

.structure-grid__item:hover .structure-grid__delete-icon {
    display: inline-block;
}
/*!****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/components/StructureFormSelector/StructureFormSelector.css ***!
  \****************************************************************************************************************************************/
.structure-form-selector__dialog {
    padding: 2em;
}
.structure-form-selector__id-part {

}
.structure-form-selector__id-part--unchecked {
    text-decoration: line-through;
}
.structure-form-selector__id-part--unchecked:hover {
    text-decoration: line-through underline;
}

.structure-form-selector__underscript {
    display: flex;
    gap: 0.1em;
}

.structure-forms-list {
    list-style: none;
    padding-left: 0;
}
.structure-forms-list__item {
    height: 2.5em;
}
.structure-forms__item-label {
    cursor: pointer;
}
/*!******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/components/HeaderMenu/HeaderMenu.css ***!
  \******************************************************************************************************************/
.header-menu {
    padding: 0;
    margin: 0;
    top: 4rem;
    left: auto;
    border-radius: 0.375rem;
    width: 20rem;
    overflow: hidden;
}

.header-menu__menu-wrapper {
    padding: 0;
    margin: 0;
}

.header-menu__item-title {
    font-size: 1.2rem;
    color: var(--theme-text-primary-on-light);
}
.header-menu__list-item:hover {
    display: flex;
    flex-direction: column;
    background-color: var(--theme-background);
}

.header-menu__clickable-item{
    text-decoration: none;
    padding: 1rem 1rem 1rem 2rem;
    display: flex;
    flex-direction: column;
}

.header-menu__app-link{
    display: flex;
    flex-direction: row;
    padding: 0 1rem 1rem 2rem;
    margin-top: -.5rem;
    text-decoration: none;
}
.header-menu__link {
    text-decoration: underline;
}

.header-menu__dropdown-icon {
    font-size: 1.5rem;
    color: var(--theme-text-primary-on-light);
}

.header-menu__dropdown-icon:hover {
    color: var(--theme-text-primary-on-light);
}
/*!**********************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/components/Header/Header.css ***!
  \**********************************************************************************************************/
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 4rem;
    color: var(--theme-text-primary-on-light);
    background-color: var(--theme-text-primary-on-dark);
    z-index: 9;
    border-bottom: var(--plain-border);
}

.header__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 1rem;
}

.header.scroll {
    -webkit-box-shadow: var(--page-header-box-shadow);
    box-shadow: var(--page-header-box-shadow);
}
.header__logo-section {
    height: 3rem;
    display: flex;
    flex-direction: row;
    align-items: end;
    gap: .5rem;
}
.header__logo {
    font-size: 3rem;
    color: var(--theme-primary);
    font-weight: bold;
    text-decoration: none;
    display: inline-block;
    line-height: 1;
}
.header__sublogo {
    font-size: .9rem;
    margin-bottom: .2rem;
    letter-spacing: .1rem;
}

.header__menu-section {
    display: flex;
    gap: 2rem;
    letter-spacing: 0.5px;
    font-size: 1rem;
}

.header-menu__icon {
    cursor: pointer;
    display: flex;
}

.header-menu__item-description {
    color: var(--theme-text-hint-on-light);
    font-size: .8rem;
}

.header__website-link {
    text-decoration: none;
    color: var(--theme-text-primary-on-light);
}
/*!**********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/components/FileDropArea/FileDropArea.css ***!
  \**********************************************************************************************************************/
.drag-n-drop-area {
    width            : 100%;
    height           : 100%;
    position         : absolute;
    display          : flex;
    top              : 0;
    flex-direction   : column;
    justify-content  : center;
    align-items      : center;
    box-sizing       : border-box;
    background-color : rgba(255, 255, 255, 0.95);
    border           : 2px dashed gray;
}

.drag-n-drop-area span {
    font-size : 23px;
}
/*!********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/main/resources/static/components/EventDialog/EventDialog.css ***!
  \********************************************************************************************************************/
.event-dialog {
    max-width: 90%;
}

.event-dialog__title {
    font-size: 1rem;
    margin-bottom: 2rem;
}

.event-dialog__body{
    display: flex;
    gap: 3rem;
    flex-wrap: wrap;
}

.event-dialog__property-column{
    min-width: 17rem;
}

.event-dialog__image-column{
    min-width: 25rem;
}

.event-dialog__image-block {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.event-dialog__img {
    border: var(--theme-border);
    border-radius: var(--border-radius);
}

.event-dialog__property-item {
    padding: 0.5rem 0;
}
.event-dialog__item-name {
    display: inline-block;
    width: 6.6rem;
}
.event-dialog__item-name--dynamic{
    width: unset;
}
.event-dialog__item-value--empty {
    color: var(--theme-text-hint-on-light);
    font-size: 0.9rem;
}

.event-dialog__subtitle {
    font-weight: bold;
    font-size: .9rem;
    padding: 1.5rem 0 .5rem 0;
}

/*# sourceMappingURL=bundle.e5eee7b3.css.map*/