/* American flag COLORS #0A3161 & #BB133E */
html { font-size: 16px; font-family: 'Arial', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { margin: 0; padding: 0; color: #000; background-color: white; display: flex; flex-direction: column; text-align: center; }
.wrapper { max-width: 1440px; margin: 0 auto; flex: 1; display: flex; flex-direction: column; background-color: #BB133E; padding: 0 3px; gap: 3px; }

/* ALL SCREENS */
header { display: flex; align-items: baseline; justify-content: space-around; gap: 16px; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; background: url('/flag.gif') center center/cover no-repeat; opacity: 0.18; pointer-events: none; width: 100vw; }
header h1, header h2 { margin: 0; }
a { color: inherit; text-decoration: none; }
header { border-radius: 0 0 12px 12px; }
section, #home { border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.5); background-color: white; box-sizing: border-box; }
header, footer { background-color: #0a3161; color: white; }
h1, h2, p { margin: 5px; }
h1 { font-size: 2.5rem; padding: 5px; }
h2 { font-size: 1.5rem; vertical-align: baseline; padding: 5px; }
h3 { font-size: 1.4rem; padding: 5px;margin: 2px 5px 5px 5px; }
p { font-size: 1.25rem; padding: 5px; }
ul { display: inline-block; text-align: left; list-style-type: none; padding: 0; }
li { padding: 5px 0; font-size: 1.1rem; }
button, a[download] { font-size: 1.1rem; padding: 10px 20px; margin: 15px; border: none; border-radius: 5px; background-color: #0a3161; color: white; cursor: pointer; display: inline-block; text-decoration: none; box-shadow: 0 4px 12px rgba(0,0,0,0.35); }
button .material-icons { vertical-align: middle; font-size: 1.2em; padding: 5px; }
#profile-img { opacity: 1; width: 30vh; height: 30vh; border-radius: 50%; object-fit: cover; display: block; margin: 20px auto; box-shadow: 0 4px 16px rgba(0,0,0,0.35); aspect-ratio: 1/1; }
#calendar { width: 100%; max-width: 100%; height: 100%; overflow: hidden; }
#calendar h3 { font-size: 1.5rem; margin: 10px 0; }
#calendar p { font-size: 1.2rem; margin: 5px 0; }
#calendar iframe { width: 100%; height: 600px; aspect-ratio: 4 / 3; }
footer { margin-top: auto; display: flex; justify-content: center; padding: 10px 0; background: #0a3161 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24"><path fill="white" d="M12 2l2.4 7.2h7.6l-6 4.8 2.4 7.2-6-4.8-6 4.8 2.4-7.2-6-4.8h7.6z"/></svg>') repeat bottom/60px 60px; text-align: center; min-height: 41px; background-size: 60px 60px; background-position: bottom center; border-radius: 12px 12px 0 0; }

/* MOBILE */
@media (max-width: 768px) {
  button { margin: 20px; }
  #show-email { display: none; }
  .wrapper { width: 100%; flex-direction: column; padding: 0; margin: 0; }
  #call, #equipment, #download { flex: 1 2 1; }
  #profile-img { width: 25vh; height: 25vh; margin: 15px auto; }
  header { flex-direction: column; text-align: center; justify-content: center; align-items: center; gap: 3px; }
  header h1, header h2 { text-align: center; }
  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.2rem; }
  p { font-size: 1.2rem; }
  li { font-size: 1rem; }
  #equipment { display: none; }
}

/* TABLET */
@media (min-width: 769px) and (max-width: 1239px) {
  #profile-img { width: 20vh; height: 20vh; margin: 15px auto; }
  .wrapper { padding: 0 3px; }
  #home { flex-direction: column; align-items: center; }
  .boxes { flex-direction: column; gap: 5px; }
  #call, #equipment, #download { width: 100%; }
}

/* DESKTOP */
@media (min-width: 1239px) {
  body { height: 100dvh; }
  header { width: 1239px; box-sizing: border-box; padding: 20px 5px; display: flex; align-items: center; }
  #home { flex: 1 1 auto; display: flex; flex-direction: row; align-items: center; }
  #home p { flex: 1; font-size: 1.2rem; padding: 0 0 0 55px; }
  .boxes { display: flex; gap: 2.5px; flex: 3 1 0; margin: 0; }
  #call, #equipment, #download { width: 33.33%; align-items: center; }
  #call { text-align: center; }
  #call h2 { margin-bottom: 5px; }
  .contact-buttons { margin-top: 2dvh; }
  .download-buttons { margin-top: 7dvh; }
  #contact button { width: 150px; }
  #equipment { text-align: center; }
  #equipment ul { text-align: left; }
}