/*--------------------------------------------
    Layout
 --------------------------------------------*/

.p-1 {
    padding: 1.5rem;
}

.p-2 {
    padding: 2rem;
}

.p-4 {
    padding: 4rem;
}

.my-2 {
    margin-bottom: 2rem;
    margin-top: 2rem;
}

body {
    display: flex;
    justify-content: center;  /* center the .container with fixed width - others set by padding */
}

.full-size {
    width: 100%;
    height: 100%;
}

.col-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-items: center;
    /*justify-content: center;*/
}

.col-start {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-items: flex-start;
    /*justify-content: flex-start;*/
}

.row-center {
    display: flex;
    flex-direction: row;
    align-items: center;
    /*justify-items: center;*/
    /*justify-content: center;*/
}

.row-start {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-items: flex-start;
    /*justify-content: flex-start;*/
}

.row-wrap {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

@media (max-width: 767px) {
    .row-wrap {
        flex-direction: column;
        gap: 1rem;
        align-items: start !important;
    }
}

.liner {
    height: 1px;
    width: 100%;
    color: #DBDBDB;
    background-color: #DBDBDB;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.main-color-background {
    background-color: var(--color-main) !important;
}

/* default container => fixed total width of 1320px */
.container {
    display: grid;
    grid-template-columns: repeat(12, 5.5rem); /* 88px */
    grid-template-rows: var(--header-height) var(--progress-height) 1fr var(--footer-height-short);
    column-gap: var(--padding-block);
    row-gap: 4rem; /* 64px */
}

@media (max-width: 1351px) {  /* 1320px puvodne */
    .container {
        grid-template-columns: repeat(12, 1fr);
        padding-right: 1rem;
        padding-left: 1rem;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .container {
        row-gap: 2rem;
    }
}

.centeredContentWrapper {
    grid-column: 2 / span 10;
}

@media (max-width: 1023px) {
    .centeredContentWrapper {
        grid-column: 1 / span 12;
    }
}

.centeredContentWrapper > form {
    width: 100%;
}

.titleWrapper {
    grid-column: 1 / span 4;
    grid-row: 3;
}

.contentWrapper {
    grid-column: 5 / span 8;
    grid-row: 3;
}

@media (max-width: 1320px) {
    .titleWrapper {
        grid-column: 2 / span 10;
        grid-gap: 16px;
        grid-row: 3;
    }

    .contentWrapper {
        grid-column: 2 / span 10;
        grid-row: 4;
    }
}

@media (max-width: 1024px) {
    .contentWrapper, .titleWrapper {
        grid-column: 1 / span 12;
    }
}

@media only screen and (max-width: 480px) {
    .contentBlocks {
        grid-template-columns: 1fr !important;
    }
}

/* ------ layout specific ------ */

.panelWrapper {
    display: grid;
    gap: 2rem;
}

.panel {
    line-height: 1.4rem;
    width: 100%;
}

.panelContent {
    background-color: white;
    padding: var(--padding-block);
    margin-top: 1.5rem;
    width: 100%;
    line-height: 1.5rem;
}

.panelContent > div {
    width: 100%;
}

.titulek {
    display: flex;
    align-items: flex-end;
    flex: none;
}

.border {
    border: 1px solid #CCCCCC;
    padding: var(--padding-block);
    width: 100%;
}

.contentBlocks {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.identifikace {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

.formWrappedContent {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

/* ------ Block ------ */

.blockTitle {
    padding-top: 1.875rem;
    padding-bottom: 1rem;
}

/* ------ Dialog ------ */

body .ui-dialog .ui-dialog-content {
    padding: 2rem 1.5rem;
}

/* ------ Separator - hr ------ */

body hr {
    color: #DBDBDB;
    background-color: #DBDBDB;
}

/* ------- Komponenta pro list servisy HAV -------- */

.servis-details {
    display: flex;
    gap: 2rem;
    flex-direction: row;
    flex-wrap: wrap;
    padding-left: 1.875rem;
}

.tooltip-chip {
    display: flex;
    justify-content: end;
}

@media (max-width: 768px) {
    .servis-details {
        padding-left: 0;
        gap: 1rem;
        padding-top: 1rem;
    }

    .tooltip-chip {
        justify-content: start;
    }
}

/* ------- responzivni sirka sloupce napr. pro zobrazeni mapy a oteviraci doby v prohlidce -------- */

.colWidth {
    width: 50%;
}

@media (max-width: 768px) {
    .colWidth {
        width: 100%;
    }
}