/* Import League Gothic from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=League+Gothic&display=swap');
@import url('https://fonts.cdnfonts.com/css/flama-basic');

@font-face {
    font-family: 'Flama Ultra Condensed';
    src: local('Flama Ultra Condensed Medium'), local('Flama-Ultra-Condensed-Medium'),
        url('FlamaUltraCondensed-Medium.woff2') format('woff2'),
        url('FlamaUltraCondensed-Medium.woff') format('woff'),
        url('FlamaUltraCondensed-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
  }

.spacer_sides {
	margin-left: 40px;
	margin-right: 40px;
}

.spacer_top {
	margin-top: 40px;
}

.site_head {
	margin-top: 35px;
	margin-bottom: 20px;
}

/* Grid alignment for top of site */
.flex-container-top {
  display: flex;
  gap: 20px; /* Optional: space between columns */
}

.left-column {
  /* This tells the element to grow and take up all available space */
  flex-grow: 1;
}

.right-column {
  display: flex;
  white-space: nowrap;
  font-family: 'Flama Basic', sans-serif;
  font-size: 15px;
  line-height: 21px;
  text-align: left;
  align-items: flex-end;
}

@media (max-width: 640px) {
	.right-column {
	  color: white;
	}
}

.solid-black-line {
  border: none;
  height: 4px;
  background-color: black;
}

/* large colourful blocks */
.content-box {
	margin-top: 40px;
	padding-left: 40px;
	padding-right: 40px;
	text-align: center;
}

.purple {
	background-color: #918cd9;
	padding-top: 155px;
	padding-bottom: 155px;
}

.grey {
	background-color: #b7b9bb;
	padding-top: 100px;
	padding-bottom: 100px;
}

.teal {
	background-color: #87cdd7;
	padding-top: 100px;
	padding-bottom: 100px;
}

/* container for content within large blockst */
.content-container {
  max-width: 945px;	
  text-align: left;
  margin-left: auto;
  margin-right: auto;
}

.headline {
	font-family: 'Flama Ultra Condensed';
	font-size: 60pt;
	margin-bottom: 40px;
	font: bold;
}

.body_text {
	font-family: 'Flama Basic', sans-serif;
	font-size: 18px;
	line-height: 25px;
	text-align: left;
}

/* two column layout */
.newspaper-columns {
	column-count: 2;
	column-gap: 40px; 
	font-family: 'Flama Basic', sans-serif;
	font-size: 18px;
	line-height: 25px;
	text-align: left;
}

.newspaper-columns > :first-child {
  margin-top: 0;
}

.next-column {
  break-before: column;
}

/* On smaller screens, revert to a single column for readability */
@media (max-width: 640px) {
	.newspaper-columns {
		column-count: 1;
		column-rule: none;
	}
}

/* Form optics */
.form-group {
  background-color: #ffffff; 
  padding-top: 5px; 
  padding-left: 10px; 
  padding-right: 10px; 
  padding-bottom: 5px; 
  border-radius: 8px; 
  display: flex;
}

.form-group label {
  display: inline;
  font-family: 'Flama Basic', sans-serif;
  font-size: 15px;
  margin-bottom: 10px;
  margin-right: 5px;
  color: #333;
}

.form-group input {
  flex-grow: 1;
  padding: 1px;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  box-sizing: border-box;
  font-family: 'Flama Basic', sans-serif;
  font-size: 15px;
  height: 50px;
}

.form-group textarea {
  min-height: 6em;
  flex-grow: 1;
  padding: 1px;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  box-sizing: border-box;
  font-family: 'Flama Basic', sans-serif;
  font-size: 15px;
}


input:focus,
textarea:focus,
select:focus {
    outline: none;
}

.black-button {
  /* Core styles requested */
  background-color: #000000;  /* Black background */
  color: #ffffff;             /* White font color */
  padding: 12px;               /* 12px of padding on all sides */
  border-radius: 8px;          /* Adjust for more or less rounded edges */

  /* Additional recommended styles for a better button */
  border: none;                /* Removes the default browser border */
  font-size: 15px;             /* Sets a clear font size */
  font-family: 'Flama Basic', sans-serif;
  cursor: pointer;             /* Changes the cursor to a pointer on hover */
  transition: background-color 0.2s ease-in-out; /* Smooth hover effect */
}

/* Optional: A simple effect for when you hover over the button */
.black-button:hover {
  background-color: #333333; /* A slightly lighter black */
}

/* 2 side by side grid for form elements */
.grid-item {
  padding: 0px;
  text-align: center;
}

/* 1. Mobile First: Single-column layout by default */
.responsive-grid {
  display: grid;
  gap: 40px;
}

/* 2. Media Query: Two-column layout for screens 640px and wider */
@media (min-width: 640px) {
  .responsive-grid {
    /* This creates two equal-width columns */
    grid-template-columns: repeat(2, 1fr);
  }
}

/* By default, the image takes up the full width of its container */
.responsive-image {
  width: 455px;
  height: auto; /* Maintains the aspect ratio */
  display: block; /* Helps with spacing and centering */
  transition: width 0.3s ease; /* Optional: smooth transition */
  margin-left: auto;
  margin-right: auto;
}

/* When the screen is 640px wide or smaller, apply these styles */
@media (max-width: 640px) {
  .responsive-image {
    width: 300px;
    
    /* Optional: Center the smaller image */
    margin-left: auto;
    margin-right: auto;
  }
}