/* Variables */
:root {
    --font-family-body: 'Open Sans', sans-serif;
    --font-family-heading: 'Raleway', sans-serif;

    --padding-default:10px;

    --gem-dark-gray: #707070;
    --gem-medium-gray: #B1B1B1;
    --gem-light-gray: #F2F2F2;
    --gem-dark-aqua: #005070;
    --gem-medium-aqua: #49ADC4;
    --gem-light-aqua: #6BCBD8;
    --gem-lightest-aqua: #d9f0f3;
    --gem-pale-aqua: #C3F4F8;
    --gem-bright-green: #D4F6AF;
}


/* General */
html {
    font-size:100%;
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}
body {
    background-color: var(--gem-light-gray);
    font-family: var(--font-family-body);
    font-size: .9rem;
    color: var(--gem-dark-gray);
    line-height: 1.5rem;
    margin:0;
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family-heading);
    color: var(--gem-dark-aqua);
    line-height:1.2em;
}
h1 {
    margin-top:0;
}
a {
    color: var(--gem-medium-aqua);
    min-width:60px;
}
.button {
    display:inline-block;
    padding:8px;
    background-color: var(--gem-medium-aqua);
    color:#FFF;
    text-decoration: none;
    font-family: var(--font-family-heading);
    font-size:.9em;
    border-radius: 5px;
    border:0;
}
.button:hover {
    -webkit-filter: brightness(115%);
    filter: brightness(115%);
    cursor: pointer;
}
.center-contain {
    width:100%;
    max-width:1200px;
    margin:0 auto;
}
input[type="text"] {
    padding:6px;
    margin-bottom:4px;
}
.content {
    padding:15px;
}


/* Menu */
.main-menu-bar {
    width:100%;
    background-color: rgba(0, 80, 112, 0.9);
    border-bottom:1px solid rgba(0, 80, 112, 1.0);
    z-index:999;
    padding-right:15px;
    padding-left:15px;
}
.main-menu {
    opacity: 1;
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}
.main-menu img {
    display:inline-block;
    max-width:110px;

}
.main-menu ul {
    margin:0;
    padding:0;
    list-style-type: none;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    align-items: flex-start;
}
.gem-logo {
    padding:5px 20px 0px 0px;
}
.main-menu ul li {
    padding:0 5px;
    margin-top:8px;
    margin-right:8px;
    font-size:.7rem;
}
.menu-text a {
    font-family: var(--font-family-heading);
    text-decoration:none;
    font-weight:700;
    color:#FFF;
    font-size: 1.2em;
    opacity: 0.8;
}
.menu-text a:hover {
    color:var(--gem-pale-aqua);
}
.gem-logo:hover, .launch:hover {
    -webkit-filter: brightness(115%);
    filter:brightness(115%);
}


/* Content */
.body {
    background-color:#FFF;
    margin-top:2px;
}


/* Hero */
.hero-contain {
    border-radius:5px 5px 0px 0px;
    background-color: var(--gem-dark-aqua);
    background: rgb(13,38,62);
    background: linear-gradient(180deg, rgba(13,38,62,1) 0%, rgba(39,120,154,1) 100%);
    text-align: center;
}
.hero-text {
    color:#FFF;
    padding:25px 15px;
}
.hero-title {
    font-family: var(--font-family-heading);
    font-size:1.8rem;
}
.hero-img img {
    width:100%;
}
.intro-video-button {
  -webkit-appearance: button;
  padding-top: 2px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  font-family: Raleway;
  font-size: 13px;
  text-decoration-line: none;
  border-radius: 3px;
  border-width: 2px;
  border-color: rgb(73 173 196);
  border-style: solid;
  color: rgb(73 173 196);
  background-color: rgb(255 255 255);
  height: 31px;
}
.intro-video-button:hover {
  cursor: pointer;
}


/* Intro */
.intro-contain {
    padding:20px 15px;
}
.intro-summary h2 {
    font-size:1.3em;
    font-weight: 500;
}
.intro-news h3 {
    font-size:1.4em;
    padding-bottom:10px;
    border-bottom:1px solid var(--gem-medium-gray);
    margin-bottom: 0;
}
.gem-computer {
    text-align: center;
}
.gem-computer img {
    width:100%;
    max-width:620px;
}


/* Subscribe */
.intro-news > p {
    font-size:.9em;
    line-height: 1.2em;
    margin:10px 0;
}


/* News */
.news-item {
    margin-top:20px;
    margin-bottom:20px;
}
.news-title {
    font-weight: bold;
    display: inline-block;
    margin-right:10px;
    font-size:1.1em;
}
.news-title a {
    text-decoration: none;
}
.news-title a:hover {
    text-decoration:underline;
    color:var(--gem-dark-aqua);
}
.news-date {
    display:inline-block;
    color: var(--gem-dark-gray);
}
.more-news {
    text-align: center;
}


/* Features */
.feature-contain {
    background-color: #FAFCF2;
    background-image: url('/images/landing/gem-feature-background.png');
    background-position: top;
    background-repeat: no-repeat;
    padding:10px;
}
.feature {
    padding-bottom:20px;
    margin-bottom:20px;
    text-align: center;
}
.feature:not(:last-child) {
    border-bottom:1px solid var(--gem-medium-gray);
}
.feature > h2 {
    margin-bottom:10px;
}
.feature > p {
    margin-top:0;
    margin-bottom:10px;
}
.feature img {
    display: block;
    width:100%;
    max-width: 319px;
    margin:0 auto; /* center the image*/
}


/* About */
.about-contain {
    padding:20px 15px;
    background-color: var(--gem-dark-aqua);
}
.about-contain h2, .about-contain p {
    color:#FFF;
    margin:0px 0 10px 0;
}
.about-contain h2 {
    font-weight: 500;
}
.about-logorow {
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.about-contain a:not(.button) {
    color:var(--gem-bright-green);
    text-decoration: none;
}
.about-contain a:not(.button):hover {
    text-decoration: underline;
}
.logos img {
    display:block;
    margin-bottom:20px;
}


/* Footer */
.footer-contain {
    padding:20px;
    width: 100%;
    border-top:1px solid #dcdcdc;
    background: var(--gem-light-gray);
    background: linear-gradient(180deg, var(--gem-light-gray) 0%, #FFF 90%);
    border-radius: 0px 0px 5px 5px;
}
.footer-contain h2 {
    font-size:1.1em;
    font-weight:500;
    color:var(--gem-dark-gray);
    margin-top:0;
    margin-bottom:5px;
}
.footer-contain p {
    margin:0;
}
.footer-contact {
    margin-right:30px;
}
.footer-row {
    width:100%;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}
.footer-menu {
    width:100%;
}
.footer-menu ul {
    list-style: none;
    margin:0;
    padding:0;
    margin-top:15px;
    padding-top:15px;
    border-top: 1px solid var(--gem-medium-gray);
}
.footer-menu a {
    color:var(--gem-dark-gray);
    text-decoration: none;
}
.footer-menu a:hover {
    color:var(--gem-medium-aqua);
    text-decoration: underline;
}
