@font-face {
  font-family: "Bebas Neue";
  font-display: swap;
  src: url("https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap");
}

body {
  font-family: "Arial", sans-serif;
  background-color: #3a6b7e;
  color: #e0e0e0;
  margin: 0;
  padding: 0;
  font-size: 24px;
}

a {
  color: #e0e0e0;
}

.container {
  box-sizing: border-box;
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.header {
  text-align: center;
  color: #a8c0c0;
  font-size: clamp(50px, 8vw, 120px);
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1.2;
  font-display: swap;
  min-height: min-content;
  height: auto;
}

.header,
h2 {
  font-family: "Bebas Neue", sans-serif;
}

.subheader {
  text-align: center;
  color: #a8c0c0;
  font-size: 32px;
  margin-bottom: 20px;

  @media (max-width: 1050px) {
    font-size: 20px;
  }
}

.image img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
}

.personal-statement,
.links,
.films,
.pictures,
.contact,
.videos,
.music {
  background-color: #6b8a8f;
  padding: 20px;
  border-radius: 10px;
  flex: 1 1 45%;
  color: #e0e0e0;
  word-wrap: break-word;
  overflow-wrap: break-word;

  @media (max-width: 740px) {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.border-radius {
  border-radius: 10px;
}

.drop-shadow {
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}

h2 {
  color: #a8c0c0;
  font-size: 40px;
  margin-bottom: 10px;
}

ul {
  list-style-type: none;
  padding: 0;
}

li a {
  color: #a8c0c0;
  text-decoration: none;
}

li a:hover {
  text-decoration: underline;
}

iframe {
  border-radius: 10px;
}

.table,
tr,
td {
  background-color: #a8c0c0 !important;
  text-align: left !important;
}

a[href^="tel"] {
  color: inherit !important;
}

footer {
  margin-top: 100px;

  @media (max-width: 740px) {
    font-size: 16px;
  }
}

.fonts-loading {
  visibility: hidden;
}

.fonts-loaded {
  visibility: visible;
  animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
}

/* Ensure service cards use the same background as other content areas */
.card.drop-shadow.border-radius,
.card.drop-shadow.border-radius .card-body.bg-transparent {
  background: #23607a; /* or use the same color as .drop-shadow if different */
  color: #fff;
}

/* Prominent headings for service cards */
.card-title {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1.35rem;
  letter-spacing: 1px;
}

/* Smaller paragraph text for service cards */
.card-text.small {
  font-size: 0.98rem;
  color: #e0e0e0;
}

/* Service cards use the same background as .contact */
.service-card {
  background-color: #6b8a8f;
  color: #e0e0e0;
}

/* Service headings use the same color as h2 */
.service-title {
  color: #a8c0c0;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1.25rem;
  letter-spacing: 1px;
  margin-bottom: 0.5rem;
}

/* Remove drop-shadow from services container if present */
.services {
  box-shadow: none !important;
}

/* Smaller paragraph text for service cards */
.card-text.small {
  font-size: 0.98rem;
  color: #e0e0e0;
}
