* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #f9fafb;
  color: #222;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

header {
  background: url("images/bovec.jpg") no-repeat center center/cover;
  background-position: 50% 45%;
  color: white;
  text-align: center;
  margin: 0;
  padding: 5rem 1rem;
  position: relative;
  top: -3.75px;
}

@media (max-width: 800px) {
  header {
     background: url("images/bovec-mobile2.png") no-repeat center center/cover;
      background-position: 50% 70%;
  }
    }



header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45); /* berljivost, baje */
}

header h1,
header p {
  position: relative;
  z-index: 1;
  font-family: Roboto;
  font-weight: 400;
  word-wrap: break-word;
}

header h1 {
  font-size: 3rem;
  margin-bottom: 0.5rem;
  text-shadow: 1px 1px 4px rgba(0,0,0,0.7);
  font-family: Roboto;
  font-weight: 800;
  word-wrap: break-word;
  filter: url(#inner-shadow);
}

header p {
  font-size: 1.2rem;
  opacity: 0.95;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
}


section {
  padding: 3rem 1rem;
  max-width: 1000px;
  margin: auto;
  position: relative;
  top: -3.75px;
}

section h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #344e41;
  border-bottom: 3px solid #588157;
  display: inline-block;
  padding-bottom: 0.3rem;
  font-family: Outfit;

}

section p {
  font-family: Roboto;
}

section h3 {
  font-family: Outfit;
}

.highlight {
  background: #a3b18a54;
  border-left: 5px solid #588157;
  padding: 1rem;
  margin: 1rem 0;
  border-radius: 8px;
  text-align: center;
  font-family: Roboto;
}

ul {
  margin: 1rem 0;
  padding-left: 1.5rem;
  font-family: Roboto;
}

footer {
  background: #588157;
  color: white;
  text-align: center;
  padding: 1.5rem;
  margin-top: 2rem;
  font-family: Roboto;
}

footer p {
  font-size: 0.9rem;
}

/* velikosti posameznih kartic za staff memberje */
.centered {
  text-align: center;
  font-family: Roboto;
}

.staff-container {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
  justify-content: center;
  margin-top: 2rem;
}

.staff-card {
  background-color: #f0f0f0;
  border-radius: 15px;
  padding: 1.5rem;
  width: 200px;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s, box-shadow 0.2s;
}

.staff-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.staff-card img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  object-fit: cover;
}


/* partnerji */
#partners {
  padding: 3rem 1rem;
  max-width: 1200px;
  margin: auto;
}

#partners h2 {
  font-size: 2rem;
  margin-bottom: 2rem;
  color: #1e3a8a;
  border-bottom: 3px solid #22c55e;
  display: inline-block;
  padding-bottom: 0.3rem;
}

.partners-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

.partner-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 0 1 calc(20% - 2rem);
  max-width: 200px;
  padding: 1rem;
  border-radius: 8px;
  background: #f3f4f6;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: transform 0.2s ease;
  text-decoration: none;
  color: inherit;
}
.partner-card:hover {
  transform: translateY(-5px);
}
.partner-card img {
  max-width: 100%;
  height: auto;
  margin-bottom: 0.5rem;
}
.partner-card h3 {
  margin: 0;
}

@media (max-width: 1200px) {
  .partner-card {
    flex: 0 1 calc(25% - 2rem);
  }
}
@media (max-width: 992px) {
  .partner-card {
    flex: 0 1 calc(33.33% - 1.5rem);
  }
}
@media (max-width: 768px) {
  .partner-card {
    flex: 0 1 calc(50% - 1rem);
  }
}
@media (max-width: 480px) {
  .partner-card {
    flex: 0 1 100%;
  }
}

.email-link:link {
  color: inherit;
  text-decoration: none;
}

.email-link:hover {
  color: blue;
  text-decoration: underline;
}

.email-link:visited {
  color: blue;
}

.form-badge {
  text-align: center;
  margin-top: 5rem;
}

.form-btn {
  background: #588157;
  color: white;
  font-weight: bold;
  padding: 0.75rem 1.5rem;
  border-radius: 50px;
  text-decoration: none;
  margin-left: 1rem;
  transition: background 0.2s ease, transform 0.2s ease;
  font-family: Outfit;
}

.form-btn:hover {
  background: #fbbf24;
  transform: translateY(-2px);
}

header img.logo {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  height: 200px;
  width: auto;
}

.logo {
  height: 100px;
  width: auto;
}


.social-buttons-wrap {
  position: absolute;
  top: 288px;
  right: 1rem;
  display: flex;
  gap: 0.5rem;
}

.social-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  background: white;
  border-radius: 50%;
  transition: transform 0.2s ease, background 0.2s ease;
}

.social-btn:hover {
  transform: scale(1.1);
  background: #16a34a;
}

.social-btn svg {
  fill: #22c55e;
}





























    .rectangle-1 {
  width: 100%;
  height: 70px;
  left: 0px;
  position: relative;
  top: -3.75px;
  padding-bottom: 0;
  margin-bottom: 0;
  background: linear-gradient(90deg, #DAD7CD 0%, #A3B18A 100%);
  display: flex;              
  align-items: center;        
  justify-content: center;
  z-index: 3;
}
   .menu {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  cursor: pointer;
  margin-right: 1rem;
  z-index: 4;
}
.menu span {
  display: block;
  width: 28px;
  height: 4px;
  background: #344E41;
  margin: 4px 0;
  border-radius: 2px;
  transition: 0.3s;
}
   .rectangle-1 nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}
@media (max-width: 1300px) {
  .rectangle-1 {
    justify-content: flex-end;
    padding-right: 1rem;
  }
  .rectangle-1 nav {
    display: none;
    position: absolute;
    top: 70px;
    left: 0;
    width: 100vw;
    background: linear-gradient(90deg, #DAD7CD 0%, #A3B18A 100%);
    flex-direction: column;
    align-items: center;
    z-index: 3;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  }
  .rectangle-1 nav.open {
    display: flex;
  }
  .menu {
    display: flex;
  }
     
}

.about_span,.battle_span, .registration_span, .eventinfo_span, .staff_span, .partners_span, .contactus_span {
      color: #344E41;
      font-size: 20px;
      padding: 1rem 1.5rem;
      font-family: Outfit;
      font-weight: 400;
      word-wrap: break-word;
      text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    }


     .rectangle-1 {
      a, a:link, a:visited, a:hover, a:active, a:focus {
      color: inherit;
      text-decoration: none;
      background: none;
      border: none;
    }}


     .rectangle-1 .mainmenu a {
      display: inline-block;
    }

.dmfa-logo {
      position: absolute;
      top:-3.75px;
      height:70px;
      left:0px;
      margin:0;
      padding:0;
    }
    .dmfa-logo img{
      height: 70px;
      width: auto;
      position: relative;
      top: 3.75px;
}



    .countdown {
      display: flex;
      gap: 0.75rem;
      margin-top: 3rem;
      margin-bottom: -2rem;
      padding-bottom: 0;
      justify-content: center;
      align-items: center;
      z-index: 2;
      color: white;
      font-family: Outfit, Roboto, sans-serif;
      font-weight: 700;
      text-shadow: 0 2px 6px rgba(0,0,0,0.45);
      pointer-events: none;
    }
    .countdown .time {
      background: rgba(0,0,0,0.25);
      padding: 6px 10px;
      border-radius: 8px;
      min-width: 64px;
      text-align: center;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .countdown .time span {
      font-size: 22px;
      line-height: 1;
    }
    .countdown .time small {
      font-size: 11px;
      font-weight: 600;
      opacity: 0.95;
    }

    @media (max-width: 420px) {
      .countdown .time { min-width: 50px; padding: 6px 8px; }
      .countdown .time span { font-size: 18px; }
      .countdown .time small { font-size: 10px; }
    }