* { padding: 0; margin: 0; font-family: 'Montserrat', sans-serif;}

/******************************************************************************/

a {cursor: pointer;}

input, textarea { font-size: 1em; }
input, textarea { padding: 3px 5px; }
.button { }

.responsive-design { font-size: 1em; }
.un { text-decoration: underline; }
.un:hover { text-decoration: none; }
.nn { text-decoration: none; }
.nn:hover { text-decoration: none; }
.center { text-align: center; }

#subpage .wrap1 { margin-top: 150px; }
#subpage .wrap1.no-margin-top { margin-top: 0; }
#subpage #head { margin-top: 0px; }
#subpage .h1 { line-height: 1.15em; border-left: 6px solid var(--gold); padding: 0 0 0 25px; }

#subpage .content { /*min-height: 600px;*/ }
#head .content { min-height: auto; }
#foot .content { min-height: auto; }

/******************************************************************************/
/* Hlášky
/******************************************************************************/
.msg-ok { background: #b4e3e1; color: #000; text-align: center; padding: 5px 15px; width: 285px;}
.msg-error { background: #dc143c; color:  #fff; padding: 5px 15px;  width: 285px;}
.msg-ok a, .msg-error a { color: #fff; }

/******************************************************************************/
/* Sociální sítě
/******************************************************************************/
.social-network-fixed { position: absolute; top: 250px; right: 0; }
.social-network-fixed a { font-size: 2.5em; display: block; margin-bottom: 20px; background: var(--gold); color: #fff; padding: 6px; }
.social-network-fixed a:hover { color: #fff; }

/******************************************************************************/
/* blok */

.wrap1 { clear: both; float: left; position: relative; width: 100%; }
.wrap2 { margin: 0 auto; position: relative; width: 1280px; }
.content { float: left; padding: 15px 0; position: relative; width: 100%; }

/******************************************************************************/
/* Hlavička
/******************************************************************************/

#head { position: absolute; z-index: 40000; }
#head { position: fixed; z-index: 40000; padding: 25px 0; }
#head .content { font-size: 14px; }
#logo { text-decoration: none; background: #000; font-size: 35px; line-height: 1em; /*padding: 5px 30px 10px 10px;*/ padding: 0; position: absolute; left: 0; top: -25px; }
#head a { color: #fff; }
#head a:focus, #head a:hover { text-decoration: none!important; }
#head .content { padding: 0; }

/******************************************************************************/
/* Menu
/******************************************************************************/

#wrap-menu { float: right; }
#menu { display: inline-block; line-height: 1em; margin: 0; padding: 0; }
#menu li { float: left; list-style: none; margin: 0 30px 0 0; }
#menu li:nth-last-child(2) { margin-right: 0; }
#menu li a { color: var(--white-text); font-size: 16px; background-position: center 5px; background-repeat: no-repeat; display: block; font-weight: bold; text-align: center; text-decoration: none; text-transform: uppercase; }
#menu li a:hover, #menu li a.active, #logo:hover { color: var(--gold); }
#menu li.icon, #menu li.tel-mobile { display: none; }

/* submenu */
#menu li:hover ul { visibility: visible; }
#menu li ul { background: #000; margin: 0; padding: 10px 0 10px 0; position: absolute; visibility: hidden; z-index: 3; min-width: 150px; }
#menu li.active ul:hover { /*border-top: 0;*/ }
#menu li ul li { display: block; float: none; margin: 0; width: auto; }
#menu li ul li a { color: #fff; display: block; padding: 10px 20px 10px 20px; text-align: left; }
#menu li ul li a:link, .menu li ul li a:visited { width: auto; }
#menu li ul li a:hover, #menu li ul li a.active { background: none; color: var(--gold); font-weight: bold; }
#menu li ul li a.active { font-weight: bold; }


#menu .mobile-icon-submenu { margin-left: 10px; display: none; }

/******************************************************************************/
/* OWL carousel
*******************************************************************************/

.owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next { background: none; }
.owl-carousel .owl-nav button.owl-next { background: none; color: inherit; border: none; padding: 0 !important; font: inherit; font-size: inherit; position: absolute; right: 0; top: 35%; font-size: 40px; height: fit-content; width: fit-content; }
.owl-carousel .owl-nav button.owl-prev { background: none; color: inherit; border: none; padding: 0 !important; font: inherit; font-size: inherit; position: absolute; left: 0; top: 35%; font-size: 40px; height: fit-content; width: fit-content; }
.owl-carousel .owl-dots { bottom: -15px; }

/******************************************************************************/
/* Slider
*******************************************************************************/
.slider-item { position: relative; }
.slider-item .slider-box { position: absolute; top: 75%; left: 35%; margin-right: -50%; transform: translate(-50%, -35%); }
.slider-item .slider-box .slider-border { background: rgba(0,0,0,0.75); padding: 25px 45px; }
.slider-item .slider-box .slider-border .slider-text { color: var(--white-headline); text-align: left; font-size: 64px; line-height: 1.15em; border-left: 6px solid var(--gold); padding: 0 0 0 45px; }
.slider-item .slider-box .slider-button { background: var(--gold); font-size: 30px; padding: 25px; width: fit-content; margin: 15px 45px; color: #000; }

#slider { position: relative; /* margin-top: -420px; */ }
#slider .wrap2 { width: 100%; }
#slider .content { background: #dadada; color: #fff; padding: 0; position: relative; text-align: center; }
#slider a { text-decoration: none; color: #fff; }

/******************************************************************************/
/* INFO PANEL */

#info-panel { background: #ef0055; color: #fff; display: none; font-size: 1em;line-height: 1.5em; padding: 30px 0; }
#info-panel .wrap2 .content { padding: 0; }
#subpage #info-panel .content { min-height: fit-content; }
#subpage #info-panel { margin-bottom: -100px; }

/******************************************************************************/
/* Město módy - galavečer módy na moravském náměstí
*******************************************************************************/

.mesto-mody { overflow: hidden; }
.mesto-mody .hash { color: var(--gold); position: absolute; right: 0; font-size: 11em; opacity: 0.2; font-weight: lighter; }
.mesto-mody .fashion-img { position: absolute; right: -10px; top: -25%;}
.mesto-mody .h1 { line-height: 1.15em; border-left: 6px solid var(--gold); padding: 0 0 0 25px; }
.mesto-mody .left { position: relative; display: inline-block; width: 50%; }
.mesto-mody .right { position: relative; display: inline-block; width: 50%; }
.mesto-mody .top { vertical-align: top; }
.mesto-mody .bottom { vertical-align: bottom; }
.mesto-mody .left .text { padding-right: 140px; }
.mesto-mody .left img { width: 100%; }
.mesto-mody .right img { width: 100%; }
.mesto-mody .right .text { padding-left: 95px; }
.mesto-mody .fashion-city { margin: 90px 0 90px 0; }
.mesto-mody .br { position: absolute; right: 0; bottom: -40%; }
.mesto-mody .text { color: var(--white-text); }
.mesto-mody .date { font-size: 49px; color: var(--white-headline); }

/******************************************************************************/
/* Harmonogram
*******************************************************************************/

#program { overflow: hidden; }
#program .title { text-align: center; font-size: 36pt; color: #dbc96a; font-weight:bold; margin-bottom: 40px; }
#program .h1 { color: var(--gold); font-size:39px; text-align: center; margin-bottom: 50px; }
#program { }
#program ul { text-align: justify; position: relative; z-index: 1; min-height: 500px; padding-left: 0; }
#program ul:before, #program .active:after { content: ""; width: 500%; border: 1px solid var(--gold); position: absolute; top: 1em; margin-top: -2px; z-index: -1; right: -500px; }
#program .active:after { border-color: var(--gold); }
#program ul:after { content: ""; display: inline-block; width: 100%; }
#program li { width: 2em; height: 2em; line-height: 2em; border-radius: 50%; background: #000; margin: 0 1px; display: inline-block; color: white; position: relative; border: 1px solid var(--gold); transition: all 0.5s; }
#program .active ~ li { background: #000; }
#program .active, #program li:hover { background: var(--gold); transition: all 0.5s; z-index: 2; }
#program .active .text, #program li:hover .text { transform: rotate(0deg); transition: all 0.5s; justify-content: center; white-space: break-spaces; text-align: center; }
#program .active .text .inner, #program li:hover .text .inner { transition: all 0.5s; border: 1px solid var(--gold); background: rgba(0,0,0,0.8); padding: 10px; }
#program .active .text .inner, #program li:hover .text .inner { margin-top: -11px; transition: all -0.5s; }
#program .text { white-space: nowrap; margin: 70px 0 0 0; color:var(--gold); text-transform: uppercase; transform: rotate(-90deg); display: flex; justify-content: end;  }
#program a { text-decoration: none; }
#program .button { background: none; text-align: center; border: 1px solid var(--gold); color: #fff; cursor: pointer; padding: 15px 30px; text-transform: uppercase; width: fit-content; font-size: 20px; margin: 0 auto; margin-bottom: 40px; text-decoration: none; }
#program .button:hover { background: var(--gold); }

/******************************************************************************/
/* Partneři
/******************************************************************************/

.partneri { margin-top: 70px; }
.partneri .h1 { color: var(--gold); font-size:39px; text-align: center; }
.partneri .owl-carousel { min-height: 170px; }
.partneri .owl-carousel img { width: auto; text-align: center;   max-width: 200px; margin: 0 auto; }
.partneri .owl-carousel .owl-stage { display: flex; align-items: center; }

/******************************************************************************/
/* Partnerství fashion night Brno
/******************************************************************************/

#subpage .partnership-fashion-night { padding: 0; }
#subpage .partnership-fashion-night .h1 { text-align: left; color: #fff; margin-bottom: 40px;  }
.partners-logos-box { display: grid; grid-template-columns: repeat(4, 1fr); gap: 50px; margin: 50px 0; }
.partners-logos-box:first-of-type { grid-template-columns: repeat(4, 1fr); }
.partners-logos-box:nth-of-type(2) { grid-template-columns: repeat(4, 1fr); }
.partners-logos-box:nth-of-type(3) { grid-template-columns: repeat(5, 1fr); }
.partners-logos-box:nth-last-of-type(2) { grid-template-columns: repeat(5, 1fr); }
.partners-logos-box:last-of-type { grid-template-columns: repeat(6, 1fr); }
.partners-logos-box img { width: 100%; height: auto; }

.partnership-fashion-night { padding: 50px 0; overflow: hidden; }
.partnership-fashion-night .partnership .h1 { color: var(--gold); font-size:30px; text-align: center; margin-bottom: 40px; padding-left: 0!important; border-left: 0!important; }
.partnership-fashion-night h2 { font-size: 30px; }

/*
.partnership-fashion-night #partnership { margin-bottom: 45px; }
.partnership-fashion-night .partnership { background: var(--gold); text-align: center; color: var(--black); }
.partnership-fashion-night .partnership { display: inline-block; width: calc(33% - 70px); margin-right: 20px; vertical-align: top; padding: 35px 30px;  }
*/

.partnership-fashion-night #partnership { margin-bottom: 45px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.partnership-fashion-night .partnership { background: var(--gold); text-align: center; color: var(--black); }
.partnership-fashion-night .partnership { width: 100%; padding: 35px 30px; box-sizing: border-box; }
/*.partnership-fashion-night .partnership:first-of-type { display: none; }*/
/*.partnership-fashion-night .partnership .partnership-text { padding: 35px 30px; }*/

.partnership-fashion-night .partnership:nth-last-of-type(1) { margin-right: 0; }
.partnership-fashion-night .partnership .h1 { color: #000!important; text-align: center!important; }
.partnership-fashion-night .partnership-button { display: block; margin: 0 auto; text-align: center; border: 2px solid var(--gold); background: transparent; color: var(--gold); width: fit-content; padding: 15px 30px; cursor: pointer; }
.partnership-fashion-night .partnership-button:hover { color: #fff; background: var(--gold); }
.partnership-fashion-night .partnership-text { text-align: left; margin-bottom: 40px; }
.partnership-fashion-night .partnership-text a { color: var(--white-text); }
.partnership-fashion-night .partnership p { text-align: left; }

/******************************************************************************/
/* Kontakty */
/******************************************************************************/

#contact { }
#kontakty { }
#kontakty a { text-decoration: none; color: #fff; font-size: 16px; }
#kontakty .h1 { line-height: 1.15em; border-left: 6px solid var(--gold); padding: 0 0 0 25px; font-size: 39px; margin-bottom: 50px; }
#kontakty .left { position: relative; display: inline-block; width: 49%; }
#kontakty .right { position: relative; display: inline-block; width: calc(50% - 52px); padding-left: 52px; }
#kontakty .top { vertical-align: top; }
#kontakty .bottom { vertical-align: bottom; }
#kontakty a:hover { color: var(--gold); }
#kontakty .fast-contact { margin-bottom: 100px; }
#kontakty .name { color: var(--gold); font-size: 20px; }
#kontakty .contact-under { margin-top: 60px; display: flex; flex-direction: row; justify-content: space-between; }
#kontakty .third { margin-right: 20px; }
#kontakty .third:last-child { margin-right: 0; }
#kontakty .third .cu-text { text-align: left; }

/******************************************************************************/
/* Kontaktní formulář */
/******************************************************************************/

#contact-form { color: var(--white-text); position: relative; text-align: center; width: 100%; z-index: 4; }
#contact-form table { width: 100%; }
#contact-form table input::placeholder, ::placeholder { color: #fff; opacity: 1; }
#contact-form table input[type="text"], #contact-form table textarea { outline: 0; border-width: 0 0 1px; border-color: var(--gold); padding: 15px 5% 15px 0; width: 100%; color: var(--white-text); background: none; box-sizing: border-box; font-size: 20px; }
#contact-form table textarea { min-height: 230px; }
#contact-form table textarea { height: 100px; }
#contact-form table tr td { padding: 0 5em 0.75em 0; vertical-align: top; }
#contact-form input[type="checkbox"] { margin-right: 15px; }
#contact-form input[type="submit"] { background: none; border: 1px solid var(--gold); color: #fff; cursor: pointer; padding: 15px 30px; text-transform: uppercase; width: auto; font-size: 20px; }
#contact-form input[type="submit"]:hover { background: var(--gold); }
#contact-form .contact-form-under { text-align: left; }
#contact-form .contact-form-under .agreement {margin-bottom: 25px; }
#contact-form .contact-form-under .agreement { font-size: 14px; }
#contact-form .contact-form-under .agreement a:hover { color: var(--gold); }
#mapsitna { display: none; }

/******************************************************************************/
/* Vyskakovací okno
/******************************************************************************/

/* The Modal (background) */
.modal { display: none; position: fixed; height: 100%; padding-top: 50px; z-index: 1; left: 0; top: 0; bottom: 0; width: 100%; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.75); padding-bottom: 0vh;  overflow: auto; }

/* The Modal */
.modal_window { display: none; position: fixed; z-index: 1; left: 0; top: 0; bottom: 0; width: 100%; padding-top: 0; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.75); padding-bottom: 0vh; z-index: 40001; overflow: auto; height: 100%; }
.modal_window img { width: 100%; }

/* Modal Content */
.modal_window-content { background-color: #fefefe; margin: 5% auto; padding: 0; border: 1px solid #888; max-width: 1080px; height: auto; }

/* The Close Button */
.close-window-block { position: relative; }
.close_window { color: #fff; float: right; font-size: 40px; font-weight: bold; text-align: right; opacity: .8; height: 15px; cursor: pointer; position: absolute; right: 0; top: 0px; }
.close_window:hover { color: var(--gold); text-decoration: none; cursor: pointer; }

/******************************************************************************/
/* Mapa
/******************************************************************************/

.map { filter: grayscale(100%); }

/******************************************************************************/
/* Patička */
/******************************************************************************/

#foot { background: var(--grey); margin-top: 100px; }
#foot .flex { display: flex; flex-direction: row; justify-content: space-between; font-size: 16px; }
#foot .flex .flex-child:first-of-type { font-size: 21px; }
#foot .flex .flex-child:last-of-type a { margin-left: 20px; }
#foot .flex .flex-child a:first-child { margin-left: 0; }

#foot, #foot a { color: var(--white-text); }
#foot a:hover { color: var(--gold); text-decoration: none; }
#foot .content { line-height: 1.15em; padding: 40px 0 40px 0; text-align: center; }
#foot .fa {transition: 0.25s ease; background: #fff; border-radius: 50px; color: #ff4e1b; display: inline-block; font-size: 50px; margin: 15px 55px; padding: 25px 0; text-align: center; text-decoration: none; width: 100px; }
#foot .fa:hover { border-radius: 60px; font-size: 60px; margin: 0 45px; padding: 30px 0; width: 120px; }
#foot .kangaroo { color: #000; }
#contact a, #contact a:hover {color:white;}
#contact .fa { padding-left: 15px!important; }

.table-kangaroo { margin-top: 30px; width: 100%;}
.table-kangaroo tr td { line-height: 1.5em; vertical-align: bottom; }

/******************************************************************************/
/* Fotogalerie */
/******************************************************************************/

.wrap-photo { display: grid; grid-template-columns: repeat(4, 1fr); /* Tři sloupce */ gap: 10px; /* Mezera mezi fotkami */ }
.wrap-photo a.photo { box-sizing: border-box; }
.wrap-photo img { width: 100%; height: auto; display: block; }

/* Responzivní úpravy */
@media (max-width: 768px) {
    .wrap-photo {
        grid-template-columns: repeat(3, 1fr); /* Na menších obrazovkách 2 sloupce */
    }
}

@media (max-width: 480px) {
    .wrap-photo {
        grid-template-columns: 1fr; /* Na malých obrazovkách 1 sloupec */
    }
}


/******************************************************************************/
/* Minulé ročníky */
/******************************************************************************/

#subpage .past-years-block { margin-top: 50px; margin-bottom: 50px; }

/******************************************************************************/
/* Prodej vstupenek */
/******************************************************************************/
