body {
    --aza-pa-stack-gap: 1em;
    --aza-pa-half-stack-gap: calc(var(--aza-pa-stack-gap) / 2);
    --aza-pa-double-stack-gap: calc(var(--aza-pa-stack-gap) * 2);
    --aza-pa-triple-stack-gap: calc(var(--aza-pa-stack-gap) * 3);
    --aza-pa-minimal-stack-gap: 0.1em;
    --aza-pa-bigger-width: 800px;
    --aza-pa-big-width: 600px;
    --aza-pa-medium-width: 400px;
    --aza-pa-small-width: 200px;
    --aza-pa-border-color: #cccccc;
    --aza-pa-border-width: 1px;
    --aza-pa-border-radius: 8px;
    --aza-pa-border-double-radius: 16px;
    --aza-pa-border-style: solid;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

body {
    padding: 0;
    margin: 0;
    font-family: Roboto, Arial, sans-serif;
}

.aza-pa-full-width {
    width: 100%;
}

/* Flex and grid */
.aza-pa-flex-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--aza-pa-stack-gap);
}

.aza-pa-flex-column {
    display: flex;
    flex-direction: column;
    gap: var(--aza-pa-stack-gap);
}

.aza-pa-inline-flex-column {
    display: inline-flex;
    flex-direction: column;
    gap: var(--aza-pa-stack-gap);
}

.aza-pa-flex-wrap {
    flex-wrap: wrap;
}

.aza-pa-flex-grow {
    flex-grow: 1;
}

.aza-pa-flex-column .aza-pa-flex-item-max-height-grow {
    flex-grow: 1;
    max-height: 100%;
}

.aza-pa-grid {
    display: grid;
    gap: var(--aza-pa-stack-gap);
    align-items: center;
    overflow: auto;
}

.aza-pa-two-columns-grid {
    display: grid;
    grid-template-columns: max-content max-content;
    gap: var(--aza-pa-stack-gap);
    align-items: center;
}

.aza-pa-two-columns-grid-full-width-columns {
    grid-template-columns: 1fr 1fr;
}

.aza-pa-flex-item-align-center {
    align-items: center;
}

.aza-pa-flex-item-align-baseline {
    align-items: baseline;
}

.aza-pa-flex-item-align-normal {
    align-items: normal;
}

.aza-pa-flex-item-align-start {
    align-items: flex-start;
}

.aza-pa-flex-item-content-end {
    justify-content: flex-end;
}

.aza-pa-content-space-between {
    justify-content: space-between;
}

.aza-pa-content-center {
    justify-content: center;
}

.aza-pa-gap {
    gap: var(--aza-pa-stack-gap);
}

.aza-pa-double-gap {
    gap: var(--aza-pa-double-stack-gap);
}

.aza-pa-half-gap {
    gap: var(--aza-pa-half-stack-gap);
}

.aza-pa-minimal-gap {
    gap: var(--aza-pa-minimal-stack-gap);
}

.aza-pa-no-gap {
    gap: 0;
}

.aza-pa-flex-column .aza-pa-flex-grow.aza-pa-max-height-100 {
    max-height: 100%;
}

.aza-pa-content-space-around {
    justify-content: space-around;
}

/* Margins */
.aza-pa-margin-block {
    margin-block: var(--aza-pa-stack-gap);
}

.aza-pa-margin-block-end {
    margin-block-end: var(--aza-pa-stack-gap);
}

/* Paddings */
.aza-pa-padding {
    padding: var(--aza-pa-stack-gap);
}

.aza-pa-half-padding {
    padding: var(--aza-pa-half-stack-gap);
}

.aza-pa-padding-block-start {
    padding-block-start: var(--aza-pa-stack-gap);
}

.aza-pa-padding-block-end {
    padding-block-end: var(--aza-pa-stack-gap);
}

.aza-pa-padding-block {
    padding-block: var(--aza-pa-stack-gap);
}

.aza-pa-button-padding {
    padding-inline: var(--aza-pa-stack-gap);
    padding-block: var(--aza-pa-half-stack-gap);
}

/* Widths */
.aza-pa-medium-width {
    width: var(--aza-pa-medium-width);
}

.aza-pa-big-width {
    width: var(--aza-pa-big-width);
}

/* Heights */
.aza-pa-max-height-100 {
    max-height: 100%;
}

/* Text */
.aza-pa-center-text {
    text-align: center;
}

/* Wrapping */
.aza-pa-wrap {
    word-wrap: break-word;
    overflow-wrap: break-word;
    overflow-wrap: anywhere;
}

/* Borders */
.aza-pa-rounded-border {
    border-radius: var(--aza-pa-border-radius);
}

.aza-pa-double-rounded-border {
    border-radius: var(--aza-pa-border-double-radius);
}

.aza-pa-border {
    border: var(--aza-pa-border-width) var(--aza-pa-border-style) var(--aza-pa-border-color);
}

/* Pointers */
.aza-pa-cursor-hand {
    cursor: pointer;
}

.aza-pa-cursor-no-event {
    cursor: auto;
    pointer-events: none;
}

/* Dialog */
[mat-dialog-actions].aza-pa-dialog-actions,
.aza-pa-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--aza-pa-stack-gap);
    margin: var(--aza-pa-stack-gap);
}

.aza-pa-right-aligned-popup-backdrop-class + .cdk-global-overlay-wrapper {
    /* Stick dialog modal to the right of the window */
    justify-content: end !important;
    align-items: stretch !important;
}

/* Positioning */
.aza-pa-position-fixed-bottom {
    /* TODO: position: sticky; does not work if grouped fields is in another container that scrolls */
    /* position: sticky; */
    position: fixed;
    bottom: var(--aza-pa-stack-gap);
}

.aza-pa-save-and-cancel-owner {
    padding-bottom: var(--aza-pa-double-stack-gap);
}

/* Icons */
.aza-pa-icon-big {
    transform: scale(3);
}

/* Input field stack */
.aza-pa-input-fields-stack-container {
  /* For some reason input fields inside container cause vertical scrolls to appear on the container */
  /* Padding on the container removes the scroll */
  padding-block: 10px;
}

/* Required */
azavista-button.aza-pa-required .mdc-button__label::after{
    content: '*';
    color: red;
}

/* Chatbot iframe */
@media only screen and (min-width: 800px) {
    #libraria-chatbot > iframe {
        bottom: 20px !important;
        max-height: calc(100vh - 90px) !important;
        height: calc(100vh - 90px) !important;
        max-width: 450px;
    }
}

/* Apexcharts */
.apexcharts-legend {
    max-width: 150px;
    word-break: break-all;
    overflow-wrap: break-word;
}
