*, *::before, *::after {
    box-sizing: border-box;
}
:root {
    --primary-clr: #2e323f;
    --secondary-clr: #3b4050;
    --tertiary-clr: #6f737f;
    --quad-clr: #b4b8c4;
    --highlight-clr: #f7d288;
    --primary-contrast: #fff;
    --secondary-contrast: #f1f1f1;
    --tertiary-contrast: #e5e5e5;
    --quad-contrast: #eaf0f7;
    --dark-clr: #000;
    --primary--dark: #252833;
    --quint-clr: #95A2CC;
    --gold: #ac8b45;
    --bright: #9000ff;
    --link-light: #7300ff;
    --link-mid: #2d17ef;
    --header-clr: #3B2E3F;
    --highly-specialist: #7c2855;
    --bright-link: #FFB81C;
    --dark-grey: #425563;
    --brown: #893c0d;
    --light-brown: #b68f64;
    --red: #b50606;
    --green: #e6fe8d;
}
body {
    margin: 0;
    padding: 0;
    font-family: Helvetica, sans-serif;
    font-size: 1.2rem;
    font-weight: 300;
}
a {
    text-decoration: none;
}
h1 {
    margin: 0;
    font-weight: 700;
    font-size: 4rem;
    line-height: 1;
}
h2 {
    margin: 0;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
}
h3 {
    margin: 0;
    font-size: 2rem;
    font-weight: 600;
}
h4 {
    margin: 0;
    font-size: 1.7rem;
    font-weight: 600;
}
h5 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
}
.gold {
    color: var(--gold);
}
.high {
    color: var(--highlight-clr);
}
.yellow {
    color: var(--bright-link);
}
.red {
    color: var(--red);
}
footer {
    background: var(--tertiary-contrast);
    padding: 1em 0;
    text-align: right;
    font-size: .8em;
}

/* Cross-site styling*/
header {
    background: #fff;
}
.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}
@media (min-width:840px) {
    .container {
        width: 80%;
    }
}
.banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#logo {
    width: 163px;
    padding: .6rem 0 0;
}
#ruh-logo {
    width: 117px;

}
@media (min-width: 550px) {
    .banner {
        align-items: flex-end;
    }
    #bnpc-logo {
        width: 100px;
        padding: 1em 0 .5em;
    }
    #logo {
    width: 250px;
    padding:0;
    margin-bottom:.7rem;
}
    #ruh-logo {
        width: 234px;
        padding-bottom: .75rem;
        margin: .5rem 0 .7rem;
    }
}

/* Main menu styling*/
.BNPC__menu a {
    color: var(--primary-contrast);
}
.BNPC__menu a:hover {
    color: var(--highlight-clr);
}
.current-page {
    color: var(--tertiary-clr);
    font-weight: 500;
}
#BNPC__nav {
    margin: 0;
    padding: 0;
    top:0;
    position: sticky;
    position: -webkit-sticky;
    background: var(--primary--dark);
    color: var(--primary-contrast);
    font-weight: 400;
    z-index: 10;
}
.menuflex {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

/* Small screen mode */
.menu-icon {
    cursor: pointer;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: .6em 0;
    line-height: 1.2;
}
.menu_txt {
    display: block;
    position: relative;
    width: 3.4em;
    font-size: 1em;
}
@-moz-document url-prefix() {
    .menu_txt {
        font-size: 1em;
        padding-top: .15em;
    }
}
.menu_txt::after {
    content: 'MENU';
}
.hamburger {
    background: var(--primary-contrast);
    display: block;
    height: 2px;
    position: relative;
    width: 1.2em;
    transition: .2s ease;
}
.hamburger::before,
.hamburger::after {
    background: var(--primary-contrast);
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    transition: all .2s ease;
}
.hamburger::before {
    top: .5em;
}
.hamburger::after {
    top: -.5em;
}
.menu-icon:hover {
    color: var(--highlight-clr);
}
.menu-icon:hover > .hamburger,
.menu-icon:hover > .hamburger::before,
.menu-icon:hover > .hamburger::after {
    background: var(--highlight-clr);
}

.menu-btn__style {
    height: 0;
    width: 0;
    opacity: 0;
    margin:0;
    padding:0;
}

.menu-wrapper {
    overflow: hidden;
    max-height: 0;
    padding: 0;
    width: 80%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all .6s ease;
}
.menu-btn__style:checked ~ .menu-wrapper {
    max-height: fit-content;
    padding: 0 0 2.5em 0;
}
.BNPC__menu {
    width: 80%;
    padding-left: 0;
    display: flex;
    flex-direction: column;
    list-style: none;
    font-size: 1rem;
}
.menu-btn__style:checked + .menu-icon > .hamburger {
    transform: rotate(45deg);
}
.menu-btn__style:checked + .menu-icon > .hamburger::before {
    top: 0;
    transform: rotate(90deg);
}
.menu-btn__style:checked + .menu-icon > .hamburger::after {
    background: transparent;
}
.menu-btn__style:checked + .menu-icon > .menu_txt {
    width: 3.6em;
}
.menu-btn__style:checked + .menu-icon > .menu_txt::after {
    content: 'CLOSE';
} 
.BNPC__menu li {
    line-height: 2;
    border-top: 1px solid var(--tertiary-clr);
}
.BNPC__drop,
.BNPC__drop-sub {
    list-style: none;
}
.BNPC__drop {
    border-bottom: 1px solid var(--tertiary-clr);
}
.BNPC__drop-sub li {
    border-top: 1px solid var(--tertiary-clr);
}
.bottom-link {
    border-bottom: 1px solid var(--tertiary-clr);
}

/* Drop down menu for larger screen sizes*/
@media (min-width:840px) {
    .menu-icon {
        display: none;
    }
    .menu-wrapper {
        max-height: 3rem;
        width: 100%;
        padding: 0;
        flex-direction: row;
        justify-content: flex-end;
    }
    .BNPC__menu {
        flex-direction: row;
        justify-content: flex-end;
        margin: 0;
        padding: 0;
        border: 0;
    }
    .BNPC__menu .current-page,
    .BNPC__menu li a {
        display: block;
        padding: 1em 0;
    }
    .BNPC__menu li {
        margin-left: 2em;
    }
    .drop-link:hover .BNPC__drop,
    .drop-link:focus .BNPC__drop,
    .drop-link:focus-within .BNPC__drop { 
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        position: absolute;
        top: 3em;
        width: 6em;
        margin: 0 0 0 -.5em;
        padding: 0;
        border-radius: 0 0 .5em .5em;
        box-shadow:
            0.3px 0.5px 0.7px hsl(0deg 0% 0% / 0.05),
            0.9px 1.8px 2.6px -0.5px hsl(0deg 0% 0% / 0.07),
            2px 4px 5.7px -1px hsl(0deg 0% 0% / 0.08),
            4.4px 8.9px 12.6px -1.5px hsl(0deg 0% 0% / 0.1);
    }
    .BNPC__drop {
        display: none;
        border: 0;
    }
    .BNPC__drop li,
    .BNPC__drop .current-page {
        display: flex;
        position: relative;
        width: 100%;
        background: var(--primary-contrast);
        border-top: 0;
        padding: 0 .5em;
    }
    .BNPC__drop li,
    .BNPC__drop .current-page {
        border-bottom: 1px solid var(--quad-clr);
    }
    .BNPC__drop li a {
        padding: 0;
        width: 100%;
    }
    .BNPC__drop li:hover,
    .BNPC__drop li:focus {
        background: var(--primary--dark);
    }
    .BNPC__drop-sub {
        display: none;
    }
    .sub-drop:hover .BNPC__drop-sub,
    .sub-drop:focus .BNPC__drop-sub,
    .sub-drop:focus-within .BNPC__drop-sub {
        display: flex;
        position: absolute;
        flex-direction: column;
        right: 8em;
    }
    .BNPC__drop-sub li {
        position: relative;
        background: var(--tertiary-contrast);
    }
    .BNPC__drop-sub li:hover,
    .BNPC__drop-sub li:focus {
        background: var(--secondary-clr);
    }
    .BNPC__drop a {
        color: var(--dark-clr);
    }
    .BNPC__drop a:hover,
    .BNPC__drop a:focus {
        color: var(--highlight-clr);
    }
    .BNPC__drop-sub a:hover,
    .BNPC__drop-sub a:focus {
        color: var(--primary-contrast);
    }
    .drop-bottom {
        border-radius: 0 0 .5em .5em;
    }
    .BNPC__drop-sub .drop-bottom {
        box-shadow:
            0.3px 0.5px 0.7px hsl(0deg 0% 0% / 0.05),
            0.9px 1.8px 2.6px -0.5px hsl(0deg 0% 0% / 0.07),
            2px 4px 5.7px -1px hsl(0deg 0% 0% / 0.08),
            4.4px 8.9px 12.6px -1.5px hsl(0deg 0% 0% / 0.1);
    }
    .bottom-link {
        border: 0;
    }
}

/* CRPS menu styling */
#CRPS__nav {
    position: absolute;
    background: var(--highly-specialist);
    border-bottom-right-radius: 1em;
    font-weight: 400;
    display: flex;
    flex-direction: column;
}
#CRPS__nav a {
    color: var(--primary-contrast);
}
#CRPS__nav a:hover {
    color: var(--bright-link);
}
.CRPS__menu {
    list-style: none;
}
.CRPS__menu li {
    line-height: 3em;
}
.CRPS__menu-icon {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 1em 1em .25em;
    cursor: pointer;
    color: var(--primary-contrast);  
}
.CRPS__menu-btn__style {
    /*display: none;*/
    opacity: 0;
    height: 0;
    width: 0;
    margin:0;
    padding: 0;
}
.CRPS__menu_txt {
    display: block;
    position: relative;
    width: 3.4em;
    font-size: .8em; 
}
.CRPS__menu_txt::after {
    content: 'CRPS MENU';
}
.CRPS__hamburger {
    background: var(--primary-contrast);
    display: block;
    height: 4px;
    position: relative;
    width: 1.5em;
    transition: .2s ease;
}
.CRPS__hamburger::before,
.CRPS__hamburger::after {
    background: var(--primary-contrast);
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    transition: all .2s ease;
}
.CRPS__hamburger::before {
    top: .5em;
}
.CRPS__hamburger::after {
    top: -.5em;
}
.CRPS__menu-icon:hover {
    color: var(--bright-link);
}
.CRPS__menu-icon:hover > .CRPS__hamburger,
.CRPS__menu-icon:hover > .CRPS__hamburger::before,
.CRPS__menu-icon:hover > .CRPS__hamburger::after
{
    background: var(--bright-link);
}
.CRPS__menu-wrapper {
    float: left;
    overflow: hidden;
    max-width: 0;
    max-height: .5em;
    transition: .5s ease;
    padding-right: 2em;
}
.CRPS__menu-btn__style:checked ~ .CRPS__menu-wrapper {
    max-width: 18em;
    max-height: 42em;
}
.CRPS__menu-btn__style:checked + .CRPS__menu-icon > .CRPS__hamburger {
    transform: rotate(45deg);
}
.CRPS__menu-btn__style:checked + .CRPS__menu-icon > .CRPS__hamburger::before {
    top: 0;
    transform: rotate(90deg);
}
.CRPS__menu-btn__style:checked + .CRPS__menu-icon > .CRPS__hamburger::after {
    background: transparent;
}
.CRPS__menu-btn__style:checked + .CRPS__menu-icon > .CRPS__menu_txt {
    width: 3.6em;
}
.CRPS__menu-btn__style:checked + .CRPS__menu-icon > .CRPS__menu_txt::after {
    content:'CLOSE';
}

/* Generic pages */
.gen__title {
    padding: 1em 0;
}
.gen-header {
    margin: 2em auto;
    padding: 2em;
    text-align: center;
}
.dark {
    background: var(--primary--dark);
    color: var(--primary-contrast);
}
.bg__mid {
    background: var(--primary-clr);
    color: var(--secondary-contrast);
}
.bg__lite {
    background-color: var(--tertiary-contrast);
    color: var(--dark-clr);
}
.bg__lighter {
    background-color: var(--secondary-contrast);
    color: var(--primary--dark);
}

/*index page styling*/
.bgmain {
    background-image: url("images/Country.jpg");
    background-repeat: no-repeat;
    background-attachment: fixed;
}
.main__hero {
    display: block;
    border-radius: 1.5em;
    background:var(--secondary-contrast);   
    margin: 2em auto;
    padding: 1em;
    max-width: 28em;
}
.main__hero h2 {
    color: var(--primary--dark);
    text-align: center;
    line-height: 1.2em;
    font-size: 9vw;
}
@media (min-width: 600px) {
    .main__hero h2 {
        font-size: 3rem;
    }
}
@media (min-width: 840px) {
    .main__hero {
        width: 75%;
    }
}
@media (min-width: 1000px) {
    .main__hero {
        width: 50%;
    }
}
.main__hero-txt {
    font-size: 1.2rem;
    color: var(--dark-clr);
    text-align:center;
    margin: .25em 0 0;
    line-height: 1.5em;
    font-weight: 500;
}
.section__title {
    background: var(--tertiary-contrast);
    color: var(--dark-clr);
    font-weight: 500;
    padding: 2em 0 2em;
    text-align: center;
}
.section__title h2 {
    color: var(--primary--dark);
}
.section__title p {
    margin: .5em 0;
}
.services {
    background: var(--primary-clr);
    padding: 2em 0;
}
.services a:link,
.services a:visited,
.services a:active {
    color: var(--primary--dark);
}
.services__content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}
.services__card {
    width: 300px;
    background: var(--primary-contrast);
    padding-bottom: .5rem;
}
.services__img {
    width: 300px;
    height: 300px;
}
.services__text {
    padding: .8rem .5rem 1rem;
    text-align: center;
    height: 11rem;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}
.services__text h4 {
    color: var(--primary--dark);
}
.services__text p {
    margin: .5em .5em 0;
    color: var(--dark-clr);
    font-weight: 500;
}
.services__img:hover {
    opacity: 50%;
}
.services__card:hover h4 {
    color: var(--tertiary-clr)
}

/* Objects */
.btn {
    display: inline-block;
    border-radius: 3em;
    font-weight: 500;
}
.btn__hero {
    padding: .5em 1em .6em;
    background: var(--primary-clr);
    color:var(--primary-contrast);
}
.btn__hero:hover {
    background: var(--tertiary-clr);
}
.card {
    margin:.5em;
    border-radius: 1em;
    overflow: hidden;
}

.btn__crps {
    border: 2px solid var(--primary-contrast);
}
.btn-large {
    padding: .5em 1em;
    font-size: 1rem;
}
.btn-light {
    color: var(--primary-contrast);
}
.btn-light:hover {
    background: var(--highly-specialist);
    color: var(--primary-contrast);
}

/* Main About page*/
.aboutmain {
    padding: 2em 0;
}
.about__logo {
    width: 75px;
}
.about__col {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.about__txt {
    text-align: justify;
    padding: 0 1em;
    margin: 0 auto;
    font-size: 1.4rem;
    line-height: 1.3em;
}
.about__txt h3 {
    color: var(--highlight-clr);
    text-align: center;
}
.about__txt a {
    color: var(--link-light);
}
.about__txt a:hover {
    color: var(--link-mid);
}
.about__img {
    width: 500px;
    margin-bottom: 2.5em;
    border-radius: .75em;
    max-width: 90%;
}

@media (min-width: 1000px) {
    .about__col {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        margin: 2em auto;
        max-width: 1000px;
    }
    .about__txt {
        max-width: 50%;
        padding: 0 1.5em;
    }
    .about__img {
        max-width: 50%;
        margin: 0;
    }
}

/* Referral pages */
.crps-ref {
    background: var(--highly-specialist);
}
.halfnhalf {
    margin: 0 auto 2em;
    padding: 2em;
    background-color: var(--secondary-contrast);
    display: flex;
    flex-direction: column;
}
.half strong {
    font-weight: 600;
}
.half {
    width: 100%;

}
@media (min-width:840px) {
    .halfnhalf {
        flex-direction: row;
    }
    .half {
        width: 50%;
        padding: 1em;
    }
}
.half table, .half tr {
    margin-left: -.1em;
}
.half td {
    padding: 0 0 .5em 0;
}
.table__title {
    width: 9em;
    vertical-align: top;
}

/* Contact page */
.contacts {
    background: var(--secondary-clr);
    padding: 2em 0;
}
.contact__content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}
.contact__card {
    width: 320px;
    background: var(--primary-contrast);
    border: var(--dark-clr) solid 3px;
    line-height: 1.3;
}
.contact__title {
    display: flex;
    align-items: center;
    height: 7em;
    font-weight: 600;
    background: var(--tertiary-contrast);
    margin: 0;
    padding: 1em;
    border-bottom: var(--primary--dark) solid 2px;
}
.contact__text {
    padding: .6em 1em 2em;
    height: 16em;
}
.contact__text strong {
    font-weight: 600;
}
.phone {
    height: 5em;
    width: 100%;
    bottom: 0;
    margin: 0;
    padding: .6em 1em;
    background: var(--secondary-contrast);
    border-top: var(--primary--dark) solid 2px;
}
.phone a,
.phone a:visited,
.phone a:active {
    color: var(--link-mid);
}
.phone a:hover {
    color: var(--link-light);
}
.contact__link {
    font-size: 1rem;
}

/* CRPS/CCLERS index styling*/
.hero {
    background: var(--primary-clr);
}
.hero__flex {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    flex-wrap: wrap;
    padding: 0;
}
.hero__hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4em 0 1em;
    text-align: center;
    color: var(--primary-contrast);
    max-width: 100%;
}
.hero__hero h1 {
    font-size: 10vw;
}
.hero_txt {
    padding: .5em;
    font-size: 1.2rem;
    width: 80%;
}
.hero_content {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    margin: 0;
    max-width: 100%;
    padding: 1em;
}
.hero_box {
    width: 8em;
    padding: .5em;
    overflow: hidden;
    text-align: center;
    font-size: 1em;
}
.hero_box a {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.hero_img { 
    display: block;
    width: 7em;
    height: 6em;
    border-radius: .3em;
}
.hero_content_txt {
    padding: .5em 0;
    font-size: 1em;
}

@media (min-width: 800px) {
    .hero__hero h1 {
        font-size: 4.5rem;
    }
    .hero_txt {
        font-size: 1.5rem;
    }
}
@media (min-width: 900px) {
    .hero__flex {
        flex-direction: row;
        justify-content: space-evenly;
        align-items: center;
        flex-wrap: wrap;
    }
    .hero__hero {
        padding: 3em 2em 3em 0;
        text-align: center;
        color: var(--primary-contrast);
        max-width: 50%;
        font-size: 1.8rem;
    }
    .hero__hero h1 {
        font-size: 4rem;
    }
    .hero_txt {
        padding: 1em;
        width: 90%;
        font-size: 1.8rem;
    }
    .hero_content {
        justify-content: space-evenly;
        flex-wrap: wrap;
        margin: 0;
        max-width: 50%;
        padding: 1em;
    }
    .btn-large {
        font-size: 1.5rem;
    }
}

.hero_content a {
    color: var(--primary-contrast);
}
.hero_content a:hover,
.hero_content a:focus,
.hero_content a:focus-within {
    color: var(--bright-link);
}
.hero_img:hover {
    filter: invert(100%);
}

/* About the CRPS service page*/
.CRPS__background {
    background-image: url("images/beach.jpg");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: 100%;
}
.crps__main {
    width: 90%;
    max-width: 1200px;
    margin: 4em auto;
    padding: 0;
}
.zigzag {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    overflow: hidden;
    background: var(--primary-contrast);
}
.zz-next {
    margin-top: 2em;
}
.curve {
    border-radius: .5em;
}
.box__txt {
    background: var(--primary-contrast);
    padding: 1em;
    text-align: center;
}
.img__block {
    display: block;
    width: 100%;
}

@media (min-width:840px) {
    .crps__main {
        width: 80%;
    }
    .zigzag {
        max-width: 48%;
    }
    .zz-left {
        flex-direction: row;
    } 
    .zz-right {
        flex-direction: row-reverse;

    }
    .zz-right__frame {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        width: 100%;
    }
    .zz-next {
        margin-top: -4em;
    }
}

/* What is CRPS */
.what {
    margin: 4em 0 0;
}
.bg-dark {
    background: var(--primary--dark);
    color: var(--primary-contrast);
}
.what__section {
    margin: 0 auto;
    width: 100%;
    text-align: center;
    max-width: 1600px;
}
.what__hero {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4em 0;
    width: 100%;
}
.what__hero h2 {
    font-weight: 500;
    text-align: center;
    line-height: 1.2;
}
.what__hero em {
    display: inline-block;
    padding-bottom: .5em;
    font-family: Georgia;
}
.what__hero p {
    margin: 0 auto;
    padding: 2em 1em 0;
    width: 100%;
    font-size: 1.5rem;
    line-height: 1.5;
}
.two-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.two-col__txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 1em;
    text-align: left;
}
.two-col__txt h5 {
    font-size: 1.3rem;
    font-weight: 400;
    text-align: left;
    padding: 1em 1em 0;
}
.two-col__txt em {
    font-family: Georgia, 'Times New Roman', Times, serif;
}
.two-col__txt p {
    margin: 0;
    padding: 1em;
    font-size: 1.3rem;
}
.what__img {
    display: block;
}
.what__img {
    width: 100vw;
    border-radius: 0;
}
.what__serif {
    font-family: Georgia;
}


@media (min-width: 840px) {
    .what__hero {
        width: 90%;
    }
    .what__hero h2 {
        width: 70%;
        font-size: 4rem;
    }
    .what__hero p {
        width: 80%;
        line-height: 1.8;
    }
    .two-col {
        flex-direction: row;
    }
    .two-col__txt {
        align-items: flex-start;
        width: 50%;
        padding: 1em;
    }
    .two-col__txt h5 {
        padding: 0 1em;
        font-size: 1.8rem;
    }
    .two-col__txt p {
        font-size: 1.6rem;
    }
    .what__img {
        width: 50%;
    }

}

@media (max-width: 400px) {
    .what__hero h2 {
        font-size: 2.5rem;
    }
    .what__hero p {
        line-height: 1.2;
        font-size: 1.2rem;
    }
    .two-col {
        width: 100%;
    }
}

/* CCLERS referral page*/
.cclers-ref {
    background: var(--primary-clr);
}