*, *::before, *::after
        {
        box-sizing: border-box;
        }
        :root
        {
            --zaklad: #800080;
            --akcent: #FF00FF;
        }
        * {
        margin: 0;
        padding: 0;
        font: inherit;
        }
        body
        {
            background-color: var(--zaklad);
            min-height: 100vh;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
        }
        img, picture, svg, video
        {
        display: block;
        max-width: 100%;
        }
        .megaobal
        {
        width: 95%;
        max-width: 1000px;
        margin: 10px auto;
        display: grid;
        gap: .5rem;
        grid-template-columns: 1fr;
        grid-template-areas:
        "logo"
        "pruh"
        "onas"
        "sluzby"
        "kontakty"
        "zl"
        }
        .tabulka
        {
            background: white;
            border-radius: 10px;
            padding: .7em;
            color: black;
            border-top: 1px solid rgba(255, 255, 255, 0.5);
            border-left: 1px solid rgba(255, 255, 255, 0.5);
            box-shadow: 2px 2px 4px 0px black;
        }
        .tabulka img
        {
            border-radius: 5px;
        }
        .tabulka h2
        {
            text-align: center;
            font-weight: 300;
        }
        .logo
        {
            display: flex;
            justify-content: center;
        }
        .logo img
        {
            max-width: 35%;
        }
        .pruh
        {
            grid-area: pruh;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .pruh img, .kontakt img
        {
            height: 30px;
            aspect-ratio: 1;
        }
        .pruh span
        {
            display: flex;
            flex-direction: row;
            gap: .25em;
            font-weight: 200;
        }
        .onas
        {
            grid-area: onas;
        }
        .onas p
        {
            text-align: justify;
            margin-block: .5em;
        }

        .sluzby
        {
            grid-area: sluzby;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.7em;
        }
        .kontakty
        {
            grid-area: kontakty;
        }
        .kontaktobal {
        display: flex;
        justify-content: center;
        }
        .kontaktpodobal {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        }
        .kontakt {
        display: flex;
        align-items: center;
        gap: .5rem;
        margin-block: 2px;
        }
	.kontakt span:last-child
	{
	font-size: 14px;
    	color: grey;
	}
        .kontakt a, .zl a
        {
            text-decoration: none;
            color: var(--zaklad);
        }
        .kontakt a:hover, .zl a:hover
        {
            color: var(--akcent);
        }
        .zl img
        {
            border-radius: 0px;
        }
        
        .sluzby button
        {
            background-color: var(--zaklad);
            background-image: linear-gradient(var(--zaklad) 50%, var(--akcent));
            color: white;
            font-weight: 700;
            font-size: 1.5em;
            padding: .25em;
            border: none;
            border-radius: 15px;
            cursor: pointer;
            height: 15vh;
            width: 35%;
            border-top: 2px solid lightgrey;
            border-left: 2px solid lightgrey;
            border-right: 2px solid darkslategrey;
            border-bottom: 2px solid darkslategrey;
            overflow: hidden;
            position: relative;
            transition: background-color 200ms ease;
        }
        .sluzby button span:nth-child(1)
        {
            position: absolute;
            inset: 0;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            font-weight: 400;
            padding-top: 5px;
            font-size: 15px;
            transform: translateY(-100%);
            transition: transform 500ms ease;
        }
        .sluzby button:hover span:nth-child(1)
        {
            transform: translateY(0px);
            transition: transform 500ms cubic-bezier(0.18, 0.89, 0.32, 1.28);
        }
        .sluzby button span:nth-child(2)
        {
            position: absolute;
            inset: 0;
            font-weight: 400;
            font-size: 15px;
            transform: translateY(100%);
            transition: transform 500ms ease;
            padding-bottom: 5px;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
        }
        .sluzby button:hover span:nth-child(2)
        {
            transform: translateY(0px);
            transition: transform 500ms cubic-bezier(0.18, 0.89, 0.32, 1.28);
        }
        .sluzby button span img
        {
            width: 30px;
            height: 30px;
        }
        .sluzby button span:nth-child(3)
        {
            position: absolute;
            inset: 0;
            font-weight: 400;
            font-size: 15px;
            transform: translateX(-100%);
            transition: transform 500ms ease;
            padding-left: 5px;
            display: flex;
            justify-content: flex-start;
            align-items: center;
        }
        .sluzby button:hover span:nth-child(3)
        {
            transform: translateX(0px);
            transition: transform 500ms cubic-bezier(0.18, 0.89, 0.32, 1.28) 500ms;
        }
        .sluzby button span:nth-child(4)
        {
            position: absolute;
            inset: 0;
            font-weight: 400;
            font-size: 15px;
            transform: translateX(100%);
            transition: transform 500ms ease;
            padding-right: 5px;
            display: flex;
            justify-content: flex-end;
            align-items: center;
        }
        .sluzby button:hover span:nth-child(4)
        {
            transform: translateX(0px);
            transition: transform 500ms cubic-bezier(0.18, 0.89, 0.32, 1.28) 500ms;
        }
        .sluzby button:active
        {
            background-color: var(--akcent);
        }
        .tooltip {
        position: relative;
        display: inline;
        border: none;
        }

        .tooltip .tooltiptext {
        /*visibility: hidden;*/
        width: 220px;
        color: white;
        background-color: var(--akcent);
        /*border: 5px solid #4caf50;
        background-image: linear-gradient(#4caf50, green, green, #4caf50);*/
        display: flex;
	flex-direction: column;
    	align-items: center;
        justify-content: center;
	gap: 0;
        padding: 10px;
        
        /* Position the tooltip */
        position: absolute;
        z-index: 1;
        top: 130%;
        left: 0%;
        margin-left: -165px;
        opacity: 0;
        scale: 0;
        transform-origin: top right;
        transition: scale 250ms ease, opacity 250ms ease;
        border-radius: 5px;
        font-weight: 400;
        box-shadow: 3px 3px 5px 0px rgb(0 0 0 / 30%);
        }

        .tooltip .tooltiptext a
        {
            text-decoration: none;
            color: white;
        }
	.tooltip .tooltiptext span:last-child
	{
	font-size: 14px;
	}

        .tooltip .tooltiptext a:hover
        {
            color: var(--zaklad);
        }

        .tooltip .tooltiptext::after {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 60%;
        margin-left: 40px;
        border-width: 10px;
        border-style: solid;
        border-color: transparent transparent var(--akcent) transparent;
        }

        .tooltip:hover .tooltiptext {
        /*visibility: visible;*/
        opacity: 1;
        scale: 1;
        transition: scale 250ms cubic-bezier(0, 0, 0.65, 1.25), opacity 250ms ease;
        }
        .zl
        {
            grid-area: zl;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 5px;
        }
        .zl p
        {
            text-align: center;
        }
        img.no
        {
            border-radius: 0;
        }
        .tecka
        {
            background-color: transparent;
            width: 30px;
            aspect-ratio: 1;
            position: relative;
        }
        @media (max-width: 600px) {
            .oe
            {
                display: none;
            }
            .pruh
            {
                flex-direction: column;
		gap: .5em;
            }
            .sluzby button
            {
                width: 75%;
            }
            .tooltip .tooltiptext
            {
                left: 100%;
                margin-left: -145px;
                transform-origin: top;
            }
            .tooltip .tooltiptext::after
            {
                left: 45%;
                margin-left: 20px;
            }
            .sluzby button span:first-child
            {
                justify-content: flex-end;
                padding-bottom: 5px;
                transform: translateY(0);
                font-weight: 200;
            }
            #tecky
            {
                display: none;
            }
            .sluzby button span:nth-child(2), .sluzby button span:nth-child(3), .sluzby button span:nth-child(4)
            {
                display: none;
            }
            }