@charset "UTF-8";


:root {
  --page-width: 1366px;
  --subnav-width: 20rem;
  --sidebar-width: 20rem;
  --space-large: 3rem;
  --space-medium: 2rem;
  --space-small: 1rem;
  --text-width: 50rem;/* 35rem = 560 | 40rem = 640 | 45rem = 720 | 50rem = 800 */

  --default-link-color: #07C;
  --default-link-decoration: underline;

  --text-color: #333;
  --light-gray: #777;
  --extra-light-gray: #F3F3F3;
}

html { touch-action: manipulation; }

* {
  box-sizing: border-box;
}

*, html, body {
  margin: 0;
  padding: 0;
  font-family: 'Cabin', Cabin;
}

html, body { overflow-x: hidden; }

body {
  font-size: 16px;
  color: #333;
}

img { max-width: 100%; }
a { font-family: 'Cabin', Cabin; color: inherit; font-size: inherit; text-decoration: none; }
ul { list-style: none; margin: 0 auto; }
p { margin: 0 0 1.5em 0; max-width: 800px; line-height: 1.5em; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Cabin', Cabin !important;
}

h1 {
  margin: 0 0 20px 0;
  font-size: 2.5em;
  color: #333;
  font-weight: normal;
}
h2 {
  margin: 0 0 10px 0;
  font-size: 1.7em;
  color: #333;
}
h3 {
  margin: 0 0 10px 0;
  font-size: 1.4em;
  color: #333;
}
h6 {
  margin: 0 0 10px 0;
  color: #999999;
  font-size: 1em;
  font-weight: normal;
}
h6 a {
  color: #333;
  font-size: 1em;
  font-weight: 600;
}
a, b, strong, i, em { font-size: 1em; }
b, strong { font-weight: 600; }

main p a,
main p a strong { color: #07C; text-decoration: underline; }



/* FORMS */
input,
button,
input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
/* END FORMS */



/* SYMBOLS */
.fab, .fas, .far { color: #E6E6E6; transition: all .2s ease-in-out; }
.fab:hover, .fas:hover, .far:hover { color: #FFF; }
/* END SYMBOLS */



/* ALIGNMENT */
.Flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.Flex-B-C {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/* END ALIGNMENT */



/* SOCIAL */

.Social-Follow .Networking {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  margin: 0 auto;
  text-align: left;
}

.Social-Follow .Networking li {
  text-transform: uppercase;
}

.Social-Follow .Networking i {
  font-size: 1.25rem;
  color: var(--yellow);
}

/* END SOCIAL */



/* STARTS MOBILE NAV */
nav,
.Wrapper {
  -webkit-transition: all .25s ease-in-out 0s;
  -moz-transition: all .25s ease-in-out 0s;
  -ms-transition: all .25s ease-in-out 0s;
  transition: all .25s ease-in-out 0s;
}
nav {
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%);
}
.Wrapper {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}
.Nav-Active { overflow: hidden; position: fixed; }
.Nav-Active nav {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}
.Nav-Active .Wrapper {
  -webkit-transform: translateX(60%);
  -moz-transform: translateX(60%);
  -ms-transform: translateX(60%);
  transform: translateX(60%);
}
.Nav-Anchor {
  cursor: pointer;
  width: 50px;
  height: 50px;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  text-indent: -9999px;
  overflow: hidden;
}
.Nav-Anchor:before {
  content: "";
  display: block;
  margin: 10px auto;
  width: 70%;
  height: .2em;
  background: #CCC;
  box-shadow: 0 .75em 0 0 #CCC, 0 1.5em 0 0 #CCC;
}
/* END MOBILE NAV */



.Wrapper {
  overflow: hidden;
  position: relative;
  margin: 0 auto 0 auto;
  width: 100%;
  height: 100%;
}

.Wrapper aside.Sidebar {
  display: block;
  margin: 20px auto 0 auto;
  width: 100%;
  text-align: center;
}
.Wrapper aside.Sidebar section {
  display: block;
  margin: 0 auto 30px auto;
  text-align: center;
}
.Wrapper aside.Sidebar section header {
  margin: 0 auto 10px auto;
  color: #FFF;
  font-size: 1em;
  line-height: 1.5em;
  background: #333;
}

header.Mobile {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto 0 auto;
  width: 100%;
  background: #222;
}

header.Mobile i {
  margin: .5rem;
  font-size: 1.5rem;
}

header.Mobile img.Logo {
  max-height: 40px;
  text-align: center;
}

nav.Header {}

nav.Header header {
  margin: 0 auto;
  width: 100%;
  height: 200px;
  text-align: left;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto 100%;
}

nav.Header header div.Logo {
  max-width: calc(100% / 3);
}

nav.Header ul {
  margin: 0 auto 0 auto;
}

nav.Header ul li {
  display: block;
}
@media (min-width: 1200) {
  nav.Header ul li {
    padding: 0 1.25% 0 1.25%;
  }
}
@media (min-width: 1366) {
  nav.Header ul li {
    padding: 0 1.5% 0 1.5%;
  }
}

nav.Header ul li:hover,
nav.Header ul li.Active { background: rgba(255, 255, 255, .2); }

nav.Header ul li a {
  display: block;
  font-family: 'Cabin', Cabin;
  font-size: 1em;
  font-weight: 400;
  line-height: 2.5em;
}
@media (min-width: 1200) {
  nav.Header ul li a {
    font-size: 1em;
  }
}
nav.Header a {
  font-family: 'Cabin', Cabin;
  color: #FFF;
}


/* SOCIAL */
nav.Header ul.Social {
  display: block;
  margin: 0 auto 0 auto;
}

nav.Header ul.Social li.Button {
  display: inline-block;
  vertical-align: top;
  margin: 0 0 0 10px;
}

nav.Header ul.Social li.Button img {
  width: 30px;
}

nav.Header .Search {
  display: block;
  margin: 20px auto 0 auto;
}

div.Search input[type=text] {
  display: inline-block;
  vertical-align: top;
  padding: 0 10px 0 10px;
  width: 60%;
  font-family: 'Cabin', Cabin;
  font-size: 1em;
  line-height: 2em;
  background: rgba(255, 255, 255, .5);
  border: none;
  -webkit-transition: all .25s ease-in-out 0s;
  -moz-transition: all .25s ease-in-out 0s;
  -ms-transition: all .25s ease-in-out 0s;
  transition: all .25s ease-in-out 0s;
  box-shadow: -1px 0 3px rgba(0, 0, 0, .5);
}

div.Search input[type=text]:hover,
div.Search input[type=text]:focus {
  width: 80%;
  background: rgba(255, 255, 255, .8);
}

div.Search button {
  display: inline-block;
  vertical-align: top;
  margin:  0 0 0 -3px;
  padding: 0;
  width: 32px;
  height: 32px;
  font-size: 1em;
  background: rgba(255, 255, 255, .8);
  box-shadow: 1px 0 3px rgba(0, 0, 0, .5);
  border: none;
}

div.Search input[type=text]::placeholder {
  color: rgba(0, 0, 0, .3);
  opacity: 1; /* Firefox */
}

div.Search input[type=text]:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: rgba(0, 0, 0, .3);
}

div.Search input[type=text]::-ms-input-placeholder { /* Microsoft Edge */
  color: rgba(0, 0, 0, .3);
}
/* END SOCIAL */


/* CONTAINER */
.Container {
  margin: 0 auto 0 auto;
  max-width: 1366px;
}
@media (max-width: 1466px) {
  .Container {
    margin-left: 3%;
    margin-right: 3%;
  }
}
/* END CONTAINER */


main {
  display: block;
  margin: 20px auto 20px auto;
  width: 100%;
}

main section {
  display: block;
  margin: 0 auto 40px auto;
}

main section article {
  display: block;
  margin: 0 auto 40px auto;
}

main section article footer {
  display: block;
  margin: 10px auto 0 auto;
}

main a {
  text-decoration: none;
}

main a p {
  text-decoration: underline;
}

footer.SAM {
  clear: both;
  display: block;
  margin: 20px auto 0 auto;
  padding: 20px 0 20px 0;
  width: 100%;
  text-align: center;
  background: #222;
}
footer.SAM p {
  margin: 0 auto 20px auto;
  max-width: 1150px;
  color: #FFF;
  font-size: 1em;
}
footer.SAM p a {
  font-size: 1em;
  color: #EEE;
}


header.SAM input {
  display: block;
  margin: 20px 0 0 0;
  padding: 10px 15px;
  font-family: 'Cabin', Cabin;
  font-size: 1em;
  color: #666;
  background: #FAFAFA;
  box-sizing: border-box;
  border: 1px solid #CCC;
  border-radius: 0;
}

aside.Sidebar article {
  display: block;
  margin: 0 auto 20px auto;
  text-align: center;
}

/* ELEMENTS */
.Grid {
  display: block;
  margin: 0 auto 20px auto;
  width: 100%;
}

.BoxNews {
  border-bottom: 1px solid #EEE;
}

.BoxNews h3 {
  margin: 0 auto 10px auto;
}

.BoxNews figure {
  margin: 0 auto 10px auto;
  text-align: center;
}

.BoxNews time {
  display: block;
  color: #666;
  font-style: italic;
  font-size: .75em;
}

.BoxNews footer {
  margin: 0 auto 10px auto;
  text-align: right;
  font-size: .8em;
}

.BoxNews footer a {
  color: #666;
}

.Type {
  margin: 0 auto 0 auto;
  text-align: center;
  font-size: 3em;
}

.Box {
  padding: 10px 3% 10px 3%;
  width: calc(100% - 6%);
  background: #EEE;
}

.Box footer {
  font-size: .8em;
  line-height: 2em;
  text-align: center;
  text-transform: uppercase;
  background: #CCC;
}

.Video .Embed {
  overflow: hidden;
  position: relative;
  display: block;
  margin: 10px auto 10px auto;
  padding-bottom: 56.25%;
  max-width: 100%;
  height: 0;
}
.Video .Embed iframe, .Video .Embed object, .Video .Embed embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

figure.Spotlight {
  display: block;
  margin: 0 auto 20px auto;
}

section.Banners {
  clear: both;
  display: block;
  margin: 40px auto 0 auto;
  text-align: center;
  width: 100%;
}
section.Banners article {
  display: inline-block;
  vertical-align: top;
  margin: 0 1% 20px 1%;
  width: calc(100% / 4 - 2% - 4px);
  text-align: center;
}
section.Banners article h1 {
  margin: unset;
  padding: unset;
  text-align: center;
  font-size: 1.4em;
  font-weight: 600;
  background-color: #DDD;
}

section.Banners article .Scale {
  overflow: hidden;
  position: relative;
  width: 100%;
}

section.Banners article .Scale:after {
  content: '';
  display: block;
  padding-top: 139%;
}

section.Banners article .Scale img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all .25s ease-in-out 0s;
  -moz-transition: all .25s ease-in-out 0s;
  -ms-transition: all .25s ease-in-out 0s;
  transition: all .25s ease-in-out 0s;
}

section.Banners article .Scale img:hover,
section.Banners article .Scale img:focus {
  transform: scale(1.1);
}
/* END ELEMENTS */

/* SECTIONS */
section.Goals ul li {
  display: inline-block;
  vertical-align: top;
  margin: 0 10px 10px 0;
  padding: 0 10px;
  line-height: 2.5em;
  background-color: #EEE;
  border-radius: 5px;
  -webkit-transition: all .25s ease-in-out 0s;
  -moz-transition: all .25s ease-in-out 0s;
  -ms-transition: all .25s ease-in-out 0s;
  transition: all .25s ease-in-out 0s;
}

section.Goals ul li:hover {
  color: #FFF;
  background-color: #444;
  border-radius: 5px;
}

section.Goals ul li a {
  display: block;
}
/* END SECTIONS */

/* SLIDER */
aside.Sidebar .Slider {
  overflow: hidden;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  height: 200px;
}

aside.Sidebar .Slider img {
  opacity: 0;
  z-index: -1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  display: inline-block;
  vertical-align: middle;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

aside.Sidebar .Slider img.next {
  opacity: 1;
  z-index: 1;
}

aside.Sidebar .Slider img.prev {
  opacity: 1;
  z-index: 2;
}

aside.Sidebar .Slider img.fade-out {
  opacity: 0;
  transition: visibility 0s .5s, opacity .5s linear;
  visibility: hidden;
}
/* END SLIDER */



/* ACCESSIBILITY */
body.TextBigger { font-size: 21px; }
body.TextBigger div.Search button { width: 42px; height: 42px; }

body.ColorContrast { color: #FFF; background: #000; }
body.ColorContrast,
body.ColorContrast p,
body.ColorContrast h1,
body.ColorContrast h2,
body.ColorContrast h3,
body.ColorContrast h4,
body.ColorContrast h5,
body.ColorContrast h6,
body.ColorContrast strong,
body.ColorContrast div.Search input[type=text],
body.ColorContrast div.Search button,
body.ColorContrast .BoxNews time,
body.ColorContrast .BoxNews footer a,
body.ColorContrast section.Results form input[type=search],
body.ColorContrast section.Results article aside.Info { color: #FFF; }

body.ColorContrast div.Search input[type=text]::placeholder { color: #CCC; }

body.ColorContrast div.Search input[type=text],
body.ColorContrast div.Search button,
body.ColorContrast .Box,
body.ColorContrast .Box footer,
body.ColorContrast section.Banners article h1,
body.ColorContrast section.Results form input[type=search],
body.ColorContrast section.Results form button,
body.ColorContrast section.Results form label,
body.ColorContrast section.Results article figure { background: #333; }
body.ColorContrast .Box footer { color: #FFF; }

.Accessibility {
  background: #222;
}

.Accessibility button {
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  margin: 10px 10px 10px 10px;
  font-family: Lato, sans-serif !important;
  font-size: .75em;
  color: #CCC;
  text-transform: uppercase;
  background: none;
  border: none;
}

.Accessibility button:hover,
.Accessibility button:focus {
  color: #EEE;
}
/* END ACCESSIBILITY */



@media only screen and (max-width: 991px) {/* MOBILE */

  nav.Header {
    position: fixed;
    top: 0;
    left: 0;
    margin: 0 auto 0 auto;
    width: 60%;
    height: 100%;
    box-shadow: inset -10px 0 20px 0 rgba(0, 0, 0, .8);
    background: -webkit-linear-gradient(left, rgba(30, 30, 30, 1), rgba(40, 40, 40, 1));
    background: -moz-linear-gradient(left, rgba(30, 30, 30, 1), rgba(40, 40, 40, 1));
    background: -o-linear-gradient(left, rgba(30, 30, 30, 1), rgba(40, 40, 40, 1));
    background: linear-gradient(left, rgba(30, 30, 30, 1), rgba(40, 40, 40, 1));
  }

  .Logo {
    padding: .25rem;
  }

  nav.Header ul.Menu .Container {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
  }

  nav.Header header {
    position: relative;
    height: unset;
    background-image: none !important;
  }

  nav.Header header div.Logo {
    display: none;
  }

  nav.Header .SocialSearch {
    display: block;
    margin: 20px auto 0 auto;
    width: 100%;
  }

  nav.Header ul.Social {
    display: block;
    width: 100%;
    text-align: center;
  }

  nav.Header ul.Social li.Button {
    margin: 0 1% 0 1%;
  }

  div.Search {
    margin: 0 auto;
    text-align: center;
  }

  div.Search input[type=text],
  div.Search input[type=text]:hover,
  div.Search input[type=text]:focus {
    width: calc(100% - 32px - 20px - 2px);
  }

  nav.Header div.Search input[type=text] {
    border-radius: .5rem 0 0 .5rem;
  }

  nav.Header div.Search button {
    border-radius: 0 .5rem .5rem 0;
  }

  nav.Header ul.Menu {
    clear: both;
    margin: 10px auto 0 auto;
  }

  nav.Header ul.Menu li {
    padding: 0 0 0 20px;
  }

  .Social-Follow .Networking {
    width: 8rem;
  }

  .Social-Follow .Networking i {
    margin: 0 .5rem;
  }

}

@media only screen and (min-width: 992px) {/* DESKTOP */

  header.Mobile {
    display: none;
  }

  nav.Header {
    position: unset;
    display: block;
    width: 100%;
    text-align: center;
    box-shadow: unset;
    -webkit-transform: unset;
    -moz-transform: unset;
    -ms-transform: unset;
    transform: unset;
  }

  nav.Header header {
    display: flex;
  }

  nav.Header header div.Logo {
    height: 200px;
  }

  nav.Header header div.Logo img {
    display: block;
    max-height: 10rem;
  }

  nav.Header ul.Menu {
    margin: 0 auto 0 auto;
    width: 100%;
    background: #222;
  }

  nav.Header ul.Menu li {
    display: inline-block;
    vertical-align: middle;
    padding: 0 1% 0 1%;
  }

  nav ul li a {
    font-size: .9em;
    line-height: 60px;
  }

  .Wrapper aside.Sidebar {
    display: inline-block;
    vertical-align: top;
    margin: 40px 0 0 calc(5% - 5px);
    width: 25%;
    text-align: center;
  }

  main {
    display: inline-block;
    vertical-align: top;
    margin: 40px auto 40px auto;
    width: 70%;
  }

  .Accessibility .Container {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  nav.Header header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .Header .SocialSearch {
    text-align: right;
  }

  .Logo {
    padding: 1rem;
  }

  .Social-Follow {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .Social-Follow .Networking i {
    margin-left: 1rem;
  }

  section.Banners article {
    margin: 0 1% 40px 1%;
  }

  /* ELEMENTS */
  .Grid {
    display: inline-block;
    vertical-align: top;
    margin: 0 2% 20px 0;
    width: calc(100% / 3 - 6% - 2% - 4px);
  }

  .Video {
    width: calc(100% / 2 - 6% - 2% - 4px);
  }

  .BoxNews {
    width: calc(100% / 3 - 2% - 4px);
  }

  section.Banners article {
    margin: 0 1% 40px 1%;
  }
  /* END ELEMENTS */

}
