*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    /*---- Creating variables that can be used elsewhere ----*/
    --font-body: "Roboto", sans-serif;
    --font-nav-head: "Cormorant Garamond", sans-serif;
    --font-Cormorant: "Cormorant Garamond", sans-serif;
    --font-title: "Libertinus Sans", sans-serif;
    --font-title-accordian: "Cinzel", serif;
    --font-roboto: "Roboto", sans-serif;
    --font-roboto-c: "Roboto Condensed", sans-serif;
    --font-playfair-display: "Playfair Display", serif;
    --main: #680004;
    --secondary: #293a4e;
    --accent: #aa1c1c;
    --dot: #509dd0;
    --white: #fff;
    --off-white: #e7e7e8;
    --grey: #f2f2f2;
    --grey2: #f00;
    --bark: #2b2115;
    --tan: #ae9c86;
    --cyan: #3ecccb;
    --card-background: #b8cadd;
    --greetings-card: #e7e7e8;
    --button: #192633;
    --nav-button: #293A4E;
}
@font-face {
    font-family: "dash";
    src: local('Times New Roman');
    font-weight: 100 900;
    unicode-range: U+002D, U+2013, U+1806, U+2010, U+2014;
}
/*------- Font Guide -------*/

/*---
// <weight>: Use a value from 300 to 700
// <uniquifier>: Use a unique and descriptive class name
.cormorant-garamond-<uniquifier> {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.libertinus-sans-regular {
  font-family: "Libertinus Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.libertinus-sans-bold {
  font-family: "Libertinus Sans", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.libertinus-sans-regular-italic {
  font-family: "Libertinus Sans", sans-serif;
  font-weight: 400;
  font-style: italic;
}

// <weight>: Use a value from 400 to 900
// <uniquifier>: Use a unique and descriptive class name

.cinzel-<uniquifier> {
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

// <weight>: Use a value from 100 to 900
// <uniquifier>: Use a unique and descriptive class name

.roboto-<uniquifier> {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

// <weight>: Use a value from 100 to 900
// <uniquifier>: Use a unique and descriptive class name

.roboto-condensed-<uniquifier> {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

// <weight>: Use a value from 400 to 900
// <uniquifier>: Use a unique and descriptive class name

.playfair-display-<uniquifier> {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

 ---*/

 /*---------------- Main CSS ----------------*/

body {
    font-family: "dash", var(--font-body);
    font-weight: 300;
    background: var(--blue);
    color: #1a1a1f;
    font-size: 1.1rem;
}
main {
/*--- 100vh sets height to be 100% of viewport - will center short pages --*/
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
}
h1 {
    color: var(--button);
    font-family: var(--font-playfair-display);
    font-size: 2rem;
    padding: 20px 0 20px 0;
    background: linear-gradient(to bottom, rgb(255, 255, 255, .7) 0%, rgba(0, 0, 0, 0) 100%);
    width: 100%;
    text-transform: uppercase;
    font-weight: 700;
}
.inverse{
    color: var(--white);
    font-family: var(--font-playfair-display);
    font-size: 2rem;
    padding: 20px 0 20px 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
    width: 100%;
}
 h2 {
    color: var(--main);
    font-family: var(--font-Cormorant);
    text-align: left;
    font-size: 2rem;
    padding: 1rem 0;
 }
 .no-padding{
    padding: 0px;
 }
 h3 {
    font-family: var(--font-title);
    color: var(--secondary);
    text-transform: uppercase;
    font-size: 1.9em;
    font-weight: 600;
 }
 h4 {
    text-align: center;
    background-color: var(--white);
    font-family: var(--font-Cormorant);
    margin: auto;
    padding: 0px 20px;
    display: inline-block;
    color: var(--button);
    font-size: 1.5rem;
    font-weight: 800;
 }
 .blue-line {
    display: block;
    padding: 0;
    height: 0;
    max-height: 0;
    font-size: 1px;
    margin-bottom: -17px;
    margin-top: 17px;
    line-height: 0;
    border: none;
    border-top-width: medium;
    border-top-style: none;
    border-top-color: currentcolor;
    border-bottom-width: medium;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
    border-top: 1px solid var(--button);
    border-bottom: 1px solid var(--button);
    text-align: center;
  }
  h5 {
    text-align: left;
    padding: .8rem 0;
    font-family: var(--font-roboto-c);
    display: block;
    color: var(--button);
    line-height: 1.1rem;
    font-size: 1.3rem;
    font-weight: 600;
 }
 p {
  padding: .5rem 0 1.2rem 0;
  text-align: left;
  line-height: 1.5rem;
 }
 .text-center {
    text-align: center;
 }
 .scripture {
    font-style: italic;
    padding: .5rem .8rem 1.2rem .8rem;
 }
 .roboto-override {
    font-family: var(--font-roboto);
    font-weight: 300;
 }
 a {
    text-decoration: none;
    color: var(--accent);
 }
 footer {
  color: var(--white);
  width: 100%;
 }
 .footer-wrap {
  margin: auto;
  background-color: var(--main);
  overflow: hidden;
 }
.socials img {
    height: 80px;
    padding: .8rem;
}
/*------- Containers -------*/
.content-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 25px 0px;
    height: auto;
    display: flex;
    flex-direction: column;
  }
.content-container-fullwidth {
  width: 100%;
}
.content-container-setheight {
  overflow: hidden;
  max-width: 100%;
  grid-template-rows: 1;
  display: flex;
  background-color: var(--card-background);
}
.content-container-setheight img {
  max-height: 400px;
  display: flex;
  object-fit: cover;
}
.body-content-container-wide {
    width: 1200px;
}
.body-content-container {
    width: 1000px;
    overflow: hidden;
    
}
@media screen and (max-width: 799px) {
    .body-content-container {
        padding: 20px 8px;
    }
}
.body-content-container ul {
    padding: .5rem 0 1.2rem 1.8rem;
    text-align: left;
}
.body-content-container li {
    padding-left: 10px;
}
.Amethyst-box-content-wrap {
  width:  clamp(350px, 100%, 380px);
  min-width: 350px;
  padding: 1.5rem;
  margin: auto;
  justify-content: center;
  display: flex;
  flex-direction: column;
  height: 400px;
  position: relative;
  background-color: var(--card-background);
}
@media screen and (max-width: 799px) {
    .Amethyst-box-content-wrap {
        width: 90%;
        height: auto;
    }
}
.img-left {
    width: auto;
    align-items: center;
    justify-content: center;
    display: flex;
}
@media (max-width: 799px) {
    .img-left {
        width: 100%;
    }
}
.ValaStudios {
    text-align: center;
    font-size: 0.8rem;
    line-height: 24px;
    opacity: 0.5;
}
/*------- Blocks -------*/
.block-red, .block-lightblue, .block-grey, .block-white, .block-scripture, .hero-section, .block-content, .block-content-narrow {
  width: 100%;
  margin: auto;
  align-content: center;
  overflow: hidden;
  padding: 1.1rem;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 799px) {
    .hero-section {
    padding: 0px;
    }
}
.hero-image {
    width: 100%;
    background-image: url(./VS_Trinity_Images/trinity-lutheran-church-altar-crucifix-richmond-bc.jpg);
    background-size: cover;
    height: 680px;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--off-white);
}
@media screen and (max-width: 799px) {
    .hero-image {
    background-position-y: -100px;
    background-position-x: 50%;
    height: auto;
    }
}
.block-hero {
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    max-height: 480px;
}
.block-hero img {
    width: 100%;
    z-index: -100;
    position: absolute;
}
@media screen and (max-width: 799px) {
    .block-hero {
    max-height: 300px;
    }
}
.block-hero-tall {
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    max-height: 680px;
}
.block-hero-tall img {
    width: 100%;
    z-index: -100;
    position: absolute;
}
@media screen and (max-width: 799px) {
    .block-hero-tall {
    max-height: 300px;
    }
}
.block-hero-small {
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    max-height: 680px;
}
.block-hero-small img {
    width: 100%;
    z-index: -100;
    position: absolute;
}
@media screen and (max-width: 1124px) {
    .block-hero-small {
    max-height: 360px;
    }
}
@media screen and (max-width: 899px) {
    .block-hero-small {
    max-height: 300px;
    }
}
@media screen and (max-width: 799px) {
    .block-hero-small {
    max-height: 200px;
    }
}
.block-banner{
  width: 100%;
  height: auto;
  padding: 0px;
  display: flex;
}
.block-banner img {
    object-fit: cover;
    width: 100%;
    max-height: 500px;
}
.block-content-narrow {
    gap: 20px;
    align-items: center;
    justify-content:flex-start;
    width: 355px;
}
@media screen and (max-width: 400px) {
    .block-content-narrow {
        width: 100%;
    }
}
.block-content {
    gap: 20px;
    align-items: center;
}
.block-red {
    background-color: var(--main);
    color: var(--white);
    padding: 2rem 0px;
}
.block-red a {
    color: var(--white);
    text-decoration: none;
}
.block-lightblue {
  background-color: var(--card-background);
}
.block-grey {
  background-color: var(--grey);
}
.block-scripture p {
    margin: auto;
    max-width: 1000px;
    font-size: 1.8rem;
    font-weight: 600;
    font-style: italic;
    font-family: var(--font-Cormorant);
}
.hero-amethyst-box {
    width: clamp(300px, 50%, 400px);
    padding: 1.5rem;
    background: var(--off-white);
}
@media screen and (max-width: 799px) {
    .hero-amethyst-box {
    width: 100%;
    margin-top: 80px;
    }
}
#map {
    width: 100%;
}
/*------- Buttons ------*/
.button-round-left, .button-round-center, .button-round {
  background-color: var(--button);
  padding: .5rem 2rem;
  border-radius: 3rem;
  color: var(--white);
  font-weight: 400;
  text-decoration: none;
  align-self: flex-start; /*--- Prevents full width button ---*/
  transition: all .2s ease-in;
  font-family: var(--font-roboto-c);
}
.button-round-left:hover, .button-round-center:hover, .button-round:hover {
  transition: all .2s ease-in;
  background-color: var(--accent);
}
.button-round-left {
  float: left;
}
.button-round-center {
  margin: auto;
}
.button-round {
    margin: 12px 5px;
    display: inline-block;
}
.link-white {
    color: white;
    text-decoration: none;
}
.link-white:hover {
    transition: all .2s ease-in;
    color: var(--card-background);
}
/*------- Icons --------*/
.icon-contact {
    height: 40px;
    display: flex;
}
/*------- Clears Spacers -------*/
.spacer-slim {
    clear: both;
    height: 50px;
    width: 100%;
}
@media screen and (max-width: 600px) {
    .spacer-slim {
        height: 15px;
    }
}
.spacer-thicc {
    clear: both;
    height: 400px;
    width: 100%;
}
@media screen and (max-width: 600px) {
    .spacer-thicc {
        height: 80px;
    }
}
.spacer-thiccer {
    clear: both;
    height: 560px;
    width: 100%;
}
@media screen and (max-width: 1079px) {
    .spacer-thiccer {
        height: 400px;
    }
}
@media screen and (max-width: 600px) {
    .spacer-thiccer {
        height: 150px;
    }
}
.spacer-grey {
    background-color: var(--grey);
    height: 1px;
    width: 100%;
    clear: both;
    margin: 1rem 0;
}
/*------- Breaks -------*/
.break-thicc {
  clear: both;
  height: 25px;
  width: 100%;
}
.break-thin {
  clear: both;
  height: 5px;
}

/*------- Columns -------*/
.col-3 {
  display: flex;
  flex-direction: row;
  gap: clamp(10px, 5vw, 100px);
  justify-content: center;
  margin: auto;
  align-content: space-between;
}
.col-3 div {
    padding: 5px;
}
@media screen and (max-width: 799px) {
    .col-3 {
        flex-direction: column;
    }
}
.col-3 img {
    padding-bottom: 1rem;
    height: 100px;
    max-width: 100px;
}
.col-2 {
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: center;
  align-items: center;
}
.img-right {
    width: auto;
}
.col-2-50 {
    width: 50%;
    align-items: center;
    justify-content: center;
    display: flex;
}
@media (max-width: 799px) {
    .col-2-50 {
        width: 100%;
    }
}
.col-2-front {
    display: flex;
    flex-direction: row;
    gap: 0px;
    justify-content: center;
    align-items: center;
}
@media (max-width: 799px) {
  .col-2-front {
    width: 100%;
    flex-direction: column;
    padding-top: 20px;
  }
  .col-2-front img {
    height: auto;
    width: 100%;
  }
}
.col-2-wide {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}
@media screen and (max-width: 550px) {
    .col-2-wide {
        flex-direction: column;
    }
}
.col-2-wide p {
    text-align: center;
}
.col-2-wide-block {
    margin-bottom: 30px;
}
.col-2-left {
    display: flex;
    flex-direction: row;
    justify-content: left;
}
.col-2-first {
    min-width: 150px;
    text-align: right;
    color: var(--main);
    font-weight: 400;
}
.col-2-staff {
    display: flex;
    flex-direction: row;
    gap: 35px;
}
@media (max-width: 799px) {
  .col-2 {
    width: 100%;
    flex-direction: column;
    padding-top: 20px;
  }
  .col-2 img {
    height: auto;
    width: 100%;
  }
  .col-2-left {
    flex-direction: column;
  }
  .col-2-first {
    text-align: left;
  }
  .col-2-staff {
    flex-direction: column;
  }
}
.staff-profile {
    max-height: 290px;

}
/*---------- Calendar ----------*/
@media (max-width: 550px) {
   .big-container {
       display: none;
   }
}
@media (min-width: 550px) {
   .small-container {
       display: none;
   }
}
/* Responsive iFrame */
.responsive-iframe-container {
   position: relative;
   padding-bottom: 56.25%;
   padding-top: 30px;
   height: 0;
   overflow: hidden;
}
.responsive-iframe-container iframe,   
.responsive-iframe-container object,  
.responsive-iframe-container embed {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}
/*---------- Accordian ----------*/
.faq_container {
    width: clamp(300px, 100%, 1000px);
    margin: 24px auto;
}
details summary .icon svg{
    height: 24px;
    display: flex;
}
details .accordian_content img{
    width: 100%;
    max-height: 200px;
    object-fit: cover;
    margin: 16px 0;
    box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.2);
}
details .accordian_content{
    padding: 16px;
    line-height: 1.8;
    font-size: 1.1rem;
    /*--- Compensate for margin added for margin in details ---*/
    margin-top: -10px; 
    border-bottom: var(--grey) solid 1px;
    font-weight: 300;
}
details p {
    padding: .5rem;
}
details ul, details ol {
    padding-left: 35px;
    text-align: left;
}
details li {
    padding-left: 10px;
}
details ol {
    font-family: var(--font-title);
}
details ol p {
    font-family: var(--font-body);
}
details summary {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 24px;
    background: var(--white);
    color: black;
    user-select: none;
    transition: all 120ms ease;
    font-family: var(--font-title-accordian);
    font-size: 1.5rem;
    font-weight: 500;
    border-bottom: var(--grey) solid 1px;
    text-align: left;
}
details h5 {
    padding-left: 8px;
}
details {
    background: var(--white);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 12px;
}

/*----- Hides default v arrow ----*/
details summary::-webkit-details-marker{
    display: none;
}
details[open] summary {
    background: var(--white);
    margin-bottom: 10px;
    border-bottom: none;
}
details summary .icon {
    transition: all 120ms ease;
}
details[open] summary .icon {
    rotate: 180deg;
}
/*---------------- Swiper CSS ----------------*/
.container {
    justify-content: center;
    align-items: center;
    display: flex;
    width: 100%;
    clear: both;
    margin-bottom: 20px;
}
.slider-wrapper {
    overflow: hidden;
    max-height: 290px;
    margin: 0 0px 55px;
}
.card-list .card-item{
    color: #fff;
    user-select: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.card-list .card-item .card-image{
    width: 100%;
}

.slider-wrapper .swiper-pagination-bullet {
    background: var(--button);
    height: 15px;
    width: 15px;
}

.slider-wrapper .swiper-slide-button {
    color: var(--button);
    margin-top: -50px;
    transition: 0.2s ease;
    display: none;
}

.slider-wrapper .swiper-slide-button:hover {
    color: var(--main);
}

/*--- Hides buttons ---*/
@media (max-width: 768px) {
    .slider-wrapper{
        margin: 0 0px 40px;
    }

    .slider-wrapper .swiper-slide-button {
        display: none;
    }
}
/*---------------- Horizontal Cards ---------------*/
/*--::-webkit-scrollbar {
    height: auto;
}
::-webkit-scrollbar-track {
    background-color: var(--white);
    border-radius: 25px;
}
::-webkit-scrollbar-thumb {
    background-color: var(--button);
    border-radius: 25px;
}
::-webkit-scrollbar-thumb:hover {
    background-color: var(--accent);
}--*/
.card-container {
    width: 100%;
    display: flex;
    gap: 12px;
    scroll-snap-type: x mandatory;
    overflow-x: scroll;
    height: 420px;
    scroll-padding: 30px;
    scroll-snap-align: center;
}
.card-top {
    background-color: var(--card-background);
    padding: 30px;
    border-radius: 15px 15px 0 0;
    border: var(--main) thin solid;
    border-bottom: none;
}
.card-bot {
    background-color: var(--white);
    padding: 0 30px 30px 30px;
    border-radius: 0 0 15px 15px;
    border: var(--main) thin solid;
    min-height: 250px;
}
.card-container .card {
    display: flex;
    flex-direction: column;
    flex: 0 0 100%;
    scroll-snap-align: start;
    max-width: 400px;
}

.card .card-image {
    width: 100%;
    height: 150px;
    padding: 0px;
}
.card .card-image img {
    height: 100%;
    max-width: 250px;
    object-fit: contain;
    margin: auto;
    display: flex;
}
.card h6 {
    margin-top: 25px;
    color: var(--button);
    font-family: var(--font-roboto-c);
    font-size: 1.3rem;
    font-weight: 600;
    text-align: left;
}
/*---------------- Timeline Images ---------------*/
.timeline-card {
    display: flex;
    flex-direction: column;
    flex: 0 0 100%;
    scroll-snap-align: start;
    max-width: 100%;
    margin-bottom: 8px;
}
.timeline-card {
    margin-top: 4px;
    width: 100%;
}
/*---------------- Timeline ---------------*/
.block_timeline img {
  display:block;
  width:100%;
  height:auto
}
.block_timeline .timeline {
  position:relative;
  padding:45px 0
}
.block_timeline .timeline:before {
  content:'';
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  width: 0;
  height: 100%;
  border-left: 1px solid #cacaca
}
.block_timeline .timeline-row {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 120px;
  font-family: var(--font-roboto);
  font-weight: 300;
}
.block_timeline .timeline-row>* {
  flex-basis: 43%;
}
.block_timeline .timeline-row.reverse {
  flex-direction: row-reverse;
}
.block_timeline .timeline-row:before {
  content:'';
  display: block;
  position: absolute;
  top: 10px;
  left: calc(50% - 13px);
  width: 26px;
  height: 26px;
  border-radius: 13px;
  border: 1px solid #cacaca;
  background: #f7f7f7;
  transform: scale(0);
  -webkit-transition:all 200ms cubic-bezier(.345,.6,.87,1.65);
  -moz-transition:all 200ms cubic-bezier(.345,.6,.87,1.65);
  -o-transition:all 200ms cubic-bezier(.345,.6,.87,1.65);
  transition: all 200ms cubic-bezier(.345,.6,.87,1.65);
  -webkit-transition-timing-function:cubic-bezier(.345,.6,.87,1.65);
  -moz-transition-timing-function:cubic-bezier(.345,.6,.87,1.65);
  -o-transition-timing-function:cubic-bezier(.345,.6,.87,1.65);
  transition-timing-function: cubic-bezier(.345,.6,.87,1.65)
}
.block_timeline .timeline-row.active:before {
  transform: scale(1);
  background: var(--dot);
  /*--- Delays dot appearance ---*/
  transition-delay: .5s;
}
.block_timeline .content {
  font-size: 18px;
}
.block_timeline .content p+ol,
.block_timeline .content p+ul {
  margin-top: -1.5em;
}
.block_timeline .content h3 {
  margin-bottom:.35em;
  font-family: var(--font-roboto-c);
  font-size: 2rem;
}
@media (max-width:786px) {
  .block_timeline .timeline:before {
    left: 30px;
  }
  .block_timeline .timeline-row {
    display: block;
    margin-bottom: 60px;
    padding-left: 50px
  }
  .block_timeline .timeline-row:before {
    left:17px;
  }
  .block_timeline .image {
    margin-bottom: 35px;
    width: 100%;
    height: auto;
  }
}
::selection, ::selection {
  color: #fff !important;
  background: #4b9cd3;
}
.image {
    width: 45%;
    height: 290px;
    object-fit: contain;
}
.image img {
    max-height: 290px;
    width: 100%;
    object-fit: contain;
    margin: auto;
    display: flex;
}
/*--- Timeline side by side image ---*/
.image-double {
    width: 465px;
    height: auto;
    object-fit: contain;
    max-height: 290px;
}
.image-double-block img {
    padding: 2%;
    background-color: var(--grey);
    min-height: 270px;
    object-fit: cover;
}
.image-double-block {
    float: left;
    max-width: 50%;
}

@media (max-width:786px) {
  .image-double {
    width: 100%;
    min-height: 290px;
    object-fit: contain;
    height: auto;
    margin-bottom: 35px;
  }
  .image-double-block {
    width: 50%;
  }
  .image-double-block img {
    max-height: 270px;
  }
}
/*---------------- Resources Slider 2.0 ----------------*/
.r-container {
    justify-content: center;
    align-items: center;
    display: flex;
    width: 100%;
    clear: both;
    margin-bottom: 20px;
}
.r-slider-wrapper {
    overflow: hidden;
    max-width: 1200px;
    margin: 0 70px 55px;
}
.r-card-list .r-card-item{
    color: #fff;
    user-select: none;
    padding: 5px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 8px;
    backdrop-filter: blur(30px);
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.5)
}
.r-card-list .r-card-item .r-name{
    margin-top: 25px;
    color: var(--button);
    font-family: var(--font-roboto-c);
    font-size: 1.3rem;
    font-weight: 600;
    text-align: left;
}
.r-card-list .r-card-item .r-image{
    width: 100%;
    height: 150px;
    max-width: 250px;
    padding: 0px;
    object-fit: contain;
}

.r-card-list .r-card-item .r-subtext{
    font-size: 1.15rem;
    color: var(--button);
    font-weight: 500;
    margin: 14px 0 40px;
}

.r-card-list .r-card-item .r-message-button {
    font-size: 1.25rem;
    padding: 10px 35px;
    color: var(--button);
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    background: #fff;
    border: 1px solid transparent;
    transition: 0.2s ease;
}

.r-card-list .r-card-item .r-message-button:hover{
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid #fff;
    color: var(--main);
}

.r-slider-wrapper .swiper-pagination-bullet {
    background: var(--button);
    height: 15px;
    width: 15px;
}

.r-slider-wrapper .swiper-slide-button {
    color: var(--button);
    margin-top: -50px;
    transition: 0.2s ease;
}

.r-slider-wrapper .swiper-slide-button:hover {
    color: var(--main);
}

/*--- Hides buttons ---*/
@media (max-width: 768px) {
    .r-slider-wrapper{
        margin: 0 10px 40px;
    }

    .r-slider-wrapper .swiper-slide-button {
        display: none;
    }
}
/*---------------- Navigation ---------------*/
.primary_navigation ul li {
  list-style-type: none;
  display: inline;
  font-family: var(--font-nav-head);
}
.primary_navigation ul li a {
  text-decoration: none;
}
/*------- Standard Navigation -------*/
.logo {
    font-size: 1rem;
    display: flex;
    font-family: var(--font-title);
    text-transform: uppercase;
}
.logo-box {
    display: flex;
    align-items: center;
}
@media screen and (max-width: 500px) {
    .logo-box {
        max-width: 200px;
    }
}
.logo img {
    height: 80px;
}
.button-square {
    background-color: #192633;
    color: #fff;
    padding: 8px 26px;
    margin: 12px 5px;
    display: inline-block;
}
a.button-square:hover {
    background-color: var(--grey);
    color: var(--main);
    transition: all .5s ease;
}
.float-right{
    float: right;
    display: none;
}
/*--- Shows float-right past 800px ---*/
@media screen and (min-width: 850px) {
    .float-right {
        display: block;
    }
}
.navigation-wrap{
    width: 100%;
    background: var(--main);
    padding: 0 7%;
}
.navigation-wrap-header{
    width: 100%;
    padding: 0 7%;
}
.navigation {
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 100%;
    margin: 8px 0px;
    font-family: var(--font-nav-head);
}
.navigation a {
    color: #fff;
    text-decoration: none;
    line-height: 1.1em;
    font-size: clamp(0.9rem, 2.5vw, 1.2rem);
}
.navigation ul {
    list-style: none;
    display: flex;
    font-weight: 600;
    font-size: clamp(.9rem, 1vw, 1rem);
    gap: 0px;
    transition: all .5s ease;
}
@media screen and (max-width: 849px) {
    .navigation ul {
        display: none;
    }
}
.navigation li ul {
    flex-direction: column;
}
.navigation li a {
    display: block;
    padding: 20px 12px;
}
.navigation ul li a:hover {
    background: #192633;
    transition: all .5s ease;
}
.navigation ul li a:active {
    background-color: rgb(71, 45, 23);
}
.navigation ul li {
    position: relative;
}
.navigation li ul {
    width: 100%;
    position: absolute;
    text-align: left;
    display: none;
    z-index: 5;
}
.navigation li:hover ul {
    display: block;
    min-width: 200px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
}

/*------- Animated Dropdown -------*/
.navigation li ul {
    animation: growDown 300ms ease-in-out forwards;
    transform-origin: top center;
    background-color: var(--main);
}
/*-- Sets Ease --*/
@keyframes growDown {
    0% {
        transform: scaleY(0)
    }
    80% {
        transform: scaleY(1.1)
    }
    100% {
        transform: scaleY(1)
    }
}

/*------- Animated Mobile Navigation css -------*/
#menu-toggle {
    position: fixed;
    top: 1.5rem;
    right: 1.75rem;
    z-index: 100;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    background: var(--button);
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
    transition: background 0.3s, transform 0.3s;
}

#menu-toggle:hover {
    background: var(--accent);
    transform: scale(1.06);
}

/*--- Creates hamburger lines with the spans ---*/
#menu-toggle span {
    display: block;
    width: 1.35rem;
    height: 2px;
    background: var(--white);
    border-radius: 2px;
/*--- Close icon animation ---*/
    transition:
        transform 0.4s cubic-bezier(0.7, 0, 0.2, 1),
        opacity 0.3s,
        width 0.3s;
}
/*--- Hides Mobile Menu ---*/
@media screen and (min-width: 850px) {
    #menu-toggle {
        display: none;
    }
}

/*--- Hamburger animation ---*/
#menu-toggle.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
#menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}
#menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
    width: 0;
}

#menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 90;
    background: var(--secondary);
    display: flex;
    flex-direction: column;
    pointer-events: none;
/*--- Allows scrolling ---*/
    overflow-y: auto;
    overflow-x: hidden;
/*--- Animation for menu - hides menu behind circle ---*/
/*--- 1st number Radius size - 2nd number x (In this case a calculation) - 3rd y position ---*/
/*--- Radius of 0% hides it ---*/
    clip-path: circle(0% at calc(100% - 2.625rem) 2.625rem);
    transition: clip-path 0.75s cubic-bezier(0.76, 0, 0.24, 1);
}

#menu-overlay.is-open {
    pointer-events: auto;
/*--- Radius above 100% to cover full page when open ---*/
    clip-path: circle(170% at calc(100% - 2.625rem) 2.625rem);
}

.menu-inner {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 5rem 2rem 3rem;
    width: 100%;
    max-width: 1400px;
    font-family: var(--font-nav-head);
}

/*--- Padding for larger screens ---*/
@media (min-width: 768px) {
    .menu-inner {
        padding: 5rem 5rem 3rem;
    }
}

.menu-label {
    font-size: 1rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--white);
    font-weight: 600;
    margin-bottom: 2rem;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5x, transform 0.5s;
}
.menu-label a {
    color: var(--white);
    text-decoration: none;
}
#menu-overlay.is-open .menu-label {
    opacity: 1;
    transform: translateY(0);
}
/*--- Sets menu structure as vertical ---*/
.menu-nav {
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 0;
}

.menu-item {
    /*--- Hides text for animation ---*/
    overflow: hidden;
    border-top: 1px solid var(--grey);
}
/*--- Sets border on bottom for last navigation item ---*/
.menu-item:last-child {
    border-bottom: 1px solid var(--grey);
}
/*--- Numbers beside links ---*/
.menu-link-wrap {
    display: flex;
    align-items: center;
    /*--- sets numbers to far right ---*/
    justify-content: space-between;
    padding: 0.1rem 0;
}

.menu-link {
    font-family: var(--font-display);
    font-size: 30px;
    line-height: 1;
    text-decoration: none;
    color: var(--white);
    letter-spacing: 0.01em;
    /*--- Animation slide in ---*/
    transform: translateY(110%);
    transition:
        transform 0.7s cubic-bezier(0.76, 0, 0.24, 1),
        color 0.25s;
    padding: 0.3rem 0;
    /*--- Delays menu items popping up ---*/
    transition-delay: var(--delay, 0s);
    /*--- important for underline ---*/
    position: relative;
}

/*--- Reveals text hidden for animation upon menu open ---*/
/*--- Inverses .menu-item overflow:hidden for animation ---*/
#menu-overlay.is-open .menu-link {
    transform: translateY(0)
}
/*--- Underline animation ---*/
.menu-link::after {
    content: "";
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    width: 0;
    height: 3px;
    background: var(--card-background);
    transition: width 0.35s cubic-bezier(0.76, 0, 0.24, 1);
    border-radius: 2px;
}
/*--- Enables animation on hover ---*/
.menu-link:hover::after {
    width: 100%
}
/*--- Colours menu item on hover ---*/
.menu-link:hover {
    color: var(--card-background);
}

.menu-number {
    font-family: var(--font-body);
    font-size: 0.7rem;
    color: #4a4a55;
    letter-spacing: 0.15em;
    font-weight: 500;
    /*--- Animation ---*/
    transform: translateY(10px);
    /*--- pulls delay from section? ---*/
    transition:
        transform 0.4s var(--delay, 0s),
        opacity 0.4s var(--delay, 0s);
    padding-bottom: 0.6rem;
    /*--- Positions number at bottom ---*/
    align-self: flex-end;
}

#menu-overlay.is-open .menu-number {
    opacity: 1;
    transform: translateY(0);
}

.menu-tag {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: var(--accent);
    color: #fff;
    padding: 0.2em 0.6em;
    border-radius: 2px;
    /*--- Positions tag at top ---*/
    align-self: flex-start;
    margin-top: 0.3rem;
    opacity: 0;
    /*--- To scale it up ---*/
    transform: scale(0.8);
    /*--- 1st # = time, 2nd # = delay before animation ---*/
    transition:
        opacity 0.4s 0.5s,
        transform 0.4s 0.5s;
}

#menu-overlay.is-open .menu-tag {
    opacity: 1;
    transform: scale(1);
}

.menu-footer {
    border-top: 1px solid var(--grey);
    padding-block: 2rem;
    margin-top: 1rem;
    display: flex;
    /*--- Sets flex to be vertical instead of horizontal ---*/
    flex-direction: column;
    gap: 1.5rem;
    /*--- Hides text ---*/
    opacity: 0;
    transform: translateY(16px);
    transition:
        opacity 0.5s,
        transform 0.5s;
}
#menu-overlay.is-open .menu-footer {
    opacity: 1;
    transform: translayeY(0);
}

/*--- Display social media on right when not mobile view ---*/
@media (min-width: 640px) {
    .menu-footer{
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
    }
}
/*--- Start a project text or p text in .menu-contact ---*/
.menu-contact p {
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--grey);
    margin-bottom: 0.4rem;
}

.menu-footer a {
    font-size: 1.1rem;
    color: var(--white);
    font-weight: 500;
    text-decoration: none;
    transition: color 0.25s;
}

.menu-contact a:hover {
    color: var(--card-background);
}

.menu-socials {
    display: flex;
    gap: 1.5rem;
}

.menu-socials a {
    background-color: var(--button);
    padding: .5rem 2rem;
    border-radius: 3rem;
    color: var(--white);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--grey);
    text-decoration: none;
    transition: color 0.25s;
    transition: all .2s ease-in;
}
.menu-socials a:hover {
    transition: all .2s ease-in;
    background-color: var(--card-background);
    color: black;
}