@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');
:root {
  --orange: rgb(207, 72, 38);
  --blue: rgb(37, 80, 207);
  --lightGrey: rgb(230, 230, 230);
  --darkGrey: rgb(68, 68, 68);
}
html {
  scroll-behavior: smooth;
}
body {
  overflow: visible;
}
a {
  text-decoration: none;
  color: var(--darkGrey);
}

p a {
  text-decoration: underline;
  color: var(--blue);
}

p a:hover {
  text-decoration: underline;
  color: var(--orange);
}

h1, h2, h3, h4, p, i {
  overflow-y: hidden;
  line-height: 1.4;
}
h1, h2, h3, h4 {
  text-transform: uppercase;
  letter-spacing: 0.2rem;
  font-weight: 400;
  font-family: "Nunito Sans", Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  color: var(--darkGrey);
}
h1 {
  font-size: 2.2rem;
  margin-bottom: 0.2rem;
}
h2 {
  font-size: 1.2rem;
  margin-bottom: 0.2rem;
}
h3 {
  font-size: 1rem;
  margin-bottom: 0.2rem;
}
h4 {
  font-size: 0.9rem;
  text-transform: none;
}
p {
  font-weight: 400;
  font-family: "Nunito Sans", Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  color: var(--darkGrey);
  font-size: 1.1rem;
}
p:not(:last-child) {
  margin-bottom: 1rem;
}
.section ul, li {
  overflow-x: visible;
}
.section ul {
  list-style: outside disc;
  margin: 1rem 0;
  padding: 0 2rem;
  font-weight: 400;
  font-family: "Nunito Sans", Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  color: var(--darkGrey);
  font-size: 1.1rem;
  line-height: 1.4;
}
.section ul b {
  font-weight: 700;
}
.section li {
  margin-bottom: 0.5rem;
}
.nav-links li a[aria-current="page"]:hover {
  color: var(--darkGrey);
}
.nav-links li a[aria-current="page"]::before {
  width: 100%;
  background: var(--orange);
}
.nav-links li a[aria-current="page"]:hover::before {
  width: 100%
}
#navbar {
  box-shadow: 2px 2px 8px -6px #101a67;
}
#mobileMenuTrigger {
  border: none;
  background-color: transparent;
  cursor: pointer;
}
#mobileMenuTrigger div {
  width: 30px;
  height: 3px;
  background-color: var(--darkGrey);
  margin: 5px;
  border-radius: 5px;
  transition: transform 0.5s ease;
}
.nav-logo-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 30px;
}
.nav-links {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  font-family: "Nunito Sans", Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin: 30px 0px 0px;
}
.nav-links li {
  border-bottom: 1px solid rgba(73, 80, 160, 0.123);
  padding: 10px 0px 40px;
}
.nav-links li a:hover {
  color: var(--orange);
}
.nav-links-container {
  max-height: 0px;
  overflow-y: hidden;
  transition: max-height 0.5s ease-in-out;
}
#subNav {
  position: fixed;
  bottom: 0px;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#mobileSubMenuTrigger {
  border: none;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  font-family: "Nunito Sans", Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  color: white;
  background-color: var(--blue);
  border-radius: 30px;
  padding: 10px 15px;
  margin: 0.5rem;
  display: flex;
  gap: 10px;
  align-items: center;
}
.textOpen, .textClose {
  overflow-y: hidden;
}
.iconOpen, .iconClose {
  overflow-y: hidden;
}
.iconOpen i, .iconClose i {
  vertical-align: middle;
  overflow-y: hidden;
}
.textClose, .iconClose {
  display: none;
}
.textOpen, .iconOpen {
  display: flex;
}
.subNav-links-container {
  max-height: 0px;
  overflow-y: hidden;
  transition: max-height 0.5s ease-in-out;
}
.subNav-links {
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  font-weight: 700;
  font-family: "Nunito Sans", Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  font-size: 1rem;
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 1rem;
  align-items: center;
}
.subNav-links li a {
  display: flex;
  color: white;
  padding: 15px;
  overflow-y: hidden;
  border-radius: 30px;
  background-color: var(--blue);
}
.subNav-links li a:hover {
  background-color: var(--darkGrey);
}
.active {
  max-height: 2000px;
}
.active .line1 {
  transform: rotate(-45deg) translate(-7px, 6px);
}
.active .line2 {
  opacity: 0;
}
.active .line3 {
  transform: rotate(45deg) translate(-5.2px, -4px);
}
.active .textClose, .active .iconClose {
  display: flex;
}
.active .textOpen, .active .iconOpen {
  display: none;
}
#footer {
  background-color: var(--darkGrey);
  text-align: center;
  padding: 1rem;
}
#footer h3 {
  color: white;
}
.hasSubNav {
  padding-bottom: 4.5rem !important;
}
.section {
  padding: 20px 0px;
}
.hasHeroImage {
  padding-top: 0;
}
.video {
  max-width: 720px;
  margin: 0px auto;
  margin-top: 2rem;
}
.video > div {
  position: relative;
  padding-bottom: 56.25%;
  height: 0px;
}
.video iframe {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}
.isLightGrey {
  background-color: var(--lightGrey);
}
.isDarkGrey {
  background-color: var(--darkGrey);
}
.isOrange {
  background-color: var(--orange);
}
.isBlue {
  background-color: var(--blue);
}
#imageHeader {
  max-width: 1400px;
  margin: auto;
  background-image: url("../gfx/ImageHolder.jpg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 3rem 2rem;
}
.headerTextBlock {
  display: flex;
  flex-direction: column;
  text-align: center;
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.5);
  width: fit-content;
  margin: auto;
  border: 2px solid white;
}
.headerTextBlock h1, .headerTextBlock h2, .headerTextBlock h3 {
  color: white;
  line-height: 1.2;
}
.content {
  padding: 1rem;
  max-width: 1400px;
  margin: auto;
}
.sectionLink {
  display: flex;
  justify-content: flex-end;
}
.routeLink {
  display: flex;
}
.sectionLink a, .routeLink a {
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  font-weight: 700;
  font-family: "Nunito Sans", Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  font-size: 1rem;
  color: white;
  margin-top: 1rem;
  padding: 15px;
  overflow-y: hidden;
  border-radius: 30px;
}
.routeLink a {
  flex-shrink: 0;
  margin: 0;
}
.sectionLink a i, .routeLink a i {
  display: none;
  overflow-y: hidden;
}
.sectionLink a:hover, .routeLink a:hover {
  background-color: var(--darkGrey);
}
.sectionLink a o, .routeLink a o {
  display: none;
}
.sectionLink a o2, .routeLink a o2 {
  display: none;
}
.imageWithText {
  margin-bottom: 2rem;
}
.image {
  overflow-y: hidden;
}
.dayInfo {
  display: flex;
  flex-direction: column;
}
.dayDate {
  margin-bottom: 20px;
}
.dayProfile {
  display: flex;
  margin-bottom: 2rem
}
.dayProfile img {
  width: 100%;
}
.routeProfile {
  overflow-y: hidden;
}
.elevation {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: end;
  padding-bottom: 0.9rem;
}
.distance {
  flex-grow: 1;
}
.distances {
  display: flex;
  justify-content: space-between;
}
.profile {
  margin-top: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--darkGrey);
}
.profile:last-child {
  border: none;
}
.profileImage {
  flex-shrink: 0;
  margin-bottom: 1rem;
  overflow-y: hidden;
}
.profileImage img {
  width: 200px;
  height: 200px;
  border: 5px solid var(--orange);
  border-radius: 50%
}
.profileContent {
  display: flex;
  flex-direction: column;
}
.profileText {
  margin-top: 1rem;
}
.profileLinks {
  margin-top: 1rem;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
}
.profileIcons {
  font-size: 2.5rem;
  overflow-y: hidden;
}
.profileIcons i {
  color: var(--orange);
}
.profileIcons i:hover {
  color: var(--darkGrey);
}
.fileList {
  margin-top: 2rem;
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.fileItem {
  flex-grow: 1;
  flex-basis: 340px;
  min-width: 340px;
	scroll-margin-top: 3rem;
}
.links {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: 0.5rem;
  row-gap: 0.5rem;
  margin-top: 0.5rem;
  margin-bottom: 2rem;
}
.iconLeft i {
  margin-right: 0.5rem;
}
.iconRight i {
  margin-left: 0.5rem;
}
.processStep {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding-top: 1rem;
}
.processIcon {
  display: flex;
  flex-shrink: 0;
  align-items: baseline;
  min-width: 20px;
  align-content: center;
}
.processText {
  display: flex;
  align-items: baseline;
  column-gap: 1rem;
  flex-wrap: wrap;
}
.processText h3 {
  line-height: 1.4;
}

.dailyInfo {
	display: flex;
  column-gap: 1rem;
  flex-wrap: wrap;
	justify-content:center; 
}

.dailyLeft {
	flex-grow: 1;
}

.dailyRoute {
	padding-bottom: 1rem;
	overflow-y: hidden;
}

.dailyRoute img {
	min-width: 300px;
	max-width: 100%;
	max-height: 300px;
	height: 100%;
}

.dailyProfile {
	display: flex;
	flex-grow: 1;
	min-width: 300px;
	padding-top: 2.5rem;
	padding-bottom: 1rem;
}

.dailyProfile img {
	flex-grow: 1;
}

.weather {
	display: flex;
  gap: 1rem;
  flex-wrap: wrap;
	justify-content: center;
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.ww_temp, .ww_hour_icon, .ww_icon_add {
	overflow-y: hidden;
}

#today .sectionLink {
	flex-wrap: wrap;
	column-gap: 1rem;
	justify-content: center;
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid var(--orange);
}

#today {
}

@media screen and (min-width: 410px) {
	
	.dailyRoute img {
		min-width: 400px;
	}
	.dailyProfile {
		min-width: 400px;
	}
}

@media screen and (min-width: 415px) {
  .sectionLink a i, .routeLink a i {
    display: inline;
  }
  .sectionLink a o, .routeLink a o {
    display: inline;
  }
}
@media screen and (min-width: 430px) {
  .sectionLink a o2, .routeLink a o2 {
    display: inline;
  }
}
@media screen and (min-width: 768px) {
  .nav-logo-container {
    justify-content: center;
    padding: 25px 0px 0px;
  }
  #mobileMenuTrigger {
    display: none;
  }
  #subNav {
    position: sticky;
    top: 0;
    align-self: flex-start;
  }
  #mobileSubMenuTrigger {
    display: none;
  }
  .nav-links-container {
    max-height: none;
  }
  .nav-links {
    flex-direction: row;
    justify-content: center;
    margin: 18px 0px 20px;
  }
  .nav-links li {
    border: none;
    padding: 10px 0px;
  }
  .nav-links li a {
    position: relative;
  }
  .nav-links li a::before {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0px;
    height: 2px;
    width: 0px;
    background: var(--darkGrey);
    transition: width 0.5s ease;
  }
  .nav-links li a:hover::before {
    width: 100%;
  }
  .subNav-links-container {
    max-height: none;
  }
  .subNav-links {
    flex-direction: row;
  }
  .section {
    scroll-margin-top: 5rem;
    overflow: visible;
  }
  .hasSubNav {
    padding-bottom: 1rem !important;
  }
  .imageWithText {
    display: flex;
    gap: 2rem;
    margin-bottom: 1rem;
  }
  .imageWithText .image {
    min-width: 200px;
    max-width: 500px;
    flex: 0.5;
    margin-top: auto;
    margin-bottom: auto;
  }
  .imageWithText .text {
    flex: 1;
    margin-top: auto;
    margin-bottom: auto;
  }
  .dayInfo {
    flex-direction: row;
    justify-content: space-between;
  }
  .profile {
    display: flex;
    flex-direction: row;
    gap: 1rem;
  }
  .profileContent {
    flex: auto;
  }
}
@media screen and (min-width: 1025px) {
  #navbar {
    display: flex;
    justify-content: space-between;
    padding: 20px 40px;
    max-width: 1400px;
    margin: auto;
    box-shadow: none;
  }
  .nav-logo-container {
    padding: 0;
  }
  .nav-links-container {
    display: flex;
  }
  .nav-links {
    align-items: center;
  }
}