/* === Base root font size === */
html {
  font-size: 20px;
}

html, body {
  overflow-x: hidden;
}

/* === Import fallback Google Font for Meta Headline Pro === */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700;900&display=swap');

/* === Self-hosted Germania One Font === */
@font-face {
  font-family: 'Germania One';
  src: url('germania/germaniaone.woff2') format('woff2'),
    url('germania/germaniaone.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* === Colour Palette === */
:root {
  --dark-blue: #28285E;
  --light-blue: #315FAC;
  --lighter-blue: #E3EAFF;
  --light-green: #5FC5BE;
  --dark-green: #0EAC9C;
  --light-bg: #E3EAFF;
  --light-grey: #BCCCFB;
  --white: #FFFFFF;
  --text-color: #28285E;
}

/* === Typography === */
body {
  font-family: ff-meta-headline-web-pro-con, sans-serif;
  font-size: 1.5625rem;
  color: var(--text-color);
  background-color: var(--white);
  margin: 0;
  padding: 0;
  overflow-x:hidden;
}

h1 {
  font-size: 2.2rem;
  font-weight: 400;
}

h2 {
  font-size: 2rem;
  font-weight: 500;
}

h3 {
  font-size: 1.5rem;
  font-weight: 700;
}

h4 {
  font-size: 1.3rem;
  font-weight: 400;
}

p {
  font-size: 1rem;
}

ul {
  font-size: 1rem;
}

p.emphasis {
  font-size: 1.5rem;
  font-weight: 700;
}

span {font-size: 1rem};

.small-text {
  font-size: 0.75rem;
}

.logo {
  font-family: 'Germania One', cursive;
}

.contactpm {
  color: #5EC5BE;
  font-size: 1.2rem;
  line-height: 1.4rem;
}

.contact-icon {font-size: 1.2rem;}

.goat-img {max-height: 550px; max-width: 550px;}

img.logos {
  height: 80px;
  margin: 10px 0 0 10px;
}

#testimonialCarousel .blockquote {
  background-color: transparent;
  color: var(--white);
}
#testimonialCarousel .blockquote-footer {
  background-color: transparent;
  color: var(--white);
}
.blockquote-footer::before {
  content: none;
}

.contact-form ::placeholder {
  color: #ddd !important;
  opacity: 1;
  font-weight: 300;
}

/* WebKit browsers (Safari, Chrome) */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #bbb !important;
  font-weight: 300;
}

/* Firefox */
input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #bbb !important;
  font-weight: 300;
}

/* Edge */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #bbb !important;
  font-weight: 300;
}

/* Internet Explorer 10-11 */
input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #bbb !important;
  font-weight: 300;
}

.mxbuttons {margin: 0 2rem 0 2rem}

/* === Buttons === */

.button {
  display: inline-block;
  margin-top: 5px;
  padding: 0.35rem 0.6rem 0.45rem 0.6rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--dark-green);
  background-color: transparent;
  border: 1px solid var(--dark-green);
  border-radius: 0.5rem;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s ease;
  text-decoration: none;
}

.button:hover {
  background-color: var(--light-green);
  color: var(--white);
}

.button:active {
  background-color: var(--dark-green);
  color: var(--white);
}

.button.secondary {
  border-color: var(--light-blue);
  color: var(--light-blue);
}

.button.secondary:hover {
  background-color: var(--light-green);
  color: var(--white);
}

.buttonb {
  display: inline-block;
  margin-top: 5px;
  padding: 0.35rem 0.6rem 0.45rem 0.6rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--white);
  background-color: var(--dark-blue);
  border: 1px solid var(--dark-blue);
  border-radius: 0.5rem;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s ease;
  text-decoration: none;
}

.buttonb:hover {
  background-color: var(--light-green);
  border: 1px solid var(--light-green);
  color: var(--white);
}

.buttonb:active {
  background-color: var(--dark-blue);
  border: 1px solid var(--dark-blue);
  color: var(--white);
}

.button-active {
  display: inline-block;
  margin-top: 5px;
  padding: 0.35rem 0.6rem 0.45rem 0.6rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--white);
  background-color: var(--light-green);
  border: 1px solid var(--light-green);
  border-radius: 0.5rem;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s ease;
  text-decoration: none;
}

.button-active:hover {
  background-color: var(--white);
  border: 1px solid var(--light-green);
  color: var(--light-green);
}

.button-active:active {
  background-color: var(--light-green);
  border: 1px solid var(--light-green);
  color: var(--white);
}


.section-services {
  position: relative;
}


.hover-overlay-container {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
}

.hover-overlay-container img.imagefade {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle; 
  margin: 0;
}

.hover-overlay-container a {
  display: block;
  text-decoration: none;
  color: inherit;
}

.hover-overlay-container .overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(49, 95, 173, 0);
  transition: background-color 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
  pointer-events: none;
}

.hover-overlay-container:hover .overlay {
  background-color: rgba(49, 95, 173, 0.9);
}

.hover-overlay-container:hover img.imagefade {
  opacity: 0.7;
  transition: opacity 0.4s ease;
}

.hover-overlay-container .seo-caption {
  display: none; /* optional: hide if it's just for SEO */
}

.contact-page-icons {
  background-color: #29275E;
  height: 300px;
}

.the-participant-hub-home {
  background: url('/images/The-Participant-Hub-Newcastle-Case-Study-Home-Page-Hover.png') center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}

.letterbox-friendly-home {
  background: url('/images/Letterbox-Friendly-Newcastle-Case-Study-Home-Page-Hover.png') center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}

.backslappers {
  background: url('/images/Backslappers-Newcastle-Case-Study-Home-Page-Hover.png') center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}

.guy-pittard {
  background: url('/images/Guy-Pittard-Newcastle-Case-Study-Home-Page-Hover.png') center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}

.hazy-views {
  background: url('/images/Hazy-Views-Newcastle-Case-Study-Home-Page-Hover.png') center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}

.outhouse-brewery {
  background: url('/images/The-Outhouse-Brewery-Newcastle-Case-Study-Home-Page-Hover.png') center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}

/*For collage images*/
.hover-overlay-container {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  line-height: 0; /* only affects image whitespace */
}

.hover-overlay-container img {
  display: block;
  width: 100%;
  height: auto;
}

.hover-overlay-container .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(20, 20, 20, 0.6);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  padding: 1rem;
  text-align: center;
  line-height: 1.4; /* Restore line height for readable text */
}

.hover-overlay-container:hover .overlay {
  opacity: 1;
}

.overlay-text {
  font-size: 1rem;
  line-height: 1.4;
  max-width: 90%;
  white-space: normal; /* allows wrapping */
}

.seo-caption {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

video {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}



/* === Links === */
a.option1 {
  color: var(--dark-green);
  text-decoration: none;
  transition: all 0.3s ease;
  font-size: 1rem;
}

a.option1:hover {
  color: var(--dark-blue);
}

a.option1:active {
  color: var(--dark-green);
}

a.option2 {
  color: var(--dark-blue);
  text-decoration: none;
  transition: all 0.3s ease;
  font-size: 1rem;
}

a.option2:hover {
  color: var(--light-blue);
}

a.option2:active {
  color: var(--dark-blue);
}



.email {
  background: url('/images/Creative-Footing-Email.png') center center no-repeat;
  background-size: cover;
  width: 100%;
  padding-bottom: 100%; /* 1:1 aspect ratio */
  position: relative;
  transition: background-image 0.3s ease;
}

.email:hover {
  background-image: url('/images/Creative-Footing-Email-Hover.png');
}

.phone {
  background: url('/images/Creative-Footing-Phone.png') center center no-repeat;
  background-size: cover;
  width: 100%;
  padding-bottom: 100%; /* 1:1 aspect ratio */
  position: relative;
  transition: background-image 0.3s ease;
}

.phone:hover {
  background-image: url('/images/Creative-Footing-Phone-Hover.png');
}


.journal-pagination {
  padding: 1rem;
  border-radius: 0.5rem;
  gap: 1rem;
}

.journal-pagination .page-item {
  margin: 0;
}

/* === Journal Pagination === */

.journal-pagination .page-link {
  border: none;
  background: none;
  color: #1b1b38;
  font-weight: bold;
  font-size: 1.25rem;
  transition: color 0.2s ease;
  padding: 0;
}

.journal-pagination .page-link:hover {
  color: #42b8bd; /* turquoise hover like the '1' in the image */
  text-decoration: none;
}

.journal-pagination .active {
  color: #42b8bd; /* active page is turquoise */
  pointer-events: none;
}

/* === Page Number Buttons === */
.page-button {
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  text-align: center;
  line-height: 2.5rem;
  border: 2px solid var(--dark-blue);
  color: var(--dark-blue);
  background-color: transparent;
  transition: all 0.3s ease;
}

.page-button.active {
  background-color: var(--dark-blue);
  color: var(--white);
}

.page-button:hover {
  background-color: var(--light-green);
  color: var(--white);
}

.page-button:active {
  background-color: var(--dark-green);
  color: var(--white);
}

/* === Nav === */
.navbar-nav .nav-link {
  color: var(--dark-blue);
  font-size: 1.5rem;
  font-weight: 900;
}

.navbar-nav .nav-link:hover {
  color: var(--light-green);
}

.navbar-nav .nav-linkg {
  color: var(--light-green);
  font-size: 1.5rem;
  font-weight: 900;
  text-decoration: none;
}

.navbar-nav .nav-linkg:hover {
  color: var(--dark-blue);
}



/* Custom nav button */
.navbar .btn.button {
  background-color: var(--dark-blue);
  color: #fff;
  border: none;
  transition: background-color 0.3s ease;
}

.navbar .btn.button:hover {
  background-color: var(--light-green);
  color: #fff;
}

.navbar-expand-lg .navbar-nav .nav-link .nav-linkg {margin-right: 1rem !important};



.footer-menu-ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.footer-menu-link {
  text-decoration: none;
  color: inherit;
  display: inline-block; /* optional, for better hover spacing */
}

.footer-menu-link:hover {
  text-decoration: underline;
}





@media (max-width: 991.98px) {
  .navbar-nav .dropdown-menu {
    left: 50% !important;
    transform: translateX(-50%) !important;
    right: auto !important;
    min-width: 200px; /* Optional: or set to 'max-content' */
  }
}

.custom-toggler {
  border: none !important;
  background: transparent !important;
  padding: 0;
  outline: none;
  box-shadow: none;
}

.custom-toggler:hover,
.custom-toggler:active,
.custom-toggler:focus,
.custom-toggler:focus-visible {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* === Icons === */
.smicon {
  height: 30px;
  width: auto;
  margin-left: 0.5rem;
}

.smicon2 {
  height: 50px;
  width: auto;
  margin-left: 0.5rem;
}

.call-to-action {
  background-image: url('/images/Creative-Footing-Call-to-action-background-mobile.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Responsive overrides */
@media (min-width: 768px) {
  .call-to-action {
    background-image: url('/images/Creative-Footing-Call-to-action-background-tablet.png');
  }
}
@media (min-width: 992px) {
  .call-to-action {
    background-image: url('/images/Creative-Footing-Call-to-action-background-desktop.png');
  }
}
@media (min-width: 1200px) {
  .call-to-action {
    background-image: url('/images/Creative-Footing-Call-to-action-background-xl.png');
  }
}

/* === Footer === */
footer {
  font-size: 1rem;
  text-align: center;
  padding: 1.25rem;
  background-color: var(--white);
  color: var(--text-color);
}

/* === Responsive Typography === */
@media screen and (max-width: 768px) {
  h1 {
    font-size: 1.7rem;
  }

  h2 {
    font-size: 1.4rem;
  }

h3 {
  font-size: 1.3rem;
  font-weight: 700;
}

h4 {
  font-size: 1.2rem;
  font-weight: 400;
}

span {font-size: 1rem};



  body {
    font-size: 1rem;
  }

  .small-text {
    font-size: 0.75rem;
  }

  .button {
    display: inline-block;
    margin-top: 5px;
    padding: 0.15rem 0.5rem 0.2rem 0.5rem;
    font-size: 0.9rem;
    font-weight: 500;
  }

  .button-active {
    display: inline-block;
    margin-top: 5px;
    padding: 0.15rem 0.5rem 0.2rem 0.5rem;
    font-size: 0.9rem;
    font-weight: 500;
  }

 

}
