* {
  font-family: 'Roboto', sans-serif;
}

body {
  min-width: 400px;
  min-height: 100vh;
  padding: 0;
  margin: 0;
}


footer {
  margin-top: 100px;
  padding: 20px 100px 20px 100px;
  background-color: grey;
  text-align: center;
}

.main-header {
  margin-top: 10px;
  padding: 40px 10px 30px 10px;
  background-color: white; /* Light background */
  color: #083958;          /* Dark text color */
  text-align: center;
}

.main-header h1 {
  font-size: 2.4em;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.3;
}

.image-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2x2 grid */
  gap: 10px;
  max-width: 1000px;
  margin: auto;
}

.image-grid a {
  display: block;
  overflow: hidden;
  position: relative;
  margin: 10px;
}

.image-grid a img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Crops image to fit the container */
  display: block;
}

.image-grid a .label {
  position: absolute;
  bottom: 15px;
  left: 15px;
  background-color: #0C5E91; /* Blue background */
  color: white;
  padding: 15px 20px; /* Larger padding */
  font-size: 30px;     /* Larger font size */
  border-radius: 5px;  /* Slightly larger border radius */
}

/* Container for the page content */
.page-text-content {
  max-width: 800px;
  margin: auto; /* Centers horizontally */
  padding: 40px;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.1);
  line-height: 1.6;
}

/* Paragraph styling for readability */
.page-text-content p {
  font-size: 1.1em;
  margin-bottom: 20px;
}

.page-text-content p:last-child {
  margin-bottom: 0;
}

/* Highlight for the company name */
.page-text-content strong {
  color: #0C5E91; /* Match branding color */
  font-weight: bold;
}

.page-text-content .address, .contact-details {
  margin-bottom: 20px;
}

.page-text-content .contact-details p {
  margin: 5px 0;
}

.page-text-content .contact-details a {
  color: #007bff;
  text-decoration: none;
}
.page-text-content .contact-details a:hover {
  text-decoration: underline;
}

.page-text-content .map {
  width: 100%;
}

/* Portrait mode: 4x1 grid */
@media (orientation: portrait) {
  .image-grid {
    grid-template-columns: 1fr; /* Single column */
    padding: 50px;
  }

  .image-grid a .label {
    font-size: 50px;     /* Larger font size */
  }
}
