/* ---VARIABLES--- */
/* Setting variables, for example: colours and fonts across the whole site from
just one, easy to manage section. */
:root {
  --color-primary: #0e0e0e;
  --color-secondary: #ffff;
  --color-tertiary: #121212;
  --color-shadow: none;
  --color-headings-buttons: #0a27e6;
  --color-hover-background: rgb(76, 0, 255);
  --color-date-author: #091f79;
  --color-background: #ffff;
  --color-background-exhibitions: #d9d9d9;
  --font-text: rsystem-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif,
    "Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande", "Lucida Sans", Arial,
    sans-serif;
}

/* ---CSS RESET--- */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  z-index: 0;
}

/* Set root font-size for rem to 62.5% to change the font-size default value to 10px. */
html {
  font-size: 62.5%;
}

body {
  height: 100vh;
  max-height: 100%;
  width: 100vw;
  max-width: 100%;
  scrollbar-width: none;
  overflow-x: hidden;
  /* Set font-size back to it's original 16px by using 1.6rem. */
  font-size: 1.6rem;
  list-style-type: none; /* Remove bullets */
  padding: 20px;
}

/* HELPER */
/* * {
    outline: 1px solid red;
  } */

/* TYPOGRAPHY */
h1,
h2,
h3,
h4 {
  padding: 2rem 0 1rem;
  color: var(--color-headings-buttons);
  font-family: var(--font-text);
  text-align: center;
}
h1 {
  font-family: var(--font-text);
  font-size: 48px;
}

h2 {
  font-size: 36px;
}

h3 {
  font-size: 24px;
}

h4 {
  font-size: 18px;
}
h5 {
  font-family: var(--font-text);
  letter-spacing: 0.1rem;
  padding: 1rem 0 0 1rem;
  color: var(--color-date-author);
  font-size: 16px;
}
h6 {
  font-family: var(--font-text);
  letter-spacing: 0.1rem;
  padding: 2rem 0 0 1rem;
  color: var(--color-secondary);
  font-size: 16px;
}

p,
a,
li {
  font-family: var(--font-text);
  font-size: 16px;
  text-decoration: none;
  padding: 0.2rem 0 0 1rem;
}
ul,
li,
a {
  list-style-type: none;
}
a :hover {
  text-decoration: underline;
}

/* ---IMAGES--- */
img,
picture {
  display: block;
  max-width: 100%;
}

section {
  margin-bottom: 40px;
}

/* ---FORMS AND BUTTONS--- */
button {
  cursor: pointer;
  text-align: center;
  font-size: 1.8rem;
  background-color: var(--color-headings-buttons);
  color: white;
  border: 1px;
  border-radius: 10rem;
  padding: 1rem 1rem;
  margin: 1rem 0;
  text-decoration: none;
}

button:hover {
  background-color: var(--color-hover-background);
  color: var(--color-background);
}
button a {
  text-decoration: none;
  color: white;
}

/* ---#1.0 RESPONSIVE WEBPAGE TEMPLATE--- */
/* ---#1.1 FOR DESKTOP--- */
/*body {
    display:
  } 
*/

.header {
  display: flex; /* Make the header a flex container */
  justify-content: space-between; /* Distribute header items horizontally with space in between */
  align-items: center; /* Align header items vertically */
  align-self: stretch;
  box-shadow: 0 5rem 3rem var(--color-shadow);
  padding: 0.2rem;
  z-index: 1;
}

.logo {
  flex: 0 0 auto; /* Set logo to not grow or shrink and have its auto width */
  margin-right: 10px; /* Add margin to the right of the logo */
  padding-left: 10px;
  top: 2rem;
  width: 200px;
  height: 200px;
}

.logo a {
  color: var(--color-primary);
}
/* Nav bar styles */
nav {
  padding-bottom: 2rem;
  margin-bottom: 30px;
}

.hero {
  padding: 20px;
}
/* Back to top*/
.back-to-top {
  position: fixed;
  bottom: 50px;
  right: 50px;
  padding: 10px;
  background-color: var(--color-headings-buttons);
  border-radius: 5px;
  text-decoration: none;
  color: var(--color-secondary);
}

.back-to-top:hover {
  background-color: var(--color-hover-background);
}

/*footer styles end --*/
footer {
  bottom: 0;

  margin-top: auto;
}

/* Carousel Styles */

/* Carousel container */
.carousel {
  position: relative; /* Necessary for absolute positioning of controls */
  margin-bottom: 20px;
  padding-top: 5px;
}

/* Carousel items */
.carousel-item {
  background-size: cover;
  background-position: center center;
}
.carousel-item img {
  object-fit: cover; /* Ensure images scale proportionally */
}

/* Carousel controls */
.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  width: 50px; /* Adjust width as needed */
  margin: 0 auto;
  z-index: 10;
}

/*carousel end */

.card {
  background-color: #463ee9;
  border-radius: 8px;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease-in-out;
  gap: 20px;
  padding: 10px;
  margin: 10px;
}
.info a {
  padding: 0;
  margin: 0;
  color: red;
  list-style-type: none;
}
.card-group {
  gap: 20px;
  padding-top: 10px;
}
.card:hover {
  box-shadow: 0px 4px 8px rgba(33, 8, 161, 0.2);
}
li a {
  text-decoration: none;
}
.social-icons {
  padding-right: 20px;
}
/* contact page styles*/

.submit-button {
  text-align: center;
}
.contact-cards {
  gap: 20px;
  padding-top: 20px;
}
.map {
  width: 100%;
}
/*contact page styles end */

.main-grid {
  display: grid;
  grid-template-columns: 1fr auto;

  grid-gap: 20px; /* Adjust gap as needed */
  grid-template-columns: 70% 30%;
}

.carousel {
  grid-column: 1;
  grid-row: 1;
}
.about {
  grid-column: 1;
  grid-row: 2;
}
.sacco {
  grid-column: 1;
  grid-row: 3;
}
.activities {
  grid-column: 1;
  grid-row: 4;
}
.sports {
  grid-column: 1;
  grid-row: 5;
}
.widget {
  grid-column: 2;
  grid-row: 1;
}

.footer-contact {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  padding-bottom: 10px;
}
.footer-contact a {
  text-decoration: none;
}

/* Media query for small screens */
@media (max-width: 720px) {
  .main-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-columns: 100%;
  }
  .widget {
    grid-column: 1;
    grid-row: 6;
  }
  .footer-menu {
    flex-direction: column;
    padding-left: 10px;
  }

  .footer-menu > div {
    margin-bottom: 20px;
  }
  ul,
  li,
  a {
    list-style-type: none;
  }
  .footer-contact {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-decoration: none;
  }
}
