/* Text Elements */

h1.heading-1 {
  margin: 0 auto 7px;
  max-width: 800px;
  color: #555;
  text-align: center;
  font-weight: 500;
  font-variant: small-caps;
  font-size: 50px;
  font-family: 'Syncopate', sans-serif;
  line-height: 1.1;
}

h1 span.heading-text-4 {
  font-size: 24px;
}

h1 span.heading-text-5 {
  font-size: 36px;
}

h1 span.heading-text-7 {
  font-variant: small-caps;
  font-size: 26px;
  line-height: 1.08;
}

h1 sub.heading-text-8 {
  font-size: 24px;
}

h3 {
  margin-top: 70px;
  margin-right: auto;
  margin-left: auto;
  max-width: 800px;
  color: #248f7e;
  text-align: center;
  text-transform: none;
  font-weight: 400;
  font-size: 40px;
  font-family: 'Averia Sans Libre', cursive;
  line-height: 1.1;
}

h3.heading-3 {
  margin-top: 34px;
  margin-bottom: 34px;
  color: #555;
  text-align: center;
  font-weight: 600;
  font-size: 22px;
  font-family: 'Roboto', sans-serif;
  line-height: 1.4;
}

h3 span.heading-text-9 {
  color: #fff;
}

h4.heading-4 {
  position: relative;
  right: 50px;
  left: auto;
  margin: 40px auto 20px;
  padding-top: 2px;
  max-width: 700px;
  border-top: 1px solid #009cdc;
  color: #555;
  text-align: left;
  text-decoration: none;
  word-spacing: 0;
  letter-spacing: 1px;
  font-weight: 600;
  font-size: 20px;
  font-family: 'Roboto', sans-serif;
}

h5 {
  color: #000;
  font-family: 'Roboto', sans-serif;
}

h5.heading-5 {
  margin-top: 7px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 0;
  padding-left: 10px;
  max-width: 800px;
  color: #555;
  letter-spacing: 1px;
  font-weight: 600;
  font-size: 18px;
}

p.paragraph {
  margin-right: auto;
  margin-bottom: 15px;
  margin-left: auto;
  max-width: 800px;
  color: rgba(0, 0, 0, .65);
  text-align: left;
  font-size: 18px;
  font-family: 'Roboto', sans-serif;
  line-height: 1.5;
}

p.paragraph.copyright {
  margin: 0 auto;
  max-width: 800px;
  color: #fff;
  text-align: center;
  font-size: 14px;
}

p.paragraph.paragraph-2 {
  margin-top: 7px;
  margin-bottom: 24px;
  padding: 10px;
  max-width: 800px;
  background-color: #f6f6f6;
  color: #555;
  line-height: 1.4;
}

p.paragraph span.paragraph-text-1 {
  color: #28abe1;
  letter-spacing: 0;
  font-size: 18px;
  line-height: 2;
}

p.paragraph span.paragraph-text-2 {
  line-height: 1.5;
}

p.paragraph span.paragraph-text-3 {
  color: #28abe1;
  line-height: 2;
}

p.paragraph span.paragraph-text-4 {
  color: #555;
  font-family: 'Syncopate', sans-serif;
}

p.paragraph.nav-title {
  position: relative;
  bottom: -12px;
  margin-bottom: -4px;
  max-width: 600px;
  color: #555;
  text-align: center;
  font-weight: 600;
  font-variant: small-caps;
  font-size: 24px;
  font-family: 'Syncopate', sans-serif;
}

p.paragraph.paragraph-2.transparent-bg {
  background-color: transparent;
}

/* Top margin used for home page video series text next to video series package icon.
Reduced starting on screens <600px. */
p.paragraph.paragraph-2.transparent-bg.top-margin {margin-top: 30px;}

p.paragraph span.paragraph-text-5 {
  color: #555;
}

/* Used with with picture-4 icons on How to Use Mindource page. */
p.paragraph.paragraph-2.paragraph-how-to {
  min-height: 130px;
}

p.paragraph a.link-inline {
  color: #009cdc;
}

p.paragraph.par-indent.paragraph-2 {
  padding-left: 30px;
}

p.paragraph.par-with-pic.paragraph-2 {
  margin-top: -14px;
  margin-bottom: 24px;
}

/* Price list on Contact Page (contact-price.html).
Note: Price list was removed. There is the contact page with the price list in the directory.
You can swap them by simply renaming these two files. */
p.paragraph.paragraph-2.price-list {
  padding-left: 30px;
  text-indent: 0;
  word-spacing: 1px;
  letter-spacing: 1px;
}

p.paragraph.contact-required {
  margin-top: -12px;
  color: #fff;
  text-align: center;
  font-size: 16px;
}

/* Text above videos on four program pages. */
p.paragraph.video-note {
  margin-top: -32px;
  text-align: center;
  font-size: 14px;
  line-height: 1;
}

p.paragraph a.link-inline:hover {
  color: #004562;
}

/* unorder-list, paragraph-list and paragraph-list-item are for
Home Page: Why Is MindSource A Valuable Gift bullet list,
and for bullet lists on any other pages. */
ul.unorder-list.paragraph-list {
  margin: 7px auto 40px;
  padding-top: 10px;
  padding-bottom: 1px;
  max-width: 800px;
  background-color: #f6f6f6;
  list-style-type: square;
}

li.paragraph-list-item {
  margin-bottom: 22px;
  padding-right: 10px;
  padding-bottom: 0;
  padding-left: 10px;
  color: #555;
  text-indent: 0;
  font-size: 18px;
  font-family: 'Roboto', sans-serif;
  line-height: 1.4;
}

/* Common Elements */

div.rule hr {
  border-top-width: 2px;
  border-top-color: #248f7e;
}

div.rule {
  margin-right: auto;
  margin-left: auto;
}

div.rule.h3-underline {
  position: relative;
  top: 2px;
  margin-top: 7px;
  margin-bottom: 10px;
  padding-top: 5px;
  padding-bottom: 10px;
  max-width: 80px;
  width: 100%;
}

div.rule.h3-underline hr {
  border-top-color: #009cdc;
}

/* Interaction Elements */

/* There are two Navigation sections: Main Nav top of pages, 
and Program Nav below it, which goes to four program pages. */

/* nav-item and active-page elements are used in Main Nav.
   nav-item-small and active-page-small elements are used in Program Nav. */
a.link-button {
  background-color: transparent;
  color: #4d4d4d;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 15px;
  font-family: 'Roboto', sans-serif;
}

a.link-button.nav-item {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 16px;
  padding-right: 9px;
  padding-left: 9px;
  min-height: 50px;
  max-height: 50px;
  border-top-width: 0;
  border-top-color: rgba(133, 114, 91, .29);
  border-right: 0 solid rgba(133, 114, 91, .29);
  border-bottom: 0 solid rgba(133, 114, 91, .29);
  border-left-width: 0;
  border-left-color: rgba(133, 114, 91, .29);
  border-top-left-radius: 0 0;
  border-top-right-radius: 0 0;
  border-bottom-right-radius: 0 0;
  border-bottom-left-radius: 0 0;
  background-color: transparent;
  color: #555;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 13px;
  font-family: 'Roboto', sans-serif;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
      -ms-transition-timing-function: ease;
       -o-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: .5s;
     -moz-transition-duration: .5s;
      -ms-transition-duration: .5s;
       -o-transition-duration: .5s;
          transition-duration: .5s;
}
a.link-button.nav-item-small {
  margin: 0 2px 4px 2px;
  padding: 12px 16px 10px;
  min-height: 30px;
  border: 0 none;
  border-top-left-radius: 3px 3px;
  border-top-right-radius: 3px 3px;
  border-bottom-right-radius: 3px 3px;
  border-bottom-left-radius: 3px 3px;
  background-color: rgba(41, 132, 170, .6);
  background-clip: border-box;
  color: #555;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 13px;
  font-family: 'Roboto', sans-serif;
  line-height: 1.1;
  -webkit-transition-duration: .5s;
     -moz-transition-duration: .5s;
      -ms-transition-duration: .5s;
       -o-transition-duration: .5s;
          transition-duration: .5s;
}

/* Return to Home Page button on Gold Awards, Clinical Test 
and Sony-Distribution pages. Placed in container-7 */
a.link-button.button-return {
  position: relative;
  margin: 14px auto;
  padding-top: 2px;
  padding-bottom: 2px;
  min-width: 150px;
  max-width: 150px;
  background-color: rgba(41, 132, 170, .6);
  text-align: center;
  font-size: 14px;
  -webkit-align-self: auto;
     -moz-align-self: auto;
      -ms-align-self: auto;
       -o-align-self: auto;
          align-self: auto;
}

a.link-button.active-page {
  margin-top: 0;
  margin-bottom: 0;
  max-height: 50px;
  padding-top: 16px;
  padding-right: 10px;
  padding-left: 10px;
  border-width: 0;
  background-color: rgba(41, 132, 170, .6);
  color: #fff;
  font-size: 13px;
}

a.link-button.active-page-small {
  margin: 0 2px 4px 2px;
  padding-top: 12px;
  padding-right: 16px;
  padding-left: 16px;
  background-color: rgba(41, 132, 170, .6);
  color: #fff;
  font-size: 13px;
  line-height: 1.1;
}

a.link-button:hover {
  background-color: transparent;
  opacity: .64;
}

a.link-button.nav-item-small:hover {
  margin: 0 2px 4px 2px;
  padding: 12px 16px 10px;
  min-height: 30px;
  border: 0 none;
  border-top-left-radius: 3px 3px;
  border-top-right-radius: 3px 3px;
  border-bottom-right-radius: 3px 3px;
  border-bottom-left-radius: 3px 3px;
  background-color: rgba(41, 132, 170, .6);
  background-clip: border-box;
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 13px;
  font-family: 'Roboto', sans-serif;
  line-height: 1.1;
  opacity: 1;
  -webkit-transition-duration: .1s;
     -moz-transition-duration: .1s;
      -ms-transition-duration: .1s;
       -o-transition-duration: .1s;
          transition-duration: .1s;
}
a.link-button.nav-item:hover {
  padding-top: 16px;
  padding-right: 9px;
  padding-left: 9px;
  color: #009cdc;
  opacity: 1;
  -webkit-transition-duration: .1s;
     -moz-transition-duration: .1s;
      -ms-transition-duration: .1s;
       -o-transition-duration: .1s;
          transition-duration: .1s;
}

a.link-button span.button-link-text-2:hover {
  color: #009cdc;
}

a.link-button.active-page:hover {
  background-color: rgba(41, 132, 170, .95);
}

a.link-button.active-page-small:hover {
  background-color: rgba(41, 132, 170, .95);
}

a.link-button.nav-item-small:active {
  color: #555;
}

a.link-button.nav-item:active {
  margin: 0 0px;
  border-top-left-radius: 3px 3px;
  border-top-right-radius: 3px 3px;
  border-bottom-right-radius: 3px 3px;
  border-bottom-left-radius: 3px 3px;
  background-color: #f5f5f5;
  color: #555;
}

a.link-button.nav-item:focus {
  border-top-left-radius: 5px 5px;
  border-top-right-radius: 5px 5px;
  border-bottom-right-radius: 5px 5px;
  border-bottom-left-radius: 5px 5px;
  background-color: transparent;
  color: #555;
}

a.link-button.nav-item-small:focus {
  color: #555;
}

/* Layout Elements */

body {
  height: auto;
}

body > .row {
  max-width: none;
  width: auto;
}

/* Footer */
body > .row > [class*='coffee-span-'].footer {
  position: relative;
  float: none;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: #2e2e2e;
}

/* Main Navigation: Nests column-logo and navigation */
body > .row.nav-row {
  position: static;
  z-index: 1000;
  margin-right: 0;
  margin-left: 0;
  padding-right: 30px;
  padding-bottom: 0;
  padding-left: 30px;
  width: 100%;
  background-color: #f6f6f6;
  display: -webkit-flex;
  display:    -moz-flex;
  display:     -ms-flex;
  display:      -o-flex;
  display:  -webkit-box;
  display:  -ms-flexbox;
  display:         flex;
  -webkit-flex-wrap: nowrap;
     -moz-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
       -o-flex-wrap: nowrap;
          flex-wrap: nowrap;
min-height: 100px;
}

/* Main Navigation */
body > .row > [class*='coffee-span-'].navigation {
  display: -webkit-flex;
  display:    -moz-flex;
  display:     -ms-flex;
  display:      -o-flex;
  display:  -webkit-box;
  display:  -ms-flexbox;
  display:         flex;
  margin-right: auto;
  margin-left: auto;
  padding-top: 20px;
  padding-right: 0px;
  padding-left: 0px;
  -webkit-justify-content: flex-start;
     -moz-justify-content: flex-start;
      -ms-justify-content: flex-start;
       -o-justify-content: flex-start;
              -webkit-box-pack: start;
                 -ms-flex-pack: start;
          justify-content: flex-start;        
  position: relative;  /* For Safari nesting flexboxes */
  max-width: 80%;
}

/* Logo. */
body > .row > [class*='coffee-span-'].column-logo {
  position: relative; /* For Safari nesting flexboxes */
  max-width: 20%;
  min-width: 80px;
  display: -webkit-flex;
  display:    -moz-flex;
  display:     -ms-flex;
  display:      -o-flex;
  display:  -webkit-box;
  display:  -ms-flexbox;
  display:         flex;
  -webkit-justify-content: flex-start;
     -moz-justify-content: flex-start;
      -ms-justify-content: flex-start;
       -o-justify-content: flex-start;
              -webkit-box-pack: start;
                 -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
     -moz-align-items: center;
      -ms-align-items: center;
       -o-align-items: center;
    -webkit-box-align: center;
       -ms-flex-align: center;
          align-items: center;
}
body > .row > [class*='coffee-span-'] {
  margin-top: 0;
  padding-right: 15px;
  padding-left: 15px;
}

body > .row > [class*='coffee-span-'].header {
  padding-top: 0;
  padding-bottom: 0;
  background-color: #fff;
  background-image: none;
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}

body > .row > [class*='coffee-span-'].column-4 {
  display: -webkit-flex;
  display:    -moz-flex;
  display:     -ms-flex;
  display:      -o-flex;
  display:  -webkit-box;
  display:  -ms-flexbox;
  display:         flex;
  float: none;
  margin-top: 10px;
  min-height: 30px;
  -webkit-justify-content: center;
     -moz-justify-content: center;
      -ms-justify-content: center;
       -o-justify-content: center;
         -webkit-box-pack: center;
            -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
     -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
       -o-flex-wrap: wrap;
          flex-wrap: wrap;
}

body > .row > [class*='coffee-span-'].column-3 {
  float: none;
  margin-right: auto;
  margin-left: auto;
}

body > .row > [class*='coffee-span-'].section {
  padding-top: 0;
  padding-bottom: 0;
  background-color: #fff;
  background-image: none;
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}

/* Everything in the subgrid is for Home Page Program Series section and Awards */

/* subgrid-column-3 holds first two Program Series icons. 
   subgrid-column-4 holds second two Program Series icons.
   These two columns wrap for small screens.
   These two columns are placed after subgrid-column-2, 
   which holds the Program Series package icon and text.
   All nest in subgrid-row-1.
*/

.subgrid > .row.subgrid-row-1 {
  max-width: 800px;
}

/* Holds first two Program Series icons. */
.subgrid > .row > [class*='coffee-span-'].subgrid-column-3 {
  display: -webkit-flex;
  display:    -moz-flex;
  display:     -ms-flex;
  display:      -o-flex;
  display:         -webkit-box;
  display:         -ms-flexbox;
  display:         flex;
  float: left;
  padding-right: 0;
  padding-left: 8px;
  background-color: #f6f6f6;
  -webkit-justify-content: flex-end;
     -moz-justify-content: flex-end;
      -ms-justify-content: flex-end;
       -o-justify-content: flex-end;
              -webkit-box-pack: end;
                 -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-flex-wrap: nowrap;
     -moz-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
       -o-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: flex-end;
     -moz-align-items: flex-end;
      -ms-align-items: flex-end;
       -o-align-items: flex-end;
         -webkit-box-align: end;
            -ms-flex-align: end;
          align-items: flex-end;
  -webkit-align-content: flex-end;
     -moz-align-content: flex-end;
      -ms-align-content: flex-end;
       -o-align-content: flex-end;
          -ms-flex-line-pack: end;
          align-content: flex-end;
}

/* Holds second two Program Series icons */
.subgrid > .row > [class*='coffee-span-'].subgrid-column-4 {
  display: -webkit-flex;
  display:    -moz-flex;
  display:     -ms-flex;
  display:      -o-flex;
  display:         -webkit-box;
  display:         -ms-flexbox;
  display:         flex;
  padding-left: 0;
  background-color: #f6f6f6;
  -webkit-flex-wrap: nowrap;
     -moz-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
       -o-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-content: flex-start;
     -moz-align-content: flex-start;
      -ms-align-content: flex-start;
       -o-align-content: flex-start;
          -ms-flex-line-pack: start;
          align-content: flex-start;
  -webkit-align-items: flex-start;
     -moz-align-items: flex-start;
      -ms-align-items: flex-start;
       -o-align-items: flex-start;
         -webkit-box-align: start;
            -ms-flex-align: start;
          align-items: flex-start;
}

/* Holds Program Series package icon and text */
.subgrid > .row > [class*='coffee-span-'].subgrid-column-2 {
  background-color: #f6f6f6;
}

/* subgrid-column-1 holds Awards and associated icons. */
.subgrid > .row > [class*='coffee-span-'].subgrid-column-1 {
  background-color: #f6f6f6;
}

/* Go to Top button in footer. Display none for <600px screens. */
a.link-button-glyph.go-to-top {
  position: relative;
  top: auto;
  right: 20px;
  bottom: -8px;
  z-index: 0;
  float: right;
  margin-top: 0;
  margin-bottom: 0;
  padding: 14px 18px 12px;
  background-color: rgba(41, 132, 170, .6);
  -webkit-transition-duration: .5s;
     -moz-transition-duration: .5s;
      -ms-transition-duration: .5s;
       -o-transition-duration: .5s;
          transition-duration: .5s;
}

a.link-button-glyph.go-to-top:hover {
  bottom: -8px;
  background-color: rgba(79, 79, 79, .89);
  -webkit-transition-duration: .15s;
     -moz-transition-duration: .15s;
      -ms-transition-duration: .15s;
       -o-transition-duration: .15s;
          transition-duration: .15s;
}

.row > [class*='coffee-span-'] > .container.container-1 {
  float: none;
  margin-right: auto;
  margin-left: auto;
  max-width: 800px;
  max-height: none;
  width: auto;
  background-color: #f6f6f6;
}

/* Holds Video Series package icon (next to text) in subgrid. */
div.responsive-picture.picture-videoseries {
  float: left;
  margin: 18px 1% 7px;
  padding-bottom: 0;
  max-width: 120px;
  max-height: none;
}

/* picture-1 is for Awards icons on Home Page. */
div.responsive-picture.picture-1 {
  float: left;
  margin: 18px 1% 7px;
  padding-bottom: 0;
  max-width: 60px;
  max-height: none;
}

/* picture-2 is for four Program icons on Home Page. These nest in subgrid-column-3 and 4. */
div.responsive-picture.picture-2 {
  display: block;
  float: none;
  margin-right: 2%;
  margin-left: 2%;
  min-width: 90px;
  max-width: 100px;

  -webkit-align-self: flex-end;
     -moz-align-self: flex-end;
      -ms-align-self: flex-end;
       -o-align-self: flex-end;
          align-self: flex-end;
}

.row > [class*='coffee-span-'] > .container.container-4 {
  margin-right: auto;
  margin-left: auto;
  max-width: 800px;
  background-color: #f6f6f6;
}

/* Icons on How to Use page. */
div.responsive-picture.picture-4 {
  float: left;
  margin-top: 17px;
  margin-right: 2%;
  margin-left: 2%;
  max-width: 100px;
}

.row > [class*='coffee-span-'] > .container.container-5 {
  margin-right: auto;
  margin-left: auto;
  max-width: 800px;
  background-color: #f6f6f6;
}

.row > [class*='coffee-span-'] > .container.container-6 {
  margin-right: auto;
  margin-left: auto;
  padding-top: 7px;
  padding-bottom: 7px;
  max-width: 800px;
  background-color: #f6f6f6;
}

/* Gold Award document pics and Distribution document pics (two separate pages). */
div.responsive-picture.picture-5 {
  margin-right: auto;
  margin-left: auto;
  max-width: 500px;
}

/* Container for Return to Home Page button on Gold Awards, Clinical Test 
and Sony-Distribution pages.*/
.row > [class*='coffee-span-'] > .container.container-7 {
  display: block;
  margin-right: auto;
  margin-left: auto;
  min-height: 50px;
  max-width: 150px;
  -webkit-align-self: auto;
     -moz-align-self: auto;
      -ms-align-self: auto;
       -o-align-self: auto;
          align-self: auto;
}

div.responsive-picture.picture-6 {
  float: left;
  margin-right: 1%;
  margin-left: 1%;
  padding-left: 0;
  max-width: 100px;
}

div.responsive-picture.pic-left-250 {
  float: left;
  margin-top: 3px;
  margin-right: 2%;
  margin-left: 2%;
  max-width: 250px;
}

div.responsive-picture.pic-right-250 {
  float: right;
  margin-top: 3px;
  margin-right: 2%;
  margin-left: 1%;
  max-width: 250px;
}

div.responsive-picture.pic-right-300 {
  float: right;
  margin-top: 3px;
  margin-right: 2%;
  margin-left: 1%;
  max-width: 300px;
}

div.responsive-picture.pic-left-250.pic-pad-bottom-40px {
  padding-bottom: 40px;
}

/* Main container for iframe Vimeo videos. Responsive iframe css nests in this.
See separate video-iframe.css - used on four program pages. */
.row > [class*='coffee-span-'] .html-element.html-video-embed {
  margin: 0 auto 20px auto;
  padding-top: 0px;
  min-width: 200px;
  min-height: 50px;
  max-width: 800px;
}

div.responsive-picture.pic-left-100 {
  float: left;
  margin: 3px 2% 7px;
  padding-bottom: 0;
  max-width: 100px;
  max-height: none;
}

div.responsive-picture#top-pic {
  margin-top: 15px;
}

a.responsive-picture.logo {
  margin: 10px auto 10px auto;
  max-width: 80px;
  min-width: 60px;
  max-height: 90px;
}

/* Contact Page */
.row > [class*='coffee-span-'] .html-element.contact-form {
  margin-right: auto;
  margin-left: auto;
  max-width: 800px;
}

.row > [class*='coffee-span-'] > .container.contact-container {
  margin: 0 auto 20px;
  padding-top: 7px;
  padding-bottom: 0;
  min-width: 200px;
  max-width: 800px;
  background-color: #009cdc;
}


/****** MEDIA QUERIES ******/
@media screen and (max-width: 1205px) {
  /* Text Elements */

  h1.heading-1 {
    position: static;
    margin-top: 0;
  }

  h3 {
    margin-top: 50px;
    padding-right: 15px;
    padding-left: 15px;
    font-size: 30px;
  }

  h3.heading-3 {
    margin-top: 36px;
  }

  h4.heading-4 {
    right: 50px;
    max-width: 700px;
    border-top-color: #009cdc;
    border-bottom-width: 0;
    border-bottom-color: #009cdc;
  }

  p.paragraph {
    margin-top: 7px;
    font-size: 16px;
  }

  p.paragraph.paragraph-2 {
    font-size: 18px;
  }

  p.paragraph.nav-title {
    margin-top: 7px;
    margin-bottom: -4px;
  }

  p.paragraph.copyright {
    max-width: 400px;
  }

  /* Common Elements */

  div.rule.h3-underline {
    position: relative;
    top: 2px;
    margin-top: 7px;
    margin-bottom: 10px;
  }

  /* Interaction Elements */

  a.link-button.nav-item-small {
    padding-top: 12px;
    padding-bottom: 10px;
    min-height: 30px;
    border-right: 0 none rgba(133, 114, 91, .29);
    border-bottom-color: rgba(133, 114, 91, .29);
    border-left: 0 none rgba(133, 114, 91, .31);
  }

  a.link-button.nav-item {
    border-right: 0 none rgba(133, 114, 91, .29);
    border-bottom-color: rgba(133, 114, 91, .29);
    border-left: 0 none rgba(133, 114, 91, .31);
  }

  /* Layout Elements */
  
  /* Hide Logo in Nav Bar and wrap items 
  .column-logo { display: none;} */
  body > .row > [class*='coffee-span-'].navigation {
    margin-top: 0;
    padding-bottom: 4px;

    -webkit-justify-content: center;
       -moz-justify-content: center;
        -ms-justify-content: center;
         -o-justify-content: center;
           -webkit-box-pack: center;
              -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
       -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
         -o-flex-wrap: wrap;
            flex-wrap: wrap;
  }

  body > .row > [class*='coffee-span-'].header {
    padding-top: 0;
    padding-right: 15px;
  }

  body > .row > [class*='coffee-span-'].column-3 {
    float: none;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
  }

  body > .row > [class*='coffee-span-'].column-4 {
    display: -webkit-flex;
    display:    -moz-flex;
    display:     -ms-flex;
    display:      -o-flex;
    display:  -webkit-box;
    display:  -ms-flexbox;
    display:         flex;
    float: none;
    padding-top: 0;
    -webkit-justify-content: center;
       -moz-justify-content: center;
        -ms-justify-content: center;
         -o-justify-content: center;
           -webkit-box-pack: center;
              -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
       -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
         -o-flex-wrap: wrap;
            flex-wrap: wrap;
  }

  body > .row > [class*='coffee-span-'].column-2 {
    padding-top: 26px;
  }

  body > .row > [class*='coffee-span-'].section {
    padding-top: 0;
    padding-right: 15px;
  }
}

@media screen and (max-width: 850px) {
  /* Text Elements */

  h4.heading-4 {
    right: auto;
    max-width: 800px;
  }

  .row > [class*='coffee-span-'] .html-element.html-video-embed {
    position: static;
    right: auto;
    left: auto;
    padding-right: 0px;
    padding-left: 0px;
  }
}

@media screen and (max-width: 640px) {
  /* Text Elements */
  
  /* 60px margin used for home page video series text. Reduce to 10px at <600px, and 0px at <450px */
  p.paragraph.paragraph-2.transparent-bg.top-margin {margin-top: 10px;}
  h1 span.heading-text-4 {
    font-size: 22px;
    line-height: 1;
  }

  h1 span.heading-text-6 {
    font-size: 38px;
  }

  h1 span.heading-text-1 {
    font-size: 34px;
  }

  h1 span.heading-text-5 {
    font-size: 30px;
  }

  h3 {
    margin-top: 30px;
    font-size: 24px;
  }

  p.paragraph {
    font-size: 14px;
  }

  p.paragraph.paragraph-2 {
    font-size: 18px;
  }

  p.paragraph span.paragraph-text-4 {
    font-size: 20px;
  }

  /* Interaction Elements */

  a.link-button.nav-item-small {
    padding-top: 12px;
    padding-bottom: 10px;
    min-height: 30px;
    line-height: 1.1;
  }

  a.link-button.nav-item {
    padding-top: 10px;
    padding-bottom: 10px;
    min-height: 30px;
  }
  
  a.link-button.active-page {
  padding-top: 10px;
}
  a.link-button.nav-item-small:hover {
    padding-top: 12px;
  }

  a.link-button.nav-item:hover {
    padding-top: 10px;
  }

  /* Layout Elements */

  body > .row.nav-row {
    padding-right: 15px;
    padding-left: 15px;
  }

  body > .row > [class*='coffee-span-'].footer {
    position: relative;
    min-height: 0;
    height: auto;
  }

  li.paragraph-list-item {
    font-size: 18px;
  }

  div.responsive-picture.picture-2 {
    max-width: 100px;
  }

  .row > [class*='coffee-span-'] .html-element.html-video-embed {
    max-width: 600px;
  }

  a.link-button-glyph.go-to-top {
    position: relative;
    right: 20px;
    left: auto;
    z-index: 10;
    display: none;
    float: none;
    overflow: visible;
    padding-top: 14px;
    padding-bottom: 12px;
  }

  span.glyph-for-button {
    display: inline-block;
  }

  a.link-button-glyph.go-to-top:hover {
    right: 20px;
    left: auto;
    display: none;
  }
}

@media screen and (max-width: 500px) {
  /* Text Elements */

  h1 span.heading-text-1 {
    font-size: 30px;
  }

  h1 span.heading-text-4 {
    font-size: 20px;
    line-height: 0;
  }

  h1 span.heading-text-3 {
    font-weight: 500;
  }

  h1.heading-1 {
    font-size: 40px;
    line-height: .9;
  }

  h1 span.heading-text-5 {
    font-size: 26px;
  }

  h3 span.heading-text-2 {
    font-size: 21px;
  }

  p.paragraph.nav-title {
    font-size: 20px;
  }

  p.paragraph span.paragraph-text-4 {
    font-size: 18px;
  }

  div.responsive-picture.picture-2 {
    max-width: 100px;
  }
}

@media screen and (max-width: 450px) {
  /* Text Elements */
  
  /* 60px margin used for home page video series text.
  Was reduced to 10px at <600px, and now to 0px at <450px */
p.paragraph.paragraph-2.transparent-bg.top-margin {margin-top: 0px;}
  h1 span.heading-text-1 {
    font-size: 26px;
  }

  h1 span.heading-text-5 {
    font-size: 24px;
  }

  h1 span.heading-text-4 {
    font-size: 16px;
  }

  h4.heading-4 {
    font-size: 20px;
  }

  p.paragraph span.paragraph-text-4 {
    font-size: 16px;
  }

  p.paragraph.par-indent.paragraph-2 {
    padding-left: 20px;
  }

  div.responsive-picture.picture-2 {
    max-width: 100px;
  }

  div.responsive-picture.pic-right-300 {
    float: none;
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (max-width: 400px) {
  /* Text Elements */

  h1 span.heading-text-6 {
    font-weight: 600;
  }

  h1 span.heading-text-4 {
    font-weight: 600;
    line-height: 0;
  }

  /* Layout Elements */

  /* Home Page: Put subgrid-column-3 and subgrid-column-4 (program icons) 
  under one another and center icons */
  .subgrid > .row > [class*='coffee-span-'].subgrid-column-4 {
    -webkit-flex-direction: row;
       -moz-flex-direction: row;
        -ms-flex-direction: row;
         -o-flex-direction: row;
            flex-direction: row;
    float: none;
    clear: none;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    -webkit-align-items: center;
       -moz-align-items: center;
        -ms-align-items: center;
         -o-align-items: center;
            align-items: center;
    -webkit-align-content: stretch;
       -moz-align-content: stretch;
        -ms-align-content: stretch;
         -o-align-content: stretch;
            align-content: stretch;
    -webkit-flex-wrap: nowrap;
       -moz-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
         -o-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-justify-content: center;
       -moz-justify-content: center;
        -ms-justify-content: center;
         -o-justify-content: center;
            justify-content: center;
  }

  .subgrid > .row > [class*='coffee-span-'].subgrid-column-3 {
    position: static;
    float: none;
    clear: none;
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
    -webkit-justify-content: center;
       -moz-justify-content: center;
        -ms-justify-content: center;
         -o-justify-content: center;
            justify-content: center;
    -webkit-align-items: stretch;
       -moz-align-items: stretch;
        -ms-align-items: stretch;
         -o-align-items: stretch;
            align-items: stretch;
    -webkit-align-content: stretch;
       -moz-align-content: stretch;
        -ms-align-content: stretch;
         -o-align-content: stretch;
            align-content: stretch;
  }

  .subgrid > .row.subgrid-row-1 {
    background-color: #f6f6f6;
  }

  div.responsive-picture.picture-2 {
    min-width: 90px;
  }

  div.responsive-picture.pic-left-250 {
    float: none;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 40px;
  }

  div.responsive-picture.pic-right-250 {
    float: none;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 40px;
  }
}

@media screen and (max-width: 320px) {
  div.responsive-picture.pic-right-300 {
    max-width: 250px;
  }
}