body{
margin:0;
padding:0;
line-height: 1.5em;
height:100%;
background-color:#224490;
}
html{height:100%;}

b{font-size: 110%;}
em{color: red;}

h1 {
    display:block;
    width:800px;
    color: #000000;
    text-align:center;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 14pt;
}

#homepic{
z-index: 2;
position: absolute;
left: 32px;
top: 23px;
}

#logo{
z-index: 2;
position: absolute;
left: 93%;
top: 10px;
}

#logo .logo-portrait{ display: none; }

#topsection{
background: #224490;
height: 50px; /*Height of top section*/
z-index: 1;
}

#topsection h1{
margin: 0;
padding-top: 15px;
}

#contentwrapper{
float: left;
width: 100%;
background-image:url(/inner_files/levo.png);
background-repeat:no-repeat;
background-position: 0% 100%;
}

#contentcolumn{
background-color:#FFFFFF;
margin-left: 250px; /*Set left margin to LeftColumnWidth*/
border-left-color: #f7c80b;
border-left-style: solid;
border-left-width: 5px;
border-top-color: #f7c80b;
border-top-style: solid;
border-top-width: 5px;
z-index: 1;
padding-bottom: 1px;

}

#leftcolumn{
float: left;
width: 250px; /*Width of left column*/
height: 700px;
margin-left: -100%;
background: #224490;
}

#box img{
margin-left:5px;
margin-top:5px;
border-left: 2px solid #224490;
border-right: 2px solid #224490;
border-top: 2px solid #224490;
border-bottom: 2px solid #224490;
}

#footer{
clear: left;
width: 100%;
background: FFFFFF;
color: white;
text-align: center;
padding: 4px 0;
border-top-color: #f7c80b;
border-top-style: solid;
border-top-width: 5px;
}

#footer a{
color: #FFFF80;
}

.innertube{
margin: 10px; /*Margins for inner DIV inside each column (to provide padding)*/
margin-top: 0;
}

.headtext{
margin-top: 0;
margin-left: 250px;
color: #FFFFFF;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 19pt;
font-style: normal;
padding-top: 10px;

}

#homepic, #homepic a{
line-height: 10pt;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-style: normal;
font-size: 10pt;
color: #FFFFFF;
text-decoration: none;
}

#homepic a:hover{
text-decoration: underline;
}

.leftcolumn_menu{
line-height: 10pt;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-style: normal;
font-size: 10pt;
}
.leftcolumn_menu a{
color: #FFFFFF;
text-decoration: none;
}

.leftcolumn_menu a:hover{
text-decoration: underline;
}

.leftcolumn_menu li{
list-style:none;
margin-top: 9px;
margin-left: -10px;
}

#otzuvu {
padding-top: 30px;
width: 200px;
margin-left: 30px;
line-height: 10pt;
font-family: Arial;
font-style: italic;
font-size: 10pt;
color: #FFFFFF;
padding-right: 20px;
color:#fff;
}

#schetchik {
padding-top: 30px;
text-align: center;
}

#robotu_tablica {
	font-family: Times New Roman;
	font-weight: normal;
	line-height: 15pt;
	font-size: 14pt;
}

/* --- Diploma structured grid --- */
.diploma-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
    gap: 16px;
    margin: 24px 0;
}

/* --- Video gallery (YouTube embeds) --- */
.video-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 20px 0;
}
.video-gallery iframe {
    width: 320px;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.diploma-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.diploma-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

.diploma-card__img {
    display: block;
    overflow: hidden;
    background: #f6f6f6;
}

.diploma-card__img img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: contain;
    padding: 6px;
    box-sizing: border-box;
    transition: transform 0.3s ease;
}

.diploma-card:hover .diploma-card__img img {
    transform: scale(1.04);
}

.diploma-card__info {
    padding: 6px 10px 10px;
    border-top: 1px solid #eee;
}

.diploma-card__year {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #224490;
    margin-bottom: 2px;
    font-family: Verdana, Arial, sans-serif;
}

.diploma-card__title {
    margin: 0;
    font-size: 10px;
    font-family: Verdana, Arial, sans-serif;
    color: #444;
    line-height: 1.4;
}

/* --- Burger button (hidden on desktop) --- */
#burger { display: none; }

/* --- Diploma / certificate masonry grid (CSS columns).
   Targets any <ul> in the content area that contains highslide thumbnails. --- */
#contentcolumn ul:has(a.highslide) {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    column-count: 4;
    column-gap: 12px;
}
#contentcolumn ul:has(a.highslide) li {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    margin: 0 0 12px 0;
    padding: 0;
    list-style: none;
}
#contentcolumn ul:has(a.highslide) a.highslide {
    display: block;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background: #fff;
}
#contentcolumn ul:has(a.highslide) a.highslide:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}
#contentcolumn ul:has(a.highslide) a.highslide img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
}

@media (max-width: 1024px) {
    #contentcolumn ul:has(a.highslide) { column-count: 3; }
}

/* --- Mobile adaptation --- */
@media (max-width: 768px) {
    html, body { overflow-x: hidden; }
    body { background-color: #224490; }

    h1 { width: auto; max-width: 100%; font-size: 12pt; }

    /* Burger toggle */
    #burger {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-self: center;
        margin: 6px auto 8px;
        width: 44px;
        height: 44px;
        padding: 11px 9px;
        background: rgba(34, 68, 144, 0.95);
        border: 1px solid rgba(255, 255, 255, 0.35);
        border-radius: 6px;
        cursor: pointer;
        box-sizing: border-box;
    }
    #burger span {
        display: block;
        height: 3px;
        width: 100%;
        background: #fff;
        border-radius: 2px;
        transition: transform 0.25s ease, opacity 0.2s ease;
    }
    body.menu-open #burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    body.menu-open #burger span:nth-child(2) { opacity: 0; }
    body.menu-open #burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

    /* Diplomas grid: 2 columns on phone */
    #contentcolumn ul:has(a.highslide) { column-count: 2; column-gap: 8px; }
    #contentcolumn ul:has(a.highslide) li { margin-bottom: 8px; }

    .diploma-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .diploma-card__img img { height: 160px; }

    #maincontainer {
        display: flex;
        flex-direction: column;
    }
    #logo       { order: 1; }
    #homepic    { order: 2; }
    #burger     { order: 3; }
    #topsection { order: 4; }
    #leftcolumn { order: 5; }
    #contentwrapper { order: 6; }
    #footer     { order: 7; }

    #logo {
        position: static;
        left: auto;
        top: auto;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 20px;
        padding: 12px 15px;
        background: #224490;
    }
    #logo .logo-portrait { display: block; }
    #logo img {
        height: 130px;
        width: auto;
        max-width: 45%;
        object-fit: contain;
    }

    #homepic {
        position: static;
        left: auto;
        top: auto;
        text-align: center;
        padding: 8px 15px;
        background: #224490;
        font-size: 11pt;
        line-height: 1.4;
    }

    #topsection { height: auto; padding: 0; }
    .headtext {
        margin-left: 0;
        padding: 8px 15px;
        font-size: 14pt;
        text-align: center;
    }

    #contentwrapper {
        float: none;
        width: 100%;
        background-image: none;
    }
    #contentcolumn {
        margin-left: 0;
        border-left: none;
        padding: 10px;
        box-sizing: border-box;
    }

    #leftcolumn {
        float: none;
        width: 100%;
        height: auto;
        margin-left: 0;
        padding: 0;
        text-align: center;
        box-sizing: border-box;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.35s ease, padding 0.25s ease;
    }
    body.menu-open #leftcolumn {
        max-height: 1500px;
        padding: 15px 0;
    }

    .leftcolumn_menu {
        text-align: center;
        padding: 0 15px;
    }
    .leftcolumn_menu ul {
        padding: 0;
        margin: 10px 0;
    }
    .leftcolumn_menu li {
        margin-left: 0;
        margin-top: 12px;
        font-size: 11pt;
    }

    #otzuvu {
        width: auto;
        max-width: 100%;
        margin-left: 0;
        padding: 20px 15px;
        box-sizing: border-box;
    }

    #contentcolumn img,
    #contentcolumn table {
        max-width: 100%;
        height: auto;
    }
    #robotu_tablica { font-size: 11pt; line-height: 1.4; }
}
