@charset "utf-8";

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* BASIC CONSCIOUS RESETs +++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* make HTML5 elements block-level for consistent styling */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1 }

/* Basic Form styling */
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }

/* Basic List styling */
ul, ol { margin: 0 0 1.5385em 0; padding: 0 0 0 1em; /* 1.25em; */ }
dd { margin: 0 0 0 3em; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0 }
li { line-height: 1.5385em; } /* 20 */

/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
sub, sup { font-size: 75%; font-size: 0.8462em; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em }

* {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}
*, *:after, *:before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.unselectable {
  -moz-user-select: -moz-none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}

::-webkit-scrollbar {
  width: 0.35em;
  background-color: #152255; /* transparent; */
}
::-webkit-scrollbar-thumb {
  background-color: rgba(255,255,255,0.5);
  border: none;
}
::-webkit-scrollbar-track {
  box-shadow: none;
  background-color: transparent;
}

.fitColumn {
  max-width: 100%;
  height: auto;
}


/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* SITE SPECIFIC styling ++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

html {
  overflow-y: auto;
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  height: 100%;
  width: 100%;
}

body {
  width: 100%;
  background: #FCFCFC;
  color: #152255;
  font-family: 'Rubik', sans-serif;
  font-size: 24px;
  line-height: 1.4em;
  margin: 0px;
  padding: 0em;
  height: 100%;
}

#pageWrapper {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
#mainLeft {
  padding: 2em; /* 1.5em; */
  overflow-x: hidden;
}
#mainRight {
  background: #152255; /* #222; */
  color: rgba(255,255,255,0.9);
  padding: 2em; /* 1.5em; */
  overflow-x: hidden;
}

ul {
  list-style-type: square;
  list-style-position: outside;
  list-style-image: none;
}
ul li {
  line-height: 1.4em; /* 32px; */
  margin: 0px 0px 0.75em 0px;
  padding-left: 0.25em;
}

/* Upcoming wrapper *************************** */
.upcomingWrapper {
  display: block;
  float: left;
  width: 100%;
  height: auto;
}

.upcomingWrapper .imageWrapper {
  display: block;
  float: left;
  width: 100%;
  padding-bottom: 75%; /* 60.69%; /* 66%; */
  background-size: cover; /* cover; */
  position: relative;
  margin-bottom: 1em;
}

.upcomingWrapper .imageWrapper .insideWrapper {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  padding: 0px 0.5rem 0.2rem 0.5rem;
  font-weight: 700;
  line-height: 1.1em;
  margin-bottom: 0px;
  overflow-wrap: break-word;
  text-align: center;
  font-size: 1.75rem;
}

.upcomingWrapper .imageWrapper .insideWrapper .upcomingNumber {
  display: block;
  font-weight: 400;
}

.upcomingWrapper .imageWrapper .insideWrapper .upcomingHeader a {
  text-decoration: none;
  color: #152255;
}

/* Resource Wrapper *************************** */

.resourceWrapper {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 -0.5rem;
}
.rs {
  margin-bottom: 1em;
  padding: 0 0.5rem 1rem 0.5rem;
  overflow: hidden;
}
/* remove ext link styling */
.rs .img a.external-link:after { display: none; }
.rs .img a.external-link { padding: 0px; }

.rs .img a {
  display: block;
  float: left;
  width: 100%;
  height: auto;
}
.rs .img a img {
  width: 100%;
  height: auto;
  box-shadow: 0 8px 6px -6px rgba(0,0,0,.25);
}
.rs .info {
  font-size: 0.8em;
  line-height: 1.25em;
}
.rs .info .link {
  display: block;
  float: left;
  width: 100%;
}
.rs .info .link a {
  word-break: break-all;
}
.rs .info .title {
  display: block;
  float: left;
  width: 100%;
  font-weight: 700;
}

/* Additional Resource Wrapper *************************** */

.addResourceWrapper { }

.addRs {
  margin-bottom: 1em;
}
.addRs a {
  color: tomato; /* inherit; */
  text-decoration: underline;
}

/* HEADER ************************************* */
header {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.headerWrapper {
  display: block;
}

header #logo h1 {
  margin-bottom: 0px; /* 0.5em; */
}
header #burgerMenuWrapper {
  display: flex;
  -moz-user-select: -moz-none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}
/* left side of header */
header #burgerMenuWrapper #logoWrapper {
  flex: 0 0 66.6666%;
}
header #burgerMenuWrapper #logoWrapper h1 {
  margin-bottom: 0px;
  display: inline-block;
}
/* right side of header */
header #burgerMenuWrapper #btnWrapper {
  flex: 0 0 33.3333%;
  text-align: right;
}
/* color for all header links */
header #burgerMenuWrapper a {
  color: #152255;
  text-decoration: none;
}
header #burgerMenuWrapper a#burger {
  color: #152255;
  text-decoration: none;
  display: block;
  float: right;
  margin-top: -0.6125rem; /* -0.5rem; /* -10px; */
  margin-right: -0.325rem;
}
header #burgerMenuWrapper a#burger #burgerIcon,
header #burgerMenuWrapper a#burger #crossIcon {
  float: right;
}
header #burgerMenuWrapper a#burger #burgerIcon svg,
header #burgerMenuWrapper a#burger #crossIcon svg {
  display: block;
  float: right;
}


/* hide for icons */
#crossIcon.hide,
#burgerIcon.hide {
  display: none;
}

header #logo #wide h1,
header #logo #narrow h1 {
  display: inline-block;
}
header #menuList {
  flex: 0 0 100%;
  margin-bottom: 1em;
  max-height: 200px;
  overflow: hidden;
  transition: all 0.2s ease;
}
header #menuList.hide {
  max-height: 0px;
  margin-bottom: 0px;
}
header #menuList ul {
  list-style-type: none;
  display: block;
  float: left;
  width: 100%;
  margin: 0px; padding: 0px;
  border-bottom: 1px solid rgba(21,34,85, 0.35); /* #152255; */
}
header #menuList ul li {
  display: block;
  float: left;
  width: 100%;
  border-top: 1px solid rgba(21,34,85, 0.35); /* #152255; */
  margin: 0px;
  padding: 0px;
}
header #menuList ul li a {
  display: block;
  float: left;
  width: 100%;
  padding: 0px 1em;
  line-height: 2em;
  text-align: center;
  color: #152255;
}

header #menuList ul li a.activeAnchor {
  text-decoration: line-through;
}


/* workshops ********************************* */
.workshopWrapper {}

.ws {
  margin-bottom: 0.65em;
}
.ws .number {
  display: block;
  float: left;
  width: 2em;
}
.ws .info {
  margin-left: 3em; /* 2.5em; /* 2.125em; */
}


.feather {
  width: 48px;
  height: 48px;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* TYPE STUFF */

h1, h2, h3, h4, h5, h6 {
  font-weight: 700; /* bold; /* normal; */
  /* line-height: 1.25rem;  */
  margin: 0px 0px 0.5rem 0px;
}
#mainRight {
  text-align: left; /* right; */
  font-weight: 400 !important;
}
.noFat {
  font-weight: 400;
}
/*
h2 {
  font-size: 1.35rem;
  margin: 0px 0px 1rem 0px;
  padding: 0px;
  margin: 0px 0px 0.35rem 0px;
}
h3 {
  font-size: 1.25rem;
  padding: 0px;
}
*/

p {
  font-size: 1em;
  margin: 0px 0px 1.35rem 0px;
}
p.strike {
  text-decoration: line-through;
}

/* INLINE LINKS */
a { text-decoration: none; color: blue; outline: 0; }
a:active, a:focus { outline: 0; }
a:hover { text-decoration: underline; outline: none; }

a img {
  border: 0px;
}

/* external link styling */
a.external-link{
  position: relative;
  display: inline;
}
a.external-link:after {
  content: '\0009\2197';
}

/* Content */
.date {
  /* color: #BB0088; */
}
.ws .date {
  /* color: tomato; /* pink; */
}
.ws a {
  /* color: dodgerblue; /* blueviolet; /* lightblue; */
  color: tomato; /* inherit; */
  text-decoration: underline;
}


#mapSource {
  width: 100%;
  height: 40vw;
  min-height: 300px;
  margin-bottom: 0px; /* 0.5em; */
}



/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* THERE ARE STYLESHEETS ATTACHED TO THIS formatting */

/* grids */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
@media screen {

  /* make font smaller */
  body {
    font-size: 18px;
  }
  /* h2 header */
  .upcoming .inside a div.Wrapper h2 {
    font-size: 1.75rem; /* 2.75rem; */
  }

  .headerWrapper {
    min-height: 3em;
  }
  #mainLeft {
    flex: 0 0 100%;
    padding: 1em 0.65em; /* 1.35em 1em; */
  }
  #mainRight {
    flex: 0 0 100%;
    padding: 1em 0.65em; /* 1.35em 1em; */
  }
  /* the map */
  #mainRight iframe {
    opacity: 0.9;
    margin: 0px; /* 0px 0px -10px 0px; */
  }
  #mainRight .headerWrapper {
    text-align: center;
  }

  h1 {
    font-size: 1.75em;
    line-height: 1em;
    letter-spacing: 0px;
    padding: 0px;
    margin-bottom: 1em;
    overflow-wrap: anywhere;
  }
  h1 .hAir {
    padding: 0 0.05em; /* 0.1em; */
    font-size: 1em;
  }

  h2 {
    font-size: 1.325em;
    line-height: 1.35em;
  }

  .rs {
    flex: 0 0 50%;
  }

  /* header */
  header #burgerMenuWrapper {
    flex: 0 0 100%;
  }

  header #logoWrapper #wide {
    display: none;
  }
  header #logoWrapper #narrow {
    display: block;
  }
  

  .rightHeader {
    text-align: center; /* right; /* center; */
  }

}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 4. */
@media screen and (min-width: 600px) {

  header #logoWrapper #wide {
    display: block;
  }
  header #logoWrapper #narrow {
    display: none;
  }

  .rs {
    flex: 0 0 33.3333%;
  }
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 1024 */
@media screen and (min-width: 1024px) {

  .upcomingWrapper .imageWrapper .insideWrapper {
    font-size: 2.5rem;
  }


}


/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 4. */
@media screen and (min-width: 1280px) {
  
  /* make font smaller */
  body {
    font-size: 21px; /* 24px; */
  }

  .headerWrapper {
    min-height: 4em;
  }
  #mainLeft {
    flex: 0 0 51%;
    padding: 1.25em 1em; /* 1.75em 2em 1.75em 1.35em; */
  }
  #mainRight {
    flex: 0 0 49%;
    padding: 1.25em 1em; /* 1.75em 1.35em; */
  }
  #mainRight .headerWrapper {
    text-align: right;
  }

  h1 {
    font-size: 1.75em; /* 2em; /* 2.5em; /* 3em; /* 2em; */
    padding: 0px;
    margin: 0px 0px 1em 0px; /* 0px 0px 0.5em 0px; */
  }

  
  .rightHeader {
    text-align: right;
  }



}



/* ****************************************************************** */
/* ****************************************************************** */
/* Rubik font load */

/* latin */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local('Rubik Italic'), local('Rubik-Italic'), url(../fonts/Rubik-Italic.ttf) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: local('Rubik Bold Italic'), local('Rubik-BoldItalic'), url(../fonts/Rubik-BoldItalic.ttf) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Rubik'), local('Rubik-Regular'), url(../fonts/Rubik-Regular.ttf) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Rubik Bold'), local('Rubik-Bold'), url(../fonts/Rubik-Bold.ttf) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local('Rubik Black'), local('Rubik-Black'), url(../fonts/Rubik-Black.ttf) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
