/* Fonts */
/* =========================
   BERKELEY STD
========================= */
@font-face {
    font-family: 'Berkeley Std';
    src: url('/wp-content/themes/bolfan/fonts/BerkeleyStd-Book.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Berkeley Std';
    src: url('/wp-content/themes/bolfan/fonts/BerkeleyStd-Italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'Berkeley Std';
    src: url('/wp-content/themes/bolfan/fonts/BerkeleyStd-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Berkeley Std';
    src: url('/wp-content/themes/bolfan/fonts/BerkeleyStd-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Berkeley Std';
    src: url('/wp-content/themes/bolfan/fonts/BerkeleyStd-BoldItalic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-family: 'Berkeley Std';
    src: url('/wp-content/themes/bolfan/fonts/BerkeleyStd-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Berkeley Std';
    src: url('/wp-content/themes/bolfan/fonts/BerkeleyStd-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
}


/* =========================
   OPTIMA LT PRO
========================= */
@font-face {
    font-family: 'Optima LT Pro';
    src: url('/wp-content/themes/bolfan/fonts/Optima_LT_Pro_Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Optima LT Pro';
    src: url('/wp-content/themes/bolfan/fonts/Optima_LT_Pro_Regular_Italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'Optima LT Pro';
    src: url('/wp-content/themes/bolfan/fonts/Optima_LT_Pro_Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Optima LT Pro';
    src: url('/wp-content/themes/bolfan/fonts/Optima_LT_Pro_Medium_Italic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
}

@font-face {headerLeft
    font-family: 'Optima LT Pro';
    src: url('/wp-content/themes/bolfan/fonts/Optima_LT_Pro_DemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Optima LT Pro';
    src: url('/wp-content/themes/bolfan/fonts/Optima_LT_Pro_Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Optima LT Pro';
    src: url('/wp-content/themes/bolfan/fonts/Optima_LT_Pro_Bold_Italic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-family: 'Optima LT Pro';
    src: url('/wp-content/themes/bolfan/fonts/Optima_LT_Pro_Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Optima LT Pro';
    src: url('/wp-content/themes/bolfan/fonts/Optima_LT_Pro_Black_Italic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
}

:root {
    --white: #F4F4F4;
    --brown: #7D6A56;
    --lightBrown: #FFEAD4;
    --lightBrown2: #A39480;
    --grey: #D9D9D9;
}

.fontHeader {
    font-family: 'Berkeley Std';
    font-weight: 500;
    color: var(--white);
    font-size: 1vw;
    line-height: 1vw;
}

.fontReadMore {
    font-family: 'Berkeley Std';
    font-weight: 700;
    color: var(--white);
    font-size: 1.4vw;
    line-height: 1.4vw;
    letter-spacing: 0.5vw;
}

.fontHero {
    font-family: 'Berkeley Std';
    font-weight: 400;
    color: var(--white);
    font-size: 4vw;
    line-height: 4.5vw;
    letter-spacing: 0.1vw;
}

.fontTitle {
    font-family: 'Berkeley Std';
    font-weight: 500;
    color: var(--brown);
    font-size: 7.5vw;
    line-height: 7.5vw;
    letter-spacing: 0.1vw;
}

.fontText {
    font-family: 'Optima LT Pro';
    font-weight: 400;
    color: var(--brown);
    font-size: 1.4vw;
    line-height: 2vw;
}

.fontLink {
    font-family: 'Optima LT Pro';
    font-weight: 400;
    color: var(--brown);
    font-size: 1.4vw;
    line-height: 2vw;
    letter-spacing: 0.3vw;
}

.fontInfo {
    font-family: 'Optima LT Pro';
    font-weight: 400;
    color: var(--brown);
    font-size: 1vw;
    line-height: 1vw;
}

.fontButton {
    font-family: 'Berkeley Std';
    font-weight: 700;
    color: var(--brown);
    font-size: 1vw;
    line-height: 1vw;
}

.fontSlider {
    font-family: 'Berkeley Std';
    font-weight: 700;
    color: var(--brown);
    font-size: 1.4vw;
    line-height: 1.4vw;
    letter-spacing: 40%;
}

/* Scroll */
html {
    scroll-behavior: smooth;
}

body::-webkit-scrollbar,
html::-webkit-scrollbar {
  display: none;  /* Chrome, Safari and Opera */
}

body,
html {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

/* Sitewide */

* {
    min-width: 0;
}

body {
    margin: 0;
    padding-top: 0;
}

img,svg, video {
    max-width: 100%;
    width: 100%;
    display: block;
    height: auto;
}

h1,h2,h3,h4,h5,h6,p,a,span {
    display: block;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: normal;
}

p, li {
    margin-bottom: 1em;
}

figure {
    display: block;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
}

a {
    text-decoration: none;
    color: inherit;
}


ul {
    display: block;
    list-style-type: disc;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0;
}

.hidden {
    display: none!important;
}

/* Header */
.header {
    position: absolute;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 95vw;
    padding-left: 2.5vw;
    padding-right: 2.5vw;
    padding-top: 1.8vw;
    z-index: 999;
}

.headerLeft {
    width: 3.7vw;
}

.headerHome {
    width: 2.6vw;
}

.headerHome svg,
.headerMenu a,
.headerRight a {
    transition: all 0.15s ease-in-out;
}

.headerHome svg:hover,
.headerMenu a:hover,
.headerRight a:hover {
    opacity: 0.7;
}

.headerRight {
    display: flex;
    color: var(--white);
    align-items: center;
    gap: 0.5vw;
    padding-top: 0.8vw;
    height: min-content;
}

.headerCenter {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.headerLogo {
    margin-bottom: 1.5vw;
    width: 8.75vw;
}

.headerMenu {
    width: 28vw;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    color: var(--white);
}

.headerMenuItem {
    text-transform: lowercase;
}


.langSwitcherItem.active {
    font-weight: 800;
} 

/* Home */
.hero {
    height: 100vh;
    width: 100vw;
    position: relative;
}

.hero img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.heroText {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 58vw;
    top: 14.5vw;
    text-align: center;
}

.heroReadMore {
    position: absolute;
    padding-top: 10.5vw;
    padding-bottom: 1.6vw;
    bottom: 0;
    left: 0;
    width: 100vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.7vw;
    background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.65) 100%);
}

.heroReadMore p {
    margin-bottom: 0;
}

.heroReadMoreArrow {
    width: 3.44vw;
    cursor: pointer;
}

.homeBlockDouble {
    display: flex;
}

.homeBlockDouble .homeBlockDoubleContent,
.homeBlockDouble .homeBlockDoubleImage {
    flex-grow: 0;
}

.homeBlockVD .homeBlockDoubleContent {
    padding-top: 7.2vw;
    padding-bottom: 5.8vw;
    padding-left: 7.45vw;
    padding-right: 8vw;
    width: 46.146vw;
}

.homeBlockVD .homeBlockDoubleImage {
    width: 38.4vw;
}

.homeBlockVD .text {
    max-width: 46vw;
    margin-top: 3.3vw;
}

.homeBlockDoubleContent .homeLink {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8.5vw;
    padding-bottom: 1.3vw;
    width: 16vw;
    border-bottom: 0.05vw solid var(--brown);
}

.homeLinkArrow {
    width: 0.42vw;
    padding-bottom: 0.45vw;
}

.homeBlockVT .homeBlockDoubleContent {
    padding-top: 11.45vw;
    padding-bottom: 6.9vw;
    padding-left: 3.9vw;
    padding-right: 7.45vw;
    width: 27.08vw;
}

.homeBlockVT .homeBlockDoubleImage {
    width: 61.55vw;
}

.homeBlockVT .text {
    margin-top: 4.32vw;
}

.homeBlockDoubleContent p {
    margin-bottom: 0;
}

.homeBlockDS {
    background-color: var(--lightBrown2);
    padding-left: 15vw;
    padding-right: 15vw;
    padding-top: 9vw;
    padding-bottom: 6vw;
    width: 70vw;
    display: flex;
    flex-direction: column;
    align-items: center;
} 

.homeBlockDS span,
.homeBlockDS p,
.homeBlockDS h3,
.homeBlockDS h2 {
    color: var(--lightBrown);
    text-align: center;
}

.homeBlockDS h3 {
    text-transform: uppercase;
    margin-bottom: 3vw;
}

.homeBlockDS h2 {
    margin-bottom: 1.6vw;
    letter-spacing: 0;
}

.homeBlockDS .text {
    width: 95%;
}

.homeBlockDS .text p {
    margin-bottom: 5vw;
}

.infoBlocks {
    display: flex;
    width: 70vw;
    align-items: center;
    justify-content: space-between;
}

.infoBlock {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.infoBlock:first-child {
    margin-right:  16vw;
}

.infoBlock:nth-child(2) {
    margin-right:  12.39vw;
}

.infoBlock .fontText {
    text-transform: uppercase;
    margin-bottom: 1.77vw;
}

.infoBlock .text {
    margin-bottom: 0;
}

.infoBlockIcon {
    width: 5.625vw;
    margin-bottom: 1.45vw;
}

.homeBlockDS .homeLink {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 1.3vw;
    margin-top: 5vw;
    width: 16vw;
    border-bottom: 0.05vw solid var(--lightBrown);
}

.homeBlockDS .homeLink path {
    stroke: var(--lightBrown);
    fill: var(--lightBrown);
} 

.homeBlockDS .fontLink {
    margin-left: 4vw;
}

.homeBlockR .homeBlockDoubleContent {
    padding-top: 15.5vw;
    padding-bottom: 8.18vw;
    padding-left: 7.45vw;
    padding-right: 5.41vw;
    width: 32.5vw;
}

.homeBlockR .homeBlockDoubleImage {
    width: 54.63vw;
    margin-top: -1px;
}

.homeBlockR .text {
    margin-top: 4.5vw;
}

.homeBlockKontakt {
    display: flex;
    background-color: var(--lightBrown2);
    padding-left: 7vw;
    padding-right: 5.9vw;
    padding-top: 13.15vw;
    padding-bottom: 6vw;
    justify-content: space-between;
}


.homeBlockKontakt p,
.homeBlockKontakt h2 {
    color: var(--lightBrown);
}

.homeBlockKontakt .homeBlockDoubleContent {
    width: 36.35vw;
} 

.homeBlockKontaktImage img {
    width: 43vw;
    border: 1.35vw solid var(--grey);
}

.homeBlockKontakt .fontTitle {
    margin-bottom: 2.55vw;
}

.homeBlockKontakt p {
    margin-bottom: 1em;
}

.divider {
    border-bottom: 0.05vw solid var(--lightBrown);
    margin-bottom: 1em;
    width: 27.65vw;
}

.homeBlockKontakt .info strong {
    font-weight: normal;
    font-size: 2.6vw;
    line-height: 3vw;
}

/* Ponuda */
.homeBlockPonuda .homeBlockDoubleImage {
    width: 54.63vw;
}

.homeBlockPonuda .homeBlockDoubleContent {
    padding-top: 7vw;
    padding-left: 7.45vw;
    padding-right: 6.4vw;
    padding-bottom: 7vw;
}

.homeBlockPonuda .fontTitle {
    margin-bottom: 4.9vw;
}

.homeBlockPonuda .homeBlockDoubleContent .homeLink {
    margin-top: 2vw;
    width: 31.5vw;
}

.linkContent {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.homeLink.open .linkContent {
    max-height: 15vw; /* adjust if content is taller */
}

.homeLink.open .homeLinkArrow {
    transform: rotate(90deg);
    transition: transform 0.3s ease;
}

.homeLinkArrow {
    transition: transform 0.3s ease;
}

.template_ponuda .homeBlockDoubleContent .homeLink {
    display: block;
}

.linkHead {
    width: 31.5vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.linkDescription {
    margin-top: 1vw;
    margin-bottom: 1vw;
}

.linkButton {
    padding: 0.5vw 1vw;
    border: 0.1vw solid var(--brown);
    display: inline-block;
}

.rezervacije_head {
    padding-top: 11vw;
    background-color: var(--brown);
}

.rezervacije_form {
    width: 46.25vw;
    margin: auto;
    margin-bottom: 7vw;
}

.hidden-fields-container {
    display: none;
}

.cf7-row {
    display: flex;
    gap: 3vw;
}

.cf7-col {
    width: 21.625vw;
}

.cf7-col-full,
.wpcf7-form-control {
    width: 100%;
}

.rezervacije_form p {
    margin-bottom: 1vw;
}




input::-webkit-calendar-picker-indicator {
    margin: 0;
    padding: 0;
}

.rezervacije_form input,
.rezervacije_form textarea,
.rezervacije_form select,
option {
    width: calc(100% - 8px);
    border: 0.1vw solid var(--brown);
    font-family: 'Optima LT Pro';
    font-weight: 400;
    color: var(--brown);
    font-size: 1vw;
    line-height: 1vw;
    padding-top: 0.2vw;
    padding-bottom: 0.1vw;
    padding-left: 0.2vw;
    padding-right: 0.2vw;
    display: block;
    box-sizing: border-box;
    height: 1.8vw;
}


.rezervacije_form textarea {
    padding: 0.5vw;
    height: auto;
}

option {
    font-size: 19px;
}


:focus-visible
{
    outline: 0;
}

.rezervacije_form label {
    font-family: 'Berkeley Std';
    font-weight: 400;
    color: var(--brown);
    font-size: 1vw;
    line-height: 1vw;
    margin-bottom: 0.5vw;
    display: inline-block;
}


input.wpcf7-submit {
    font-family: 'Optima LT Pro';
    font-weight: 400;
    color: var(--brown);
    font-size: 1vw;
    line-height: 1vw;
    padding-top: 0.5vw;
    background-color: transparent;
    width: 5vw;
    margin: auto;
    cursor: pointer;
}

input.wpcf7-submit:hover {
    background-color: var(--brown);
    color: var(--lightBrown);
}

input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(42%) sepia(15%) saturate(600%) hue-rotate(340deg) brightness(90%) contrast(85%);
    cursor: pointer;
    padding-bottom: 0.2vw;
}

select {
    cursor: pointer;
}


input[type="date"] {
    padding-bottom: 0;
}

.rezervacije_title {
    text-align: center;
    margin-top: 5.2vw;
    margin-bottom: 5.2vw;
    padding-bottom: 2.3vw;
    border-bottom: 0.05vw solid var(--brown);
    overflow: hidden;
}

.rezervacije_title #rezervacijeTitle {
    margin-bottom: 2.7vw;
}

textarea::placeholder {
    opacity: 0.7;
    color: var(--brown);
}

.rezervacijeSlider {
  position: relative;
  display: flex;
  align-items: center;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.rezervacijeSliderContainer {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  transition: transform 0.35s ease;
  margin: 0 auto;
}

.rezervacijeSliderLink {
  flex: 0 0 auto;
  white-space: nowrap;
  text-align: center;
  padding-left: 1.5vw;
  padding-right: 1.5vw;
  color: var(--brown);
  opacity: 0.45;
  transition: opacity 0.35s ease, font-weight 0.35s ease;
}

.rezervacijeSliderLink.rezervacijeSliderLinkActive {
  opacity: 1;
  font-weight: 700;
}

.rezervacijeSliderArrow {
  position: absolute;
  top: -0.2vw;
  bottom: 0;
  display: flex;
  align-items: center;
  z-index: 2;
  cursor: pointer;
  user-select: none;
  padding-left: 1vw;
  padding-right: 1vw;
  background: linear-gradient(to right, var(--background, #fff) 60%, transparent);
  width: 2vw;
  transition: opacity 0.1s linear;
}

.rezervacijeSliderArrow:hover {
    opacity: 0.7;
}

.rezervacijeSliderArrowLeft {
  left: 0;
}

.rezervacijeSliderArrowRight {
  right: 0;
  background: linear-gradient(to left, var(--background, #fff) 60%, transparent);
}

.rezervacijeSliderArrow span {
  border: 0.05vw solid var(--brown);
  width: 1.8vw;
  height: 1.8vw;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brown);
}

/* Vina */
.vinaMenu {
    background-image: url("/wp-content/themes/bolfan/uploads/vinaBg.jpg");
    background-size: cover;
}

.vinaMenuTitle {
    width: 60vw;
    margin: auto;
    padding-top: 4vw;
    text-align: center;
}

.vinaMenuTitle .fontTitle {
    color: var(--lightBrown);
    margin-bottom: 2.5vw;
}

.vinaMenuSubtitle {
    width: 60vw;
    margin: auto;
    text-align: center;
}

.vinaMenuSubtitle .fontText {
    color: var(--lightBrown);
    margin-bottom: 2.5vw;
}

.vinaMenuGrid {
    display: flex;
    margin-right: 2vw;
    margin-left: 2vw;
}

.vinaMenuGridItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2vw;
    border-right: 0.05vw solid var(--lightBrown);
    padding-top: 2.6vw;
    padding-bottom: 2.6vw;
}

.vinaMenuGridItem:last-child {
    border-right: none;
}

.vinaMenuGridItemTitle {
    display: flex;
    gap: 1.3vw;
    align-items: center;
}

.vinaMenuGridItemTitle .fontLink {
    color: var(--lightBrown);
    margin-bottom: 0;
}

.vinaMenuGridItemArrow {
    width: 0.416vw;
    margin-top: -0.45vw;
}

.vinaMenuGridItemArrow path {
    fill: var(--lightBrown)
}

.vinaMenuLink {
    width: 60vw;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1vw;
    padding-top: 3vw;
    padding-bottom: 3vw;
}

.vinaMenuLinkArrow {
    width: 3.44vw;
}


.vinaMenuLink p {
    margin-bottom: 0;
    color: var(--white);
}

.vinaGrid {
    width: 92vw;
    padding-left: 5vw;
    padding-right: 3vw;
    padding-top: 3vw;
    padding-bottom: 4.8vw;
    margin-bottom: 2.6vw;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 0.05vw solid var(--brown);
}

.vinaSection:last-child .vinaGrid {
    border-bottom: 0;
}

.vinaGridElement {
    width: 30vw;
    border-right: 0.05vw solid var(--brown);
    margin-bottom: 3.4vw;
    display: flex;
    flex-direction: column;
}

.vinaGridElement:nth-child(3n),
.vinaGridElement:last-child {
    border-right: 0;
}

.vinaGridElementText {
    width: 80%;
    margin: auto;
    margin-top: 2vw;
    text-align: center;
}

.vinaGridElementTitle {
    margin-bottom: 1vw;
}

.vinaGridInfo  {
    display: flex;
    flex-direction: column;
}

.vinaGridElementInfo {
    display: flex;
    align-items: center;
    gap: 0.5vw;
    justify-content: center;
}

.vinaGridInfoSeparator {
    height: 22vw;
    border-left: 0.05vw solid var(--brown);
    margin-top: 1vw;
    margin-bottom: 1.6vw;
}

.vinaGridInfo .fontText {
    width: 95%;
}

.vinaSectionPjenusci .vinaGridInfo {
    width: 50vw;
    margin: auto;
    text-align: center;
    gap: 2.4vw;
}

.vinaSectionPjenusci .vinaGridInfoSeparator {
    display: none;
}

.vinaSection {
    position: relative;
}

.vinaElement1 {
    width: 52vw;
    position: absolute;
    right: 0;
    bottom: -6.8vw;
    z-index: -1;
}

.vinaElement2 {
    width: 32vw;
    position: absolute;
    right: 0;
    bottom: -2.4vw;
    z-index: -1;
}

.vinaSectionPrimus .vinaGridInfoSeparator {
    height: 14.4vw;
}