/*
Theme Name: ROAM Outreach 2026
Theme URI: https://www.45b.co.uk
Author: 45b
Version: 1.0
*/

@import "style-base.css"; 

/*--------------------------------------------------------------
# Body
--------------------------------------------------------------*/

html {
  height: 100%;
  width: 100%;
  overflow: visible; 
}

html, body {
  background: #fff;
  color: #1b1b1b;
  font-family: 'Open Sans', arial, helvetica, sans-serif;
  overflow: visible;
}

.container {max-width: 100%;}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

h1, h2, h3, h4, h5, h6 {
  /*font-family: 'manometer', serif;*/
font-family: 'Oswald', sans-serif;
font-weight: 400;
  font-style: normal;
  line-height: 1.2em;
  margin-bottom: 0.6em;
}

h1 {font-size: 2.8em; }
h2 {font-size: 2.6em; color: #5b5b5a;}
h3 {font-size: 1.6em; color: #5b5b5a;}
h4 {font-size: 1.4em; color: #5b5b5a;}
h5 {font-size: 1.2em; color: #5b5b5a;}


.main-copy ul, .main-copy ol {font-weight: 300; color: #000; margin-bottom: 1.5em;}

a {text-decoration: none; color: #2268e3;}
a:hover {text-decoration: none; color: #1b1b1b;}

.row-tint {background: #f0f0f0;}
strong {font-weight: bold;}

.brand-lblue {color: #c4d3e1;}
.brand-orange {color: #FFB625;}



.cta-button {display: inline-block; font-size: 1.2em; font-weight: bold; font-family: 'Oswald', Helvetica, Arial, sans-serif; background: #FFB625; color: #1b1b1b; padding: 0.5em; text-transform: uppercase; text-decoration: none;
border: 1px solid #fff;
-webkit-transition: all 0.3s;
-moz-transition: allr 0.3s; 
transition: all 0.3s; 
transform: 0.3s;
transform: rotate(-2deg);}
.cta-button:hover {background: #1b1b1b; color: #fff; text-decoration: none;}

.cta-button img {height: 25px; margin-right: 0.2em;}

.cta-button::after {
  content: '\f061';
  font-family: 'Font Awesome 6 Pro';
  font-weight: 900;
  margin-left: 0.5em;
  display: inline-block;
  transition: transform 0.2s ease;
}

.cta-button:hover::after {
  transform: translateX(4px);
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

header {width: 100%; background: #1A4E89;}

.head-logo {text-align: center; padding-top: 2em; padding-bottom: 2em;}
.head-logo img {width: 100%; max-width: 250px;}

.header-contact {font-family: 'Oswald', Helvetica, Arial, sans-serif; text-transform: uppercase; font-weight: bold; color: #fff;}

.header-contact a {color: #FFB625;}
.header-contact a:hover {color: #fff;}

.head-social i {font-size: 1.6em; color: #26aae1;  margin-right: 0.1em;
-webkit-transition: all 0.3s;
-moz-transition: allr 0.3s; 
transition: all 0.3s; 
transform: 0.3s;}
.head-social i:hover {color: #1b1b1b;}
.social-links {justify-self: flex-start;}

.page-hero-container {display: flex; align-items: center; background-position: center center; background: #1A4E89; background-image: url("assets/images/hero-bg.png"); background-repeat: no-repeat; background-size: cover;}
.page-hero {padding-top: 2em; padding-bottom: 2em; background: #c4d3e1; background-position: center center; background-image: url("assets/images/hero-bg2.png"); background-repeat: no-repeat; background-size: cover;}


.page-hero-no-image {padding-top: 0; padding-bottom: 2em;}
.hero-text {width: 100%; color: #fff; padding-top: 2em; padding-bottom: 2em; 
font-weight: 400;
  font-style: normal;}

.hero-text h1 {color: #fff; margin-bottom: 0.5em; font-size: clamp(2rem, 3vw, 3rem);}
.hero-text h2 {color: #FFB625;  font-size: clamp(1.4rem, 2vw, 1.6rem);}

.hero-image {display: none;}
.hero-image img {
  width: 320px;
  height: 320px;
  object-fit: cover;
  border-radius: 50%;
margin-bottom: 2em;
border: 5px solid #fff;
}

.home .hero-image img {
  width: auto;
  height: auto;
border-radius: 0;
margin-bottom: 0;
border: none;
}


.hero-text-no-image {width: 100%; color: #666; padding-top: 1em;
font-weight: 400;
font-style: normal;}
.hero-text-no-image h1 {color: #1b1b1b; margin-bottom: 0.5em; font-size: clamp(2.4rem, 3.4vw, 3.4rem);}
.hero-text-no-image h2 {color: #1A4E89; font-size: 1.6em;}



/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/

.main-menu-container {display: none;}
.main-menu-container ul {list-style: none; padding: 0; margin: 0;}
.main-menu-container ul li {position: relative; display: inline-block; cursor: pointer; margin: 0 1em;} 
.main-menu-container a {display: inline-block; font-size: 1.2em; padding: 0; margin: 0; color: #fff; text-decoration: none; font-family: 'Oswald', Helvetica, Arial, sans-serif; text-transform: uppercase; font-weight: bold;}

    
.main-menu-container ul li.current-menu-item a, .main-menu-container ul li.current-page-ancestor a  {color: #FFB625; font-weight: bold;}
.main-menu-links {}

/* Only apply the animated underline to non-dropdown links */
.main-menu-container li a:not(.dropdown-toggle)::after {
  content: "";
  position: absolute;
  width: 0;
  top: 100%;
  height: 3px;
  background: #fff;
  right: 0;
  transition: width 0.3s cubic-bezier(0.37, 0, 0.21, 1.02);
}

.main-menu-container li.current-menu-item a:not(.dropdown-toggle)::after,
.main-menu-container li a:not(.dropdown-toggle):hover::after {
  left: 0;
  right: auto;
  width: 100%;
}

.main-menu-container ul li.current-menu-item a:not(.dropdown-toggle)::after  {background: #FFB625;}

 /* Kill the underline animation on 2nd level+ links */
.main-menu-container .dropdown-menu li a::after,
.main-menu-container .dropdown-menu li.current-menu-item a::after,
.main-menu-container .dropdown-menu li a:hover::after {
  display: none;
} 

/* Restore Bootstrap's dropdown caret behaviour */
.main-menu-container li a.dropdown-toggle::after {
  display: inline-block;
  position: static;
  width: auto;
  height: auto;
  background: none;
  transition: none;
  /* Bootstrap's caret values */
  margin-left: 0.255em;
  vertical-align: 0.255em;
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}


.main-menu-container ul li.menu-item-has-children:hover a {color: #fff;}
.main-menu-container ul li.menu-item-has-children:hover .dropdown-toggle:after {color: #c4d3e1;}

.main-menu-container .dropdown-menu .dropdown-menu {margin-top: 0!important;}

.main-menu-container .dropdown-menu li {
    position: relative;
}

.main-menu-container .dropdown-menu .dropdown-menu {
    position: absolute;
    top: 0;
    left: 100%;
    margin-top: -1px;
    margin-left: 0;
    display: none;
}

/* Second-level items with children */
.main-menu-container .dropdown-menu > li.menu-item-has-children > a {
    position: relative;
    padding-right: 2rem;
}

/* Right-pointing caret */
.main-menu-container .dropdown-menu > li.menu-item-has-children > a::after {
    content: "\f054";
    font-family: "Font Awesome 6 Pro";
    font-weight: 300;        /* Thin */
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.75em;
    color: #c4d3e1;
}

ul.dropdown-menu {display: none; z-index: 10000; margin: 0;
-webkit-transition: color 0.4s, background 0.4s, border 0.4s;
-moz-transition: color 0.4s, background 0.4s, border 0.4s; 
transition: color 0.4s, background 0.4s, border 0.4s; 
transform: 0.3s;}

.dropdown-menu {background: #fff; color: #1b1b1b; width: auto; border-radius: 0; border: none;}
.main-menu-container ul.dropdown-menu li {margin: 0; width: 100%;}
.main-menu-container ul.dropdown-menu li a {padding: 0.75em 0.5em; border-bottom: 1px solid #1b1b1b; font-size: 0.9em; font-weight: 600; color: #1b1b1b!important;
-moz-transition: all 0.4s; 
transition: all 0.4s; 
transform: 0.3s;
}
.main-menu-container ul.dropdown-menu li a::before {content: none;}

.main-menu-container ul.dropdown-menu li a:hover {color: #1b1b1b!important; background: #c4d3e1; border-radius: 0;}

.main-menu-container ul li.dropdown:hover > ul.dropdown-menu {
    display: block;
    -webkit-animation: slide-down .3s ease-out;
    -moz-animation: slide-down .3s ease-out;
}

@-webkit-keyframes slide-down {
      0% { opacity: 0; -webkit-transform: translateY(-20%); }   
    100% { opacity: 1; -webkit-transform: translateY(0); }
}
@-moz-keyframes slide-down {
      0% { opacity: 0; -moz-transform: translateY(-20%); }   
    100% { opacity: 1; -moz-transform: translateY(0); }
}






/* Mobile */
.menu-wrapper {
    position: absolute;
    display: block;
	top: 30px;
	right: 0;
}

.hamburger-menu {
    position: absolute;
    right: 20px;
    z-index: 1000;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 30px;
}

body.logged-in .hamburger-menu {top: 30px;}
body.logged-in .hamburger-menu.active {top: 60px;}

.hamburger-menu span {
    display: block;
    width: 25px;
    height: 3px;
    background-color: #c4d3e1;
    border-radius: 2px;
    transition: 0.3s;
}

/* Full-page menu styles */
.full-page-menu {
    position: fixed;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    justify-content: center;
    flex-direction: column;
    z-index: 999;
    transition: top 0.5s ease-in-out;
}

.full-page-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.full-page-menu ul li {
    margin: 0.2em 0;
}

.full-page-menu ul li a {
font-family: 'Roboto', sans-serif;
font-weight: 400;
  font-style: normal;
    text-decoration: none;
    font-size: 1.2em;
    color: #fff;
    transition: color 0.3s;
	
}

.full-page-menu ul li a:hover {
    background: transparent;
	color: #fff;
}

/* Active menu styles */
.full-page-menu.active {
    top: 0;
}

.hamburger-menu {
  position: relative;
  width: 25px;
  height: 20px;
}

.hamburger-menu span {
  position: absolute;
  left: 0;
  width: 25px;
  height: 3px;
  background: #48a9bd;
  border-radius: 2px;
  transition: 0.3s;
}

.hamburger-menu span:nth-child(1) { top: 0; }
.hamburger-menu span:nth-child(2) { top: 8px; }
.hamburger-menu span:nth-child(3) { top: 16px; }

/* Active */
.hamburger-menu.active span:nth-child(1) {
  top: 8px;
  transform: rotate(45deg);
}

.hamburger-menu.active span:nth-child(2) {
  opacity: 0;
}

.hamburger-menu.active span:nth-child(3) {
  top: 8px;
  transform: rotate(-45deg);
}


/* Mobile */
.menu-wrapper {
    position: absolute;
    display: block;
	top: 30px;
	right: 0;
}

.hamburger-menu {
    position: absolute;
    right: 20px;
    z-index: 1000;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 30px;
}

body.logged-in .hamburger-menu {top: 30px;}
body.logged-in .hamburger-menu.active {top: 60px;}

.hamburger-menu span {
    display: block;
    width: 25px;
    height: 3px;
    background-color: #c4d3e1;
    border-radius: 2px;
    transition: 0.3s;
}

/* Full-page menu styles */
.full-page-menu {
    position: fixed;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    justify-content: center;
    flex-direction: column;
    z-index: 999;
    transition: top 0.5s ease-in-out;
}

.full-page-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.full-page-menu ul li {
    margin: 0.2em 0;
}

.full-page-menu ul li a {
font-family: 'Oswald', sans-serif;
  font-style: normal;
    text-decoration: none;
    font-size: 1.6em;
    color: #fff;
    transition: color 0.3s;
	
}

.full-page-menu ul li a:hover {
    background: transparent;
	color: #fff;
}

/* Active menu styles */
.full-page-menu.active {
    top: 0;
}

.hamburger-menu {
  position: relative;
  width: 25px;
  height: 20px;
}

.hamburger-menu span {
  position: absolute;
  left: 0;
  width: 25px;
  height: 3px;
  background: #c4d3e1;
  border-radius: 2px;
  transition: 0.3s;
}

.hamburger-menu span:nth-child(1) { top: 0; }
.hamburger-menu span:nth-child(2) { top: 8px; }
.hamburger-menu span:nth-child(3) { top: 16px; }

/* Active */
.hamburger-menu.active span:nth-child(1) {
  top: 8px;
  transform: rotate(45deg);
}

.hamburger-menu.active span:nth-child(2) {
  opacity: 0;
}

.hamburger-menu.active span:nth-child(3) {
  top: 8px;
  transform: rotate(-45deg);
}


/* mobile dropdowns */

.full-page-menu .dropdown-menu,
.full-page-menu .sub-menu {
    display: none;
    position: static;
    float: none;
    background: transparent;
    border: 0;
    box-shadow: none;
    margin: 0;
    padding: .5rem 0 .5rem 1rem;
}
.full-page-menu li {
    position: relative;
}

.submenu-toggle {
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
    background: transparent;
    border: 0;
    color: #c4d3e1;
    cursor: pointer;

    transition: transform .25s;
}

.submenu-toggle {
    position: absolute;
    right: 0;

}


.menu-item-has-children.submenu-open > .submenu-toggle {
    transform: rotate(180deg);
}

.full-page-menu .dropdown-menu .dropdown-menu,
.full-page-menu .sub-menu .sub-menu {
    padding-left: 1rem;
}

.full-page-menu .dropdown-menu a {
    font-size: 1.4rem;
}

.full-page-menu .dropdown-toggle::after {
    display: none;
    content: none;
}



button:focus {outline: none;}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/

main {}

.main-copy {padding-top: 3em; padding-bottom: 3em; background: #fff; color: #1b1b1b;}

/* Repeating Content Blocks */
.content-block {}
.content-block-inner {}
.content-block a {text-decoration: underline;}
.content-block a.cta-button {text-decoration: none; color: #1b1b1b;}
.content-block a.cta-button:hover {text-decoration: none; color: #fff;}

.content-block-text {padding-top: 4em; padding-bottom: 4em;}
.content-block-image {background-position: center center; background-repeat: no-repeat; background-size: cover; min-height: 500px; height: 100%;}
.content-block-image-left {text-align: left;}
.content-block-image-right {text-align: right;}

.content-block .cta-button {display: inline-block; margin-top: 1em;}
.content-container {}

.row-white {background: #fff; color: #1b1b1b;}
.row-grey {background: #efefef; color: #1b1b1b;}
.row-black {background: #1b1b1b; color: #fff;}
.row-blue {background: #c4d3e1; color: #1b1b1b;}
.row-orange {background: #FFB625; color: #1b1b1b;}

.row-white .content-block-text h1, .row-white .content-block-text h2, .row-white .content-block-text h3, .row-white .content-block-text h4, .row-white .content-block-text h5, .row-white .content-block-text h6 {color: #1b1b1b;} 
.row-grey .content-block-text h1, .row-grey .content-block-text h2, .row-grey .content-block-text h3, .row-grey .content-block-text h4, .row-grey .content-block-text h5, .row-grey .content-block-text h6 {color: #1b1b1b;} 
.row-orange .content-block-text h1, .row-orange .content-block-text h2, .row-orange .content-block-text h3, .row-orange .content-block-text h4, .row-orange .content-block-text h5, .row-orange .content-block-text h6 {color: #1b1b1b;} 
.row-blue .content-block-text h1, .row-blue .content-block-text h2, .row-blue .content-block-text h3, .row-blue .content-block-text h4, .row-blue .content-block-text h5, .row-blue .content-block-text h6 {color: #1b1b1b;} 

.row-white .content-block-text a, 
.row-grey .content-block-text a, 
.row-orange .content-block-text a, 
.row-blue .content-block-text a
{color: #1b1b1b;} 


.row-black .content-block-text h1, .row-black .content-block-text h2, .row-black .content-block-text h3, .row-black .content-block-text h4, .row-black .content-block-text h5, .row-black .content-block-text h6 {color: #fff;} 

.row-black .content-block-text a {color: #fff;} 

.row-orange .cta-button {background: #fff; color: #1b1b1b;}
.row-orange .cta-button:hover {background: #1b1b1b; color: #fff;}

.row-grey .cta-button:hover, .row-white .cta-button:hover  {background: #1b1b1b; color: #fff;}


.content-block-split {width: 100%;}

.content-block-split-inner {padding: 0 15px;}


/* accordion */
ul.accordion {margin: 0; padding: 0;}
.accordion li {list-style: none;}
.accordion-header {display: block; padding-bottom: 1em; padding-top: 1em;}

.accordion h4 {margin-bottom: 0;}
.accordion-navigation {border-bottom: 1px solid #ccc; padding: 1em;}


.accordion .content {display: none;}
.accordion .accordion-navigation>.content.active {background: #f9f9f9; color: #1b1b1b;}

.accordion-navigation h4:after { content: '\f063';
  font-family: 'Font Awesome 6 Pro';
  font-weight: 900;
  margin-left: 0.5em;
  display: inline-block;
  transition: transform 0.2s ease;
  position: absolute; right: 30px; width: 30px; background: #FFB625; color: #fff; text-align: center;}
.accordion-navigation.active h4:after {content: '\f062';  transition: transform 0.2s ease;}



/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

footer {color: #fff; background: #1e1d1f; padding-top: 4em; padding-bottom: 4em;}
footer img {margin-bottom: 2em;}
footer h3 {color: #fff;}
footer p {line-height: 1.4; color: #fff;}
footer ul {list-style: none; margin: 0; padding: 0;}
footer ul li {padding: 0;}
footer a {color: #FFB625; text-decoration: none; font-weight: bold;}
footer a:hover {color: #fff;}

footer i {font-size: 1.4em;}

.footer-col {margin-bottom: 4em;}

.legal {padding-top: 6em; font-size: 0.8em; color: #8b8b8b;}
.legal a {color: #aaa; font-weight: normal;}
.legal a:hover {color: #fff;}

.grecaptcha-badge { 
    visibility: hidden !important;
}



/*--------------------------------------------------------------
# Media Query
--------------------------------------------------------------*/
/* MEDIA QUERIES */

@media screen and (min-width: 200px) {

}

@media screen and (min-width: 480px) {

}

@media screen and (min-width: 640px) {

}

@media screen and (min-width: 960px) {
.container {max-width: 90%;}
.page-hero-container {background-attachment: fixed;}
.page-hero {background-attachment: fixed;}
.hero-image {display: block;}
.head-logo {text-align: left;}
.head-logo img {max-width: 250px;}
.head-cta {text-align: right;}
.footer-col {margin-bottom: 0;}
.main-menu-container {display: block;}
.main-menu-container {display: flex; justify-content: flex-end;}
.menu-wrapper {display: none;}
.main-menu {display: block;}
.content-block-image-left img, .content-block-image-right img {margin-bottom: 0;}
.content-block-split {display: flex;}
.content-block-split-inner {width: 100%; padding: 0 5.75%;}
	
}

	
@media screen and (min-width: 991px) {


}
@media screen and (min-width: 1200px) {

}

@media print {
/* Print CSS rules go here */

}