/* Preserve the entire new house photo rather than cropping it to a panorama. */
.full_slider .flexslider .slides li.house-photo-slide {
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #203a47;
}
.house-photo-slide .full_slider_caption .cont {
    display: inline-block;
    max-width: 100%;
    padding: 10px 16px;
    background: rgba(0, 0, 0, .45);
    border-left: 3px solid #fff;
}
.house-photo-slide .full_slider_caption { top: auto; bottom: 22px; }
.house-photo-slide .full_slider_caption .title {
    font-size: 36px;
    line-height: 1.15;
}
.house-photo-slide .full_slider_caption .cont { font-size: 18px; line-height: 1.4; }
.house-photo-thumbnail {
    width: 100%;
    height: auto;
    aspect-ratio: 370 / 278;
    object-fit: contain;
    background-color: #203a47;
}
@media (max-width: 767px) {
    .house-photo-slide .full_slider_caption { bottom: 8px; }
    .house-photo-slide .full_slider_caption .title { font-size: 22px; }
    .house-photo-slide .full_slider_caption .cont { font-size: 13px; padding: 5px 10px; }
}

/* Accessible native controls and responsive layout. */
html { scroll-behavior:smooth; scroll-padding-top:170px; }
#top { position:sticky; top:-80px; }
#top .navmenu a[aria-current="page"] { color:#536d20; font-weight:700; }
.welcome-title { font-size:24px; line-height:1.4; margin:0 0 12px; }
.panel-title { color:inherit; font-size:24px; line-height:1.3; margin:0; }
button { font:inherit; cursor:pointer; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #216a86 !important; outline-offset:4px; }
.skip-link { position:fixed; left:10px; top:-100px; padding:12px; background:white; z-index:10001; }
.skip-link:focus { top:10px; }
.site-menu-toggle { display:none; }
.full_slider .flexslider { position:relative; overflow:hidden; background:#203a47; }
.full_slider .slides { position:relative; height:calc(100svh - 158px); min-height:400px; max-height:860px; margin:0; }
.full_slider .slides > li { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .7s ease; }
.full_slider .slides > li:first-child,.full_slider .slides > li.is-active { opacity:1; visibility:visible; }
.full_slider .slides > li[aria-hidden="true"] { opacity:0; visibility:hidden; }
.full_slider .slides > li picture { position:absolute; inset:0; display:block; }
.full_slider .slides img.slide-photo { width:100%; height:100%; max-width:none; object-fit:cover; }
.full_slider .slides .house-photo-slide img.slide-photo { object-fit:contain; }
.full_slider_caption { pointer-events:none; }
.full_slider_caption .cont { text-shadow:0 2px 5px #000; }
.slider-controls { left:auto; width:auto; position:absolute; z-index:5; right:16px; bottom:16px; display:flex; gap:8px; }
.slider-controls button { color:white; background:rgba(0,0,0,.65); border:1px solid #fff; border-radius:4px; min-width:44px; min-height:44px; font-size:25px; }
.portfolio-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.portfolio-list.row::before,.portfolio-list.row::after { display:none; }
.portfolio-list .item { float:none; width:auto; padding:0; margin:0; min-width:0; }
.portfolio-list .item[hidden] { display:none !important; }
.portfolio-list .item a picture { display:block; }
.portfolio-list .item a img { width:100%; height:auto; aspect-ratio:370 / 278; object-fit:cover; }
.portfolio-list .item a img.house-photo-thumbnail { object-fit:contain; }
.portfolio-list .item a:focus-visible .caption { background:rgba(255,255,255,.8); }
.portfolio-list .item a:focus-visible .caption .info { opacity:1; visibility:visible; }
.portfolio-menu button { display:block; padding:6px; border:0; background:transparent; font-weight:600; text-transform:uppercase; }
.portfolio-menu button[aria-pressed="true"] { color:#4d641e; text-decoration:underline; text-underline-offset:6px; }
#slike { padding-bottom:50px; }
.Table caption { caption-side:top; text-align:left; color:#333; font-weight:600; padding:0 0 12px; }
.Table th { font-weight:600; }
.Table th,.Table td { padding:12px 8px; border-bottom:1px solid #ddd; text-align:center; }
.Table th[scope="row"] { text-align:left; }
.Table tr:first-child th { background:#f3f5ed; }
.contact-notice,.contact-fallback { font-size:13px; line-height:1.6; margin-top:10px; }
.contact-fallback a { overflow-wrap:anywhere; text-decoration:underline !important; }
.form-feedback:not(:empty) { margin-bottom:16px; padding:12px; background:#eef3f5; color:#203a47; }
.form-feedback.error { background:#fff0ef; color:#8d261e; }
.form-feedback.success { background:#eef5e7; color:#3d5719; }
.form-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.site-lightbox { padding:16px; border:0; border-radius:6px; width:min(1100px,96vw); max-width:96vw; max-height:96svh; overflow:auto; color:white; background:#203a47; }
.site-lightbox::backdrop { background:rgba(0,0,0,.85); }
.site-lightbox figure { margin:0; text-align:center; }
.site-lightbox figure img { max-width:100%; max-height:72svh; width:auto; height:auto; display:block; margin:auto; object-fit:contain; }
.site-lightbox figcaption { margin:12px 0; }
.lightbox-toolbar,.lightbox-controls { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.site-lightbox button { border:1px solid #ddd; border-radius:4px; min-height:44px; padding:8px 14px; color:#fff; background:#365463; }
.lightbox-toolbar { margin-bottom:12px; }.lightbox-toolbar button { font-size:24px; }
.lightbox-open { overflow:hidden !important; }
@media (max-width:991px) { .portfolio-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) {
 html { scroll-padding-top:90px; }
 #top { position:sticky; top:0; padding:12px 0; }
 #top .container { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; }
 #logo { float:none; margin:0; max-width:calc(100% - 100px); }
 #logo a { font-size:24px; line-height:1.3; }
 .site-menu-toggle { display:block; padding:8px; border:1px solid #ccc; border-radius:3px; background:#fff; font-size:14px; min-height:44px; }
 #top header #main-nav { display:none !important; width:100%; margin-top:12px; }
 #top header #main-nav.is-open { display:block !important; }
 #main-nav ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .navmenu ul li { margin:3px; }.navmenu ul li a { padding:10px; }
 #home { margin-top:0; }
 .full_slider .slides { height:70vw; min-height:280px; max-height:520px; }
 .full_slider_caption .container { width:100%; }
 .full_slider_caption .title { font-size:32px; line-height:1.2; }
 .full_slider_caption { font-size:18px; line-height:1.3; }
 .house-photo-slide .full_slider_caption { bottom:68px; }
 .slider-controls { right:10px; bottom:10px; }
 .portfolio-list { grid-template-columns:1fr; gap:20px; margin:0; }
 .portfolio-menu li { margin:0 6px 8px; }
 .Table th,.Table td { padding:8px 4px; font-size:12px; overflow-wrap:normal; }
 .Table { min-width:0 !important; width:100%; table-layout:fixed; }
 .Table th:first-child { width:40%; }
 .table-responsive { border:0; }
 .site-lightbox { padding:10px; }.site-lightbox figure img { max-height:65svh; }
 .lightbox-controls button { font-size:12px; padding:8px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
