/*!
Theme Name: custom theme
Theme URI:
Description: A custom theme for Cambridge Intelligence
Author URI:
Version: 2.1
Tags:
*/

*, *:before, *:after { box-sizing: border-box; }
html { font-size: 15px; }

@media screen and (min-width: 600px) {
  html { font-size: 18px; }
}

body {
    font-family: "Muli", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #2D3741;
    background: #fff;
    font-weight: 400;
    line-height: 1.3888;
    -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
    margin: 0;
    background-repeat: no-repeat;
    background-position: center 27vw;
}

@media screen and (min-width: 1910px){
  body { background-size: 100% auto; }
}

/* = Body backgrounds
------------------------------- */
body.page-template-keylines { background-image: url(/wp-content/uploads/2020/06/keylines-bg.jpg); }
body.page-template-regraph { background-image: url(/wp-content/uploads/2020/06/regraph-bg.jpg); }
body.page-template-kronograph { background-image: url(/wp-content/uploads/2020/06/kronograph-bg.jpg); }

/* = Fonts
------------------------------- */
p { margin: 0 0 1.5rem; }
.spaced p { margin-bottom: 2rem; }
.container > p:last-child { margin-bottom: 0; }

sub,sup { font-size: .48125rem; }
sub { vertical-align: sub; }
sup { vertical-align: super; }

.small,small { font-size: .75em; }

hr { border: 0; height: 1px; background-image: linear-gradient(to right,rgba(0,0,0,0.05),rgba(0,0,0,0.15),rgba(0,0,0,0.05)); margin: 1rem 0; }

/* = Links
------------------------------- */
a { text-decoration: none; color: #31C4FF; transition: color .3s ease; }
.selected a, .current-cat a { color: #333; }
a:hover { color: #333; }

/* = Headings
------------------------------- */
.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 { font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif; margin: 0 0 1.5rem; }

h1 { font-size: 2.250rem; font-weight: 500; line-height: 1.200em; }
h2 { font-size: 2.000rem; font-weight: 400; line-height: 1.250em; }
h3 { font-size: 1.750rem; font-weight: 500; line-height: 1.250em; }
h4 { font-size: 1.500rem; font-weight: 600; line-height: 1.250em; }
h5, h6, dt { font-size: 1.500rem; font-weight: 400; line-height: 1.250em; }

@media screen and (min-width: 1200px) {
  h1 { font-size: 3.056rem; line-height: 1.181em; }
  h2 { font-size: 2.500rem; line-height: 1.200em; }
  h3 { font-size: 2.222rem; line-height: 1.250em; }
}

/* = Font Modifications
------------------------------- */
.heavy { font-weight: 600; }

.leader, blockquote, .lrg, .large-font, .product-list, .customers .intro, .panel.why, .tiles--blog .entry-title, .byline, .callout h2, .callout h3, .callout h4, .callout h5, .callout h6 { font-size: 1.278rem; line-height: 1.391em; }

.hero .leader, .overlay .leader, .tagline { font-size: 1.667rem; line-height: 1.267em; }

.panel.why .leader { margin-bottom: 3rem; }

.product-list h3 { margin: 1.5rem 0 0.5rem; }

.footer h5 { font-size: 1rem; color: #868887; font-weight: 400; margin-bottom: 10px; }

.container.dark h4, .container.mid h4 { font-weight: 400; }

.container > h2:last-child { margin-bottom: 0; }

@media screen and (min-width: 900px) {
  .spaced { margin-bottom: 4.5rem; }
  .leader { font-size: 1.667rem; line-height: 1.267em; }
  .tagline, .overlay .leader { font-size: 2.5rem; line-height: 1.111em; font-weight: 300; }
}

@media screen and (min-width: 1200px) {
  .panel.why h2 { font-weight: 500; }
  .panel.why .leader { font-size: 2.222rem; line-height: 1.250em; margin-bottom: 15rem; }
  .customers .intro h2, .panel.ready h2 { font-size: 3.056rem; line-height: 1.090em; }
  .panel.ready h2 { margin-bottom: 3rem; }
}

/* = Utilities
------------------------------- */
.c-t { text-align: center; }
.r-t { text-align: right; }
.l-t, .fwp > .overlay:first-child .c-t { text-align: left; }
.s-c { font-variant: small-caps; }
.center-feature { text-align: center; max-width: 825px; margin: 0 auto 20px; }
.clear { clear: both; padding-top: 16px; }
.no-float { float: none !important; }
.closer { margin-bottom: 0 !important; }

.alignleft,img.alignleft { margin: 0 1.5em 1em 0; display: block; float: left; }
.alignright,img.alignright { margin-left: 1.5em; display: inline; float: right; }
.aligncenter,img.aligncenter { margin-right: auto; margin-left: auto; display: block; clear: both; }

.button.center { text-align: center; }

.panel.products .c-t { text-align: left; }

@media screen and (min-width: 900px){
  .c-t { text-align: center !important; }
  .fwp > .overlay:first-child .c-t { text-align: left !important; }
}

 /* = Hero tagline
 ------------------------------- */
.tagline { margin: 0; max-width: 750px; }

/* = Blog Byline
------------------------------- */
.byline { margin: 0; }
.byline a, .tagline a { color: inherit; }
.byline a:hover, .tagline a:hover { color: #31C4FF; }
h1 + .byline { margin-top: -1rem; }

/* = "Leader" text
------------------------------- */
.c-t .leader { max-width: 1000px; margin-left: auto; margin-right: auto; }
.leader.narrow { max-width: 480px; }
.why .leader { max-width: 815px; }

/* = Images
------------------------------- */
img, video { max-width: 100%; height: auto; vertical-align: bottom; }
img.cntr { display: block; margin: 0 auto; }
.quote-thumbnail { display: block; margin: 0 auto 1.5rem; }
.avatar img { border-radius: 5px; }

img.framed { background: #fff; box-shadow: 0 3px 6px rgba(0,0,0,.16); border-radius: 10px; padding: 15px; }
img.raised { box-shadow: 0 6px 6px rgba(0,0,0,.5); padding: 0 !important; }

.brochure img { box-shadow: 11px 11px 50px -13px rgba(0,0,0,0.5); }

@media screen and (min-width: 900px){
  .quote-thumbnail { margin: 0; }
  .quote-thumbnail.left { float: left; margin-right: 3rem; }
  .quote-thumbnail.right { float: right; margin-left: 3rem; }
}

@media only screen and (max-width: 800px),only screen and (max-device-width: 800px) {
    img[class="mobile-hide"] { display: none !important; }
}

/* = Video
------------------------------- */
.video-container { position: relative; padding-bottom: 56.25%; height: 0; }
.video-container embed,.video-container iframe,.video-container object { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* = Blockquotes
------------------------------- */
blockquote { margin: 0 0 1.5rem 0; position: relative; }
blockquote footer { position: relative; font-size: 0.8em; }
blockquote p { margin-bottom: 1rem; }
blockquote a, blockquote a:hover { color: inherit; }
blockquote::after { content: "\201D"; display: block; text-align: center; color: #31C4FF; font-size: 12rem; line-height: 120px; height: 40px; margin-top: 1.5rem; }
.container blockquote:last-child { margin: 0; }

blockquote.left { margin-right: 20px; text-align: right; margin-left: 0; width: 33%; float: left; }
blockquote.right { margin-left: 20px; text-align: left; margin-right: 0; width: 33%; float: right; }

blockquote.blog { background: #3D4A57; color: #fff; padding: 1.5rem; }

@media screen and (min-width: 900px){
    blockquote::after { position: absolute; bottom: 0; margin-bottom: -2rem; right: 2.5rem; }
    blockquote.blog { padding-right: 6rem; min-height: 120px; }
    blockquote.blog::after { margin-bottom: 0; bottom: 1.5rem; right: 1rem; }
}


/* = Figures
------------------------------- */
caption { display: table-caption; font-style: italic; text-align: left; line-height: 1.5; color: #919191; font-size: .75em; }
figcaption { font-size: .875em; padding: .5rem; background: #fff; color: #666; }

figure img { vertical-align: bottom; }
figure.left { float: left; margin: 0 24px 10px 0; }
figure.pull-left { float: left; margin: 0 24px 4px -32px; }
figure.feature { background: #f6f6f6; padding: 24px 32px; margin: 1.5rem 0; }
figure.feature img { display: block; margin: 0 auto; max-width: 100%; height: auto; }
figure.feature figcaption { background: #f6f6f6; text-align: left; color: #777; padding: 1em 2em; }
figure.feature figcaption:before { content: '\f030'; font-family: FontAwesome; padding-right: 8px; }
figure.video { background: #000; }
figure.featured-video { background: #f4f4f4; padding: 2em 0 1em; }
figure.featured-video .holder { max-width: 600px; margin: 0 auto; }
figure.featured-video figcaption { max-width: 1024px; margin: 0 auto; background: 0 0; }
figure.featured-video figcaption:before { content: '\f03d'; font-family: FontAwesome; padding-right: 16px; }
figcaption.blue { background: #49a6e7; color: #ddd; }
figcaption.photo:before { content: '\f030'; font-family: FontAwesome; padding-right: 8px; }
figcaption.video:before { content: '\f03d'; font-family: FontAwesome; padding-right: 8px; }

/* = Tables
------------------------------- */
table { border-collapse: collapse; border: 1px solid silver; page-break-inside: avoid; }
td,th { padding: 8px; border: 1px solid #ccc; text-align: center; }
th { font-weight: 700; }

table.borderless { border: 0 solid #fff; }

/* = Definition Lists
------------------------------- */
dt { margin: 2.5rem 0 .5rem; }
dd { margin: 0; }

/* = Forms
------------------------------- */
#sform { max-width: 600px; margin: 1em auto; }
form { padding: 2em; }
.form-half { width: 48%; float: left; }
.first { margin-right: 4%; }
.full { clear: left; }
label { display: block; color: #333; margin-bottom: 5px; font-size: 0.9em; font-weight: 400; }
input[type=text],input[type=email],input[type=search] { min-height: 40px; width: 100%; padding: 0 10px; border: 1px solid #ccc; border-radius: 3px; outline: 0; font-size: 16px; font-family: "Muli", "Helvetica Neue", Helvetica, Arial, sans-serif; margin-bottom: 16px; line-height: 1; color: #777; background: none; -webkit-appearance: none; }
input[type=text]:focus,input[type=email]:focus,input[type=search]:focus,textarea:focus { border-color: #31C4FF; outline: 0; }
textarea { width: 100%; padding: 8px; border-radius: 2px; border: 1px solid silver; outline: 0; font-size: 16px; font-family: "Muli", "Helvetica Neue", Helvetica, Arial, sans-serif; margin-bottom: 16px; }
label.check-label { display: inline; margin-left: 10px; margin-top: -3px; }
select { min-height: 40px; width: 48%; padding: 0 10px; border: 1px solid #ccc; border-radius: 3px; outline: 0; font-size: 16px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; margin-bottom: 16px; color: #777; background: none; -webkit-appearance: none; text-overflow: ''; text-indent: none; }
select.filter { display: block; clear: both; width: 100%; background: #fff; text-transform: capitalize; }

.button-strip { clear: both; text-align: center; padding-top: 24px; }
.form-third { margin-bottom: 1em; }

@media only screen and (min-width: 900px){
  .post-controls {
      display: none;
  }
}

@media screen and (min-width: 700px) {
    .form-third { width: 30%; float: left; margin-left: 5%; margin-bottom: 0; }
    .form-third:first-child { margin-left: 0; }
}

/* = Signup form
------------------------------- */
.signup form { border: none; padding: 0; }
.signup form:after { display: table; clear: both; }
.signup form input[type=submit] { float: none; }
.signup input[type=text],.signup input[type=email] { border-color: #666; border-width: 1px 0; border-radius: 0; padding: 0; }
.signup input[type=text]:focus,.signup input[type=email]:focus { border-color: #999; outline: 0; }

/* = Buttons
------------------------------- */
.button { clear: both; margin: 0; }
.button a, input[type=submit], button { font-family: "Muli", "Helvetica Neue", Helvetica, Arial, sans-serif; cursor: pointer; letter-spacing: 0; outline: 0; border: 0; font-size: 1.2rem; font-weight: 400; display: inline-block; margin: 0; background: #31C4FF; padding: 10px 25px; color: #fff; border-radius: 5px; transition: background-color .2s ease; -webkit-appearance: none; }
.button a:hover, input[type=submit]:hover, button:hover, button.active { background-color: #1ba2d8; }

button.js-filter, .button a.js-filter { margin-bottom: 5px; }

/* = Lists...
------------------------------- */
ul { padding: 0; margin: 0 0 1.5rem 20px; list-style-type: disc; }
ol { list-style-type: decimal; margin-left: 20px; padding-left: 0; }
ul.fancy { list-style: none; margin-left: 0; }
ul.fancy li:before { content: '\f058'; font-family: FontAwesome; padding-right: 8px; }
ul.fancy.blue li:before { color: #fff; }

/* = Plain list
------------------------------- */
.plain.list { margin-left: 0; list-style: none; }

/* = Divided
------------------------------- */
.divided.list { list-style: none; margin-left: 0; }
.divided.list li { border-bottom: solid 1px #eee; margin: 0 0 .5rem; padding: 0 0 .5rem; }
.divided.list a { color: inherit; }
.divided.list a:hover { color: #31C4FF; }

/* = Product List
------------------------------- */
.product-list { margin: 3rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; text-align: left; }
.product-list li { flex: 1; margin-bottom: 1em; }
.product-list a { color: inherit; display: flex; }
.product-list p { max-width: 280px; margin-left: auto; margin-right: auto; }
.product-list .text { padding-left: 1.5em; }

@media screen and (min-width: 900px){
  .product-list { flex-direction: row; text-align: center; }
  .product-list li { margin-bottom: 0; }
  .product-list .text { padding: 0; }
  .product-list a { display: block; }
}

/* = Use Cases List
------------------------------- */
.use-cases { margin: 3rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; text-align: center; }
.use-cases li { flex: 1; margin-bottom: 1.5rem; }
.use-cases li:last-child { margin-bottom: 0; }
.use-cases a, .use-cases a:hover { color: inherit; }

@media screen and (min-width: 900px){
  .use-cases { margin: 4.5rem 0 0; flex-direction: row;}
  .use-cases li { margin-bottom: 0; }
}

/* = Key Points List
------------------------------- */
.key-points { margin: 0; position: relative; padding: 0; list-style: none; display: flex; flex-direction: column; }
.key-points li { flex: 1; margin: 0; padding: 0 5%; }
.key-points li::before { content: ''; display: block; height: 2px; background: #31C4FF; margin-bottom: 1.5rem; }

@media screen and (min-width: 1200px){
  .key-points { flex-direction: row; }
  .key-points li { padding: 0 4rem; transition: transform 500ms ease; }
  .key-points li:hover { transform: translateY(-15px); }
  .key-points li::before { opacity: 0; transition: opacity 500ms; margin-bottom: 10px; }
  .key-points li:hover::before { opacity: 1; }
}

/* = Logo Grid List
------------------------------- */
.logo-grid ul { margin: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr 1fr; text-align: center; }
.logo-grid li { margin: 5px; background: #fff; border-radius: 5px; }
.logo-grid img { filter: grayscale(1); }
.product-feature .logo-grid { min-width: 100%; }

@media screen and (min-width: 900px){
  .product-feature .logo-grid { min-width: 53%; margin-left: 4.5rem; }
}

ul.search-results { list-style: none; margin: 3rem 0; }

/* = Callout boxes
------------------------------- */
.callout { background: #eee; box-shadow: 0 3px 6px rgba(0,0,0,0.16); border-radius: 5px; padding: 25px; }
.callout .thumbnail { float: left; margin: 1em 15px 1em 0; }
.callout p { margin-bottom: 0; }
.callout > div { margin: 0 0 20px 0; }
.callout > div:after { content: ""; display: table; clear: both; }
.callout > div:last-child { margin-bottom: 0; }
.callout h2, .callout h3, .callout h4, .callout h5, .callout h6 { margin-bottom: 0 }

@media screen and (max-width: 1400px){
  .sidebar .callout { text-align: center; }
  .sidebar .callout .thumbnail { float: none; display: block; }
  .sidebar .callout > div { margin-bottom: 30px; }
}

/* = Overview panel
------------------------------- */
.overview { display: flex; flex-direction: column-reverse; }
.overview .media { width: calc(100% + 3rem); margin: -1.5rem -1.5rem 1.5rem; }
.overview .media img { width: 100%; max-width: 100%; }
.overview > .lrg:first-child { flex: 1; }

@media screen and (min-width: 1200px){
  .overview { flex-direction: row; }
  .overview .media { margin: 0 0 0 3rem; width: 600px; }
}

/* = Boxes
------------------------------- */
.box { border: 1px solid #ddd; border-radius: 3px; padding: 20px; margin-bottom: 1.5rem; }

/* = Browser
------------------------------- */
.browser { min-width: 100%; background: #fff; box-shadow: 0 3px 6px rgba(0,0,0,.16); border-radius: 10px; padding: 15px; }
.browser::before { content: ''; display: block; background: url(css_images/browser-icons.svg) no-repeat left top; height: 8px; width: 35px; margin-bottom: 10px; }
.browser img { width: 100%; }

@media screen and (min-width: 1200px){
  .browser { min-width: 555px; }
}

/* = Feature Media
------------------------------- */
.product-feature .media  { min-width: 100%; background: #fff; box-shadow: 0 3px 6px rgba(0,0,0,.16); border-radius: 10px; padding: 15px; }

@media screen and (min-width: 1200px){
  .product-feature .media  { min-width: 600px; }
}

/* = Feature Modules
------------------------------- */
.product-feature { display: flex; flex-direction: column; align-items: center; }
.product-feature p:last-child { margin-bottom: 0; }
.product-feature.reverse { flex-direction: column-reverse; }
.product-feature > div { margin: 1.5rem 0; }
.product-feature ul:last-child { margin-bottom: 0; }

@media screen and (min-width: 1200px){
  .product-feature > div { margin: 0; }
  .product-feature + .product-feature { margin-top: 6rem; }
  .product-feature, .product-feature.reverse { flex-direction: row; }
  .product-feature div:first-child .browser, .product-feature div.media:first-child { margin-right: 6rem; }
  .product-feature div:last-child .browser, .product-feature div.media:last-child { margin-left: 6rem; }
}

/* = Hero Swoop
------------------------------- */
.hero-swoop, .hero-swoop svg + svg { position: absolute; top: 0; left: 0; width: 100%; }
.hero-swoop { min-height: 39vw; overflow: hidden; }

@media screen and (max-width: 1200px){
  .hero-swoop { min-height: calc(39vw + 300px); background: linear-gradient(rgba(202,205,207,.265) 0%, rgba(202,205,207,.265) 300px, transparent 301px); }
  .hero-swoop--dark { background: linear-gradient(#2C3741 0%, #2C3741 300px, transparent 301px); }
  .hero-swoop svg { position: relative; }
  .hero-swoop svg, .hero-swoop svg + svg { top: 300px; width: 118%; }
}

/* = Hero
------------------------------- */
.hero:not(h1):not(h2) { position: relative; padding-top: 107px; }
.hero.preserve { min-height: 39vw; }
.hero .inner { width: 90%; max-width: 1300px; margin: 0 auto; position: relative; padding: 1.5em; }
.hero h1:last-child { margin-bottom: 0; }
.hero--dark, .dark-theme .overlay { color: #fff; }
.hero h1 a { color: inherit; }
.hero h1 a:hover { color: #31C4FF; }

.hero .product-logo { float: left; margin: .5rem 3rem 0 0; }
.hero--product { text-align: center; }
.hero--product .inner { display: flex; justify-content: center; margin: 0 auto; text-align: left; }
.hero--product .tagline { max-width: 650px; }
.hero--product h1 { margin-bottom: 1rem; }

@media only screen and (min-width: 900px) {
  .hero .inner { padding: 3.5rem 3rem; }
  .hero.indented .inner { padding-left: 3rem; padding-right: 3rem; }
  .hero .inner.video-intro { padding-left: 0; padding-right: 0; }
  .hero--dark .inner { padding-bottom: 4.5rem; }
}

/* Reformat product hero for small screens */
@media screen and (max-width: 900px){
  .hero--product .product-logo { display: none; }
}

/* = Panels
------------------------------- */
.panel { position: relative; padding: 1.5em 0; }
.panel.why { position: relative; background: url(css_images/why.jpg) no-repeat center center; background-size: cover; color: #fff; }
.panel.why:before { content: ''; position: absolute; top: 0; left: 0; height: 100%; width: 100%; background: rgba(0,0,0,.5); }

.panel.top.swoop { background: #f7f7f7; margin-top: 11.5vw; }
.panel.bottom.swoop { background: #f7f7f7; margin-bottom: 7.5vw; }
.panel.top.swoop:before { content: ""; display: block; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; background-image: url( css_images/top-swoop.svg); background-size: 100% auto; height: 11.5vw; transform: translateY(calc(-100% + 1px)); }
.panel.bottom.swoop:after { content: ""; display: block; position: absolute; bottom: 0; left: 0; z-index: 1; width: 100%; background-image: url( css_images/bottom-swoop.svg); background-position: left bottom; background-size: 100% auto; height: 7.5vw; transform: translateY(calc(100% - 1px)); }
.panel.bottom.swoop.flipped:after { transform: translateY(100%) scaleX(-1); }

.panel.bg, .panel.light-gray-panel { background: #f7f7f7; }
.panel.dark { background: #3D4A57; color: #fff; }
.panel.ready { padding: 4.5em 0; }
.panel.behind { margin: -7.5vw 0 -11.5vw; padding: 7.5vw 0 11.5vw; }
.panel.behind { padding-top: calc(7.5vw + 4.5rem); padding-bottom: calc(11.5vw + 4.5rem); }
.panel.career-grid { padding-bottom: 0; margin-bottom: -40px; }

.panel .inner p:last-child,
.panel .inner h1:last-child { margin-bottom: 0; }

@media only screen and (min-width: 1200px) {
  .panel { padding: 4.5rem 0; }
  .panel.why { padding: 7.5rem 0 4.5rem; }
  .panel.why:before { background: repeating-linear-gradient(to right, rgba(0,0,0,.5) 0%, rgba(0,0,0,.5) 10%, rgba(0,0,0,.5) 24.8%, transparent 25%); }
  .panel.ready { padding: 6rem 0; }
  .panel--use-cases { padding-bottom: 7.5rem; }
  .fwp .panel:last-child { padding-bottom: 7.5rem; }
  .panel.base { padding: 3rem 0; }
  .panel.overlap { margin-top: 12rem; }
  .panel.overlap > .container:first-child { margin-top: -15rem; }
  .panel.behind { padding-top: calc(7.5vw + 6rem); padding-bottom: calc(11.5vw + 6rem); }
  .panel.top.swoop > .container:first-child { top: -3rem; z-index: 1; margin-bottom: -3rem; }
  .panel.top.bottom.swoop > .container:last-child { margin-bottom: 0; }
  .hero:not(.preserve)+.panel { padding-top: 0; }
  .panel.bottom.swoop, .panel.career-grid { padding-bottom: 0 !important; }
}

@media only screen and (min-width: 1500px){
  .panel.top.swoop { padding-top: 0; }
}

/* = Containers
------------------------------- */
.container { width: 90%; max-width: 1300px; margin: 0 auto; position: relative; border-radius: 4px; }
.container:after { content: ""; display: table; clear: both; }
.container.bg, .container.light-theme, .panel > .container.group { box-shadow: 0 3px 6px rgba(0,0,0,0.18); background: #fff; padding: 1.5rem; }
.container.dark, .container.dark-theme { background: #2D3741; color: #fff; padding: 1.5rem; }
.container.mid { background: #3D4A57; color: #fff; padding: 1.5rem; }
.container.narrow, .container-narrow { max-width: 1100px; }

.container.dark a:hover, .container.mid a:hover { color: inherit; }

.panel.career-grid .container { position: absolute; top: 50%; left: 50%; transform: translate3d(-50%, -50%, 0); background-color: rgba(255,255,255,0.9); }

.container > .button.overlap { position: relative; width: 100%; z-index: 2; margin: 3rem 0 2rem; }

.container+.container { margin-top: 3rem; }

@media only screen and (min-width: 900px) {
    .container .content { float: left; width: 70%; }
    .container .content.wide { width: 75%; }
    .container .sidebar { float: right; width: 25%; }
    .container .content.wide + .sidebar { width: 20%; }
    .container.bg, .container.light-theme, .container.dark, .container.dark-theme, .container.mid { padding: 3rem; }
    .container.relaxed { padding: 4.5rem; }
    .container > .button.overlap { margin-bottom: 0; }
}

@media screen and (min-width: 1200px){
  .container.indented { padding-left: 7rem; }
  .container.full { max-width: calc(100% - 8rem); }
  .container > .button.overlap { position: absolute; bottom: 0; left: 0; margin: 0; transform: translateY(50%); }
}

/* = Support old image panels
------------------------------- */
.rand-image-panel, .main-image-panel, .team-image-panel { position: relative; padding-top: 107px; padding-bottom: 0; }
.rand-image-panel .inner, .main-image-panel .inner, .team-image-panel .inner { width: 90%; max-width: 1300px; margin: 0 auto; position: relative; padding: 1.5em; }

.panel.white-panel .container { box-shadow: 0 3px 6px rgba(0,0,0,0.18); background: #fff; padding: 1.5rem; }

@media only screen and (min-width: 900px) {
  .rand-image-panel .inner, .main-image-panel .inner, .team-image-panel .inner { padding: 3.5rem 3rem; }
  .dark-theme .rand-image-panel .inner, .dark-theme .main-image-panel .inner, .dark-theme .team-image-panel .inner { padding-bottom: 4.5rem; }
}

@media only screen and (min-width: 900px) {
  .rand-image-panel+.panel, .main-image-panel+.panel, .team-image-panel+.panel { padding-top: 0; }
}

/* = Video Hero
------------------------------- */
.video-intro { display: flex; flex-direction: column-reverse; justify-content: center; }
.video-intro .player { width: 100%; max-width: 100%; }
.video-intro .content { max-width: 550px; margin-bottom: 1.5rem; }

@media only screen and (min-width: 1200px) {
  .video-intro { flex-direction: row; align-items: center; }
  .video-intro .content { flex: 1; padding-left: 56px; margin: 0; }
  .video-intro .content .leader { max-width: 400px; }
  .video-intro .player { width: 500px; }
  .hero--product .inner { padding: 4.5rem 0 6rem; }
}

@media only screen and (min-width: 1500px) {
  .video-intro .player { width: 600px; }
}

@media only screen and (min-width: 1800px) {
  .video-intro .player { width: 755px; }
}

/* = Customers panel
------------------------------- */
@media screen and (min-width: 1200px){
  .customers { display: flex; }
  .customers .intro { max-width: 395px; margin-right: 50px; }
  .customers .thumbnails { margin-top: -50px; }
}

/* = Logo gallery
------------------------------- */
.logo-gallery { margin: 0; padding: 0; list-style: none; display: flex; flex-flow: row wrap; align-content: center; justify-content: center; }
.logo-gallery li { width: 33.333%; justify-content: center; text-align: center; }

/* = Menu Toggle
------------------------------- */
.menu-toggle { display: block; float: right; width: 27px; height: 23px; position: relative; margin: 30px 0 0 0; cursor: pointer; }
.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after { height: 3px; width: 100%; background: #31C4FF; position: absolute; top: 0; left: 0; display: block; content: ''; transition: all .3s ease; }
.menu-toggle span:before { top: 10px; }
.menu-toggle span:after { top: 20px; width: 18px; }
.menu-toggle.toggled span { background: none !important; }
.menu-toggle.toggled span:before,.menu-toggle.toggled span:after { top: 11px; }
.menu-toggle.toggled span:before { transform: rotate(45deg); }
.menu-toggle.toggled span:after { transform: rotate(-45deg); width: 100%; }

@media only screen and (min-width: 1200px) {
    .navcontainer .menu-toggle { display: none; }
}

/* = Nav Logo
------------------------------- */
.main-logo { float: left; width: 241px; height: 89px; background: url(css_images/ci-white.svg) no-repeat left center; text-indent: 100%; white-space: nowrap; overflow: hidden; }

.main-logo.logo-keylines { background: url(css_images/kl-new-white.svg) no-repeat left center; }
.main-logo.logo-regraph { background: url(css_images/regraph.svg) no-repeat left center; }
.main-logo.logo-kronograph { background: url(css_images/kronograph.svg) no-repeat left center; width: 276px; }

.main-logo.main-product-logo { display: none; }

@media only screen and (max-width: 360px) {
    .main-logo { width: 200px; background-size: 200px; max-height: 74px; }
}

@media screen and (max-width: 900px){
  .page-template-keylines .main-logo,
  .page-keylines .main-logo,
  .page-template-regraph .main-logo,
  .page-regraph .main-logo,
  .page-template-kronograph .main-logo,
  .page-kronograph .main-logo { display: none; }

  .page-template-keylines .main-logo.main-product-logo,
  .page-keylines .main-logo.main-product-logo,
  .page-template-regraph .main-logo.main-product-logo,
  .page-regraph .main-logo.main-product-logo,
  .page-template-kronograph .main-logo.main-product-logo,
  .page-kronograph .main-logo.main-product-logo { display: inline; }

}

@media screen and (min-width: 1200px){
  .page-template-keylines .navcontainer.switch .main-logo,
  .page-keylines .navcontainer.switch .main-logo,
  .page-template-regraph .navcontainer.switch .main-logo,
  .page-regraph .navcontainer.switch .main-logo,
  .page-template-kronograph .navcontainer.switch .main-logo,
  .page-kronograph .navcontainer.switch .main-logo { display: none }

  .page-template-keylines .navcontainer.switch .main-logo.main-product-logo,
  .page-keylines .navcontainer.switch .main-logo.main-product-logo,
  .page-template-regraph .navcontainer.switch .main-logo.main-product-logo,
  .page-regraph .navcontainer.switch .main-logo.main-product-logo,
  .page-template-kronograph .navcontainer.switch .main-logo.main-product-logo,
  .page-kronograph .navcontainer.switch .main-logo.main-product-logo { display: inline }

}

/* = Call-to-action links
------------------------------- */
.cta-links { position: fixed; top: 177px; right: 0; z-index: 3; background: #31C4FF; transform: translateX(100%) rotate(90deg); transform-origin: top left; border-radius: 0 0 5px 5px; }
.cta-links ul { margin: 0; padding: 0; list-style: none; }
.cta-links li { display: inline; }
.cta-links a { display: inline-block; padding: 8px 10px 10px; color: inherit; font-weight: bold; transition: background-color 500ms ease;}
.cta-links li:first-child a { padding-left: 20px; }
.cta-links li:last-child a { padding-right: 20px; }
.cta-links a:hover { background-color: rgba(0,0,0,0.1); }

@media only screen and (max-width: 1140px) {
    .cta-links ul { margin-right: 20px; }
}

/* = Navigation
------------------------------- */
.navcontainer { position: absolute; top: 0; left: 0; width: 100%; padding: 0 5%; z-index: 2; color: #fff; min-height: 107px; }
.single-post .navcontainer,
.page-template-full_width_plain:not(.home) .navcontainer,
.search .navcontainer,
.error404 .navcontainer { background: #2D3741; }
.navcontainer.active, .navcontainer.fix { background: #2D3741; }
.navcontainer.fix { position: fixed; top: 0 !important; z-index: 101; box-shadow: 0 4px 7px -7px rgba(0,0,0,0.3); }

.uppernav { max-width: 1300px; margin: 0 auto; }
.product-menu { display: none; }

.topnav { float: right; margin-top: 46px; }
.topnav ul { float: right; margin: 0; padding: 0; }
.topnav li { display: inline; }
.topnav a { display: inline-block; padding: 0 15px; color: #fff; font-weight: 600; }

@media only screen and (max-width: 1200px) {
    .navcontainer { background: #2D3741; }
    ul.product-menu { display: block; border-bottom: solid 1px #52606A; margin-bottom: 1.5rem; padding-bottom: 1.5rem; }
    .topnav { float: none; clear: both; padding: 1.5rem 0; display: none; margin: 0; }
    .topnav.show { display: block; }
    .topnav ul { float: left; width: 100%;}
    .topnav li { display: block; float: left; width: 50%; }
    .topnav a { display: block; padding: 1rem 0; color: #fff; }
    .topnav a:hover { text-decoration: none; color: #31C4FF; }
}

@media screen and (min-width: 1200px){
  .topnav a::after { content: ''; display: block; width: 0; height: 3px; margin-top: 3px; background: #31C4FF; transition: width 200ms; }
  .topnav a:hover::after, .current-menu-item a::after, .nav-menu .current-page-ancestor a::after { width: 100%; }

  .navcontainer.switch .product-menu { display: block; }
  .navcontainer.switch .nav-menu { display: none; }
}

/* = Header Search
------------------------------- */
form.header-search { border: 0; margin: 0 0 0 30px; padding: 0; float: right; width: 20px; position: relative; overflow: hidden; transition: width 500ms ease; }
form.header-search::after { content: ''; display: block; width: 0; height: 3px; background: #31C4FF; transition: width 200ms; }
form.header-search:hover::after,
form.header-search.open::after { width: 100%; }
form.header-search .search-field { width: 155px; opacity: 0; background-color: transparent; color: #fff; border: 0; font-size: 1em; height: 27px; min-height: 27px; margin: 0; padding: 0; border-radius: 0; transition: opacity 500ms ease; }
form.header-search .search-submit { border: 0; background: none; padding: 0; color: #fff; font-size: 1em; position: absolute; right: 0; top: 2px; cursor: pointer; }

form.header-search.open { width: 177px; }
form.header-search.open .search-field { opacity: 1; }

.search-field::-webkit-input-placeholder { color: #fff; }
.search-field:-moz-placeholder { color: #fff; opacity: 1; }
.search-field::-moz-placeholder { color: #fff; opacity: 1; }
.search-field:-ms-input-placeholder { color: #fff; }
.search-field:placeholder-shown { color: #fff; }

@media screen and (max-width: 1200px) {
    form.header-search, form.header-search.open { float: none; width: auto; max-width: 100%; margin: 0 0 1.5rem; }
    form.header-search .search-field { width: calc(100% - 25px); opacity: 1; }
    form.header-search::after { width: 100%; }
}

/* = Page Navigation
------------------------------- */
.page-nav { padding: 20px 0; text-align: center; border-bottom: 1px solid #ddd; }
.page-nav a { text-transform: uppercase; font-size: 1.25em; padding: 8px 7px; display: inline-block; line-height: 1.4; }
.page-nav .button { padding: 0; }
.page-nav .button a { border: solid 1px #31c4ff; color: #31c4ff; background: none; text-shadow: none; padding: 7px; margin: 0; font-size: 1.25em; transition: color .3s ease; }
.page-nav .button a:hover { background: none; color: #333; }

/* = Footer
------------------------------- */
.footer { background: #2D3741; padding-bottom: 2em; }
.footer .container { display: flex; flex-direction: column; }
.footer .footer-links { flex: 1; display: flex; flex-direction: row; flex-wrap: wrap; }
.footer .footer-links > div { width: 50%; }
.footer .footer-social { max-width: 500px; }
.footer ul { margin: 0 0 3rem 0; padding: 0; list-style: none; }
.footer li { margin: 0 0 10px; }
.footer li a { color: #cdcdcd; }
.footer li a:hover { color: #fff; }

.panel.base p { font-size: .875em; max-width: 800px; }
.footer-logo { float: right; margin: 0 0 50px 50px; }

.social .fa { font-size: 2.3em; }
.social a { color: #2D3741; margin-left: 12px; transition: color .3s ease; }
.social a:first-child { margin-left: 0; }
.social a:hover { color: #31C4FF; }

@media screen and (min-width: 600px) {
  .social { float: right; }
  .footer .footer-links { flex-direction: row; }
  .footer .footer-links > div { width: auto; flex: 1; }
}

@media screen and (min-width: 1200px) {
  .footer .container { flex-direction: row; }
  .footer ul { margin: 0; }
}

/* = Grids
------------------------------- */
.grid,.grid>div { width: 100%; }
.grid { clear: both; }
.grid .grid>div,.grid>div { padding: 0; }
.grid:after { content: ""; display: table; clear: both; }
.grid .grid { margin-bottom: 0; }
.grid + .grid { margin-top: 5rem; }

@media only screen and (min-width: 600px) {
    .grid .grid>div { padding: 0; }
}

@media only screen and (min-width: 800px) {
    .grid>div { float: left; }
    .grid>div+div { margin-left: 4%; }
    .grid>.half+.half { margin-left: 10%; }
    .grid>.third+.third { margin-left: 5%; }
    .grid .half { width: 45%; }
    .grid .third { width: 30%; }
    .grid .two-third { width: 65.33%; }
    .grid .quarter { width: 22%; }
    .grid .three-quarter { width: 74%; }
    .grid .fifth { width: 16.8%; }
    .grid .two-fifth { width: 37.6%; }
    .grid .three-fifth { width: 58.4%; }
    .grid .four-fifth { width: 67.2%; }
}

/* = Blog Container
------------------------------- */
.blog-container:after { content: ""; display: table; clear: both; }
.blog-container .left-sidebar { margin-bottom: 2em; }

.details .category:before { content: '\f07c'; }
.details .tag:before { content: '\f02b'; }
.details .date:before { content: '\f133'; }
.details .author:before { content: '\f007'; }
.comments:before { content: '\f086'; }
.info:before { content: '\f05a'; }

.blog-container .category, .blog-container .comments, .blog-container .tag { font-size: .875em; margin-bottom: 0; }
.blog-container .tag span::after { content: " | " }
.blog-container .tag span:last-child::after { content: "" }

.details .author:before,.category:before,.comments:before,.date:before,.info:before,.tag:before { font-family: FontAwesome; padding-right: 6px; }

.blog-more-link { text-align: right; margin-top: 24px; padding-top: 10px; }
.blog-container .right { transition: all .3s ease; }
.blog-container .right h4 { font-size: 1.15em; border-bottom: 1px solid #eee; margin-bottom: 0; }
.blog-container .right h5 { font-size: 1.15em; color: #333; margin-top: 0; }
.blog-container .right li { margin-bottom: 8px; }
.blog-container .push { margin-top: .7em; }

@media only screen and (min-width: 900px) {
    .blog-container .left { float: left; width: 70%; }
    .blog-container .right { float: right; width: 24%; }
    .blog-container .left-sidebar { float: left; width: 20%; }
    .blog-container .stick-it.fixed { position: fixed; top: 120px; z-index: 2; }
    .blog-container .right--with-sidebar { width: 80%; }
}

/* = Tiles/Cards
------------------------------- */
.tiles { display: flex; flex-wrap: wrap; justify-content: center; margin: 0 -1rem 1.5rem; }
.tiles:last-child { margin-bottom: 0; }

.hentry { padding: 0 1rem; display: flex; width: 100%; margin-bottom: 1.5rem; }
.hentry:last-child { margin-bottom: 0; }
.hentry .content { display: flex; flex-direction: column; width: 100%; background: #FBFBFB; padding: 1rem; border-radius: 5px; box-shadow: 0 3px 6px rgba(0,0,0,.16); }
.hentry .logo { text-align: center; margin-top: -64px; position: relative; }
.hentry .brochure { text-align: center; }
.hentry .thumbnail img { border-radius: 5px; }
.hentry .description { flex: 1 0 auto; }
.hentry .entry-title a { color: inherit; }
.hentry .details { font-size: .875em; line-height: 1.5em; }
.hentry .supplementary { color: #888; }
.hentry .role { padding-left: 5px; }
.hentry .thumbnail+.entry-title { margin-top: 20px; }
.hentry .terms { margin: 0; }
.hentry .terms span:after { content: ' | '; }
.hentry .terms span:last-child:after { content: ''; }

.swoop .hentry .content { background: #fff; }

.tiles--cover { margin-top: 3rem; }
.tiles--cover .hentry .content { display: flex; padding: 1.5rem; }
.tiles--cover .thumbnail { margin: -1.5rem -1.5rem 0; background: #2D3741; border-radius: 5px 5px 0 0; }
.tiles--cover .thumbnail img { width: 100%; border-radius: 5px 5px 0 0; }

.hentry--team .thumbnail { background: #111; text-align: center; }
.hentry--team h2 { margin-bottom: 5px; }
.hentry--team h3 { margin: 0; color: #333; font-size: 1em; font-weight: bold; margin-bottom: 10px; }

@media all and (min-width: 600px) {
  .tiles .hentry { width: 50%; }
}
@media all and (min-width: 900px) {
  .tiles .hentry { width: 33.33%; margin-bottom: 0; }
  .tiles.tiles--quadruple .hentry { width: 25%; margin-bottom: 0; }
  .tiles .entry-title { margin: 1.5rem 0 0.5rem; }
  .blog-container .tiles { margin-top: 3rem; margin-bottom: 1.5rem; }
  .blog-container .tiles .hentry, .tiles--multi .hentry { margin-bottom: 1.5rem; }
  .tiles--blog { margin-top: 3rem; margin-bottom: 3rem; }
  .blog-container main .tiles { margin-top: 0; }
  .blog-container main .tiles .hentry { width: 50%; }
}

@media all and (min-width: 1400px) {
  .blog-container main.wide .tiles .hentry { width: 33.33%; }
}

/* = Pagination
------------------------------- */
.pagination { display: block; position: relative; clear: both; text-align: center; }
.pagination * { font-size: 1em; font-weight: 600; }
.pagination a:hover { background-color: #eee; }
.pagination a,.pagination span { color: inherit; padding: 2px 8px; display: inline-block; margin: 0; border-radius: 3px; }
.pagination .current { color: #31C4FF; }
.pagination .dots { border: none; background: none; }

@media only screen and (max-width: 600px) {
	.pagination a.prev, .pagination a.next { display: block; max-width: 100px; }
}

/* = Tabs
------------------------------- */
.tabs ul { margin: 0 0 3rem 0; padding: 1rem 0; list-style: none; }
.tabs li { margin: 0; }
.container .tabs { box-shadow: 0 3px 6px rgba(0,0,0,.16); border-radius: 5px; margin: -1.5rem -1.5rem 1.5rem; }
.tabs a, .tabs span { display: block; padding: .5rem 1.5rem; color: inherit; font-weight: 600; cursor: pointer; }
.tabs a:hover, .tabs span:hover { color: #31C4FF; }
.tabs .current-cat a { }

@media only screen and (min-width: 900px){
  .container .tabs { text-align: right; padding-right: 3.5rem; margin: -3rem -3rem 1.5rem; }
  .tabs ul { padding: 0; }
  .tabs li { display: inline; }
  .tabs a, .tabs span { display: inline-block; padding: 30px 15px; }
  .tabs a:hover, .tabs span:hover { color: inherit; }
  .tabs a::after, .tabs span::after { content: ''; display: block; width: 0; height: 3px; margin-top: 3px; background: #31C4FF; transition: width 200ms; }
  .tabs a:hover::after, .tabs .current-menu-item a::after, .tabs a.active::after, .tabs span:hover::after, .tabs span.active::after { width: 100%; }
}

@media only screen and (max-width: 900px){
  .tabs--post { display: none; }
}

@media screen and (max-width: 1200px){
  .tabs--product { display: none; }
}

/* = Tags
------------------------------- */
.tag-list { margin: 3rem 0 0; padding: 0; text-align: center; }
.tag-list li { display: inline-block; text-transform: capitalize; }
.tag-list li:after { content: '|'; padding: 0 7px; opacity: 0.5; }
.tag-list li:last-child:after { content: ''; }

@media only screen and (max-width: 900px){
  .tag-list--post { display: none; }
}

/** = Timeline
------------------------------- */
.timeline { list-style: none; padding: 10px 0; position: relative; font-weight: 300; }
.timeline:before { top: 0; bottom: 0; position: absolute; content:" "; width: 3px; background: #31C4FF; left: 50%; margin-left: -1.5px; }
.timeline > li { margin-bottom: 20px; position: relative; width: 50%; float: left; clear: left; }
.timeline > li:before, .timeline > li:after { content:" "; display: table; }
.timeline > li:after { clear: both; }
.timeline > li:before, .timeline > li:after { content:" "; display: table; }
.timeline > li:after { clear: both; }
.timeline > li > .timeline-panel { width: calc(100% - 25px); width: -moz-calc(100% - 25px); width: -webkit-calc(100% - 25px); float: left; border: 1px solid #dcdcdc; background: #ffffff; position: relative; }
.timeline > li > .timeline-panel:before { position: absolute; top: 26px; right: -15px; display: inline-block; border-top: 15px solid transparent; border-left: 15px solid #dcdcdc; border-right: 0 solid #dcdcdc; border-bottom: 15px solid transparent; content:" "; }
.timeline > li > .timeline-panel:after { position: absolute; top: 27px; right: -14px; display: inline-block; border-top: 14px solid transparent; border-left: 14px solid #ffffff; border-right: 0 solid #ffffff; border-bottom: 14px solid transparent; content:" "; }
.timeline > li > .timeline-badge { color: #31C4FF; width: 24px; height: 24px; line-height: 50px; text-align: center; position: absolute; top: 16px; right: -12px; z-index: 100; }
.timeline > li.timeline-inverted > .timeline-panel { float: right; }
.timeline > li.timeline-inverted > .timeline-panel:before { border-left-width: 0; border-right-width: 15px; left: -15px; right: auto; }
.timeline > li.timeline-inverted > .timeline-panel:after { border-left-width: 0; border-right-width: 14px; left: -14px; right: auto; }
.timeline-badge > a { color: #31C4FF !important; }
.timeline-title { margin-top: 0; color: inherit; }
.timeline-heading h2 { padding-top: 15px; padding-left: 15px; color: #31C4FF; }
.timeline-body > p, .timeline-body > ul { padding: 15px 15px; margin-bottom: 0; }
.timeline > li.timeline-inverted { float: right; clear: right; }
.timeline > li:nth-child(2) { margin-top: 90px; }
.timeline > li.timeline-inverted > .timeline-badge { left: -12px; }

@media (max-width: 767px) {
    ul.timeline:before { left: 40px; }
    ul.timeline > li { margin-bottom: 0px; position: relative; width:100%; float: left; clear: left; }
    ul.timeline > li > .timeline-panel { width: calc(100% - 65px); width: -moz-calc(100% - 65px); width: -webkit-calc(100% - 65px); }
    ul.timeline > li > .timeline-badge { left: 28px; margin-left: 0; top: 16px; }
    ul.timeline > li > .timeline-panel { float: right; }
    ul.timeline > li > .timeline-panel:before { border-left-width: 0; border-right-width: 15px; left: -15px; right: auto; }
    ul.timeline > li > .timeline-panel:after { border-left-width: 0; border-right-width: 14px; left: -14px; right: auto; }
    .timeline > li.timeline-inverted { float: left; clear: left; margin-top: 30px; margin-bottom: 30px; }
    .timeline > li.timeline-inverted > .timeline-badge { left: 28px; }
}

/* = Clearing
------------------------------- */
.group:after,.main-site .uppernav:after { content: ""; clear: both; }
.group:after { display: table; }

/* = Media Object
------------------------------- */
.media-object,.media-object .cont { overflow: hidden; _overflow: visible; zoom: 1;}
.media-object .thumb { float: left; margin-right: 45px; }
.media-object .thumb-right { float: right; margin-right: 0; margin-left: 45px; }
.media-object .text-intro { float: left; width: 275px; padding-right: 25px;}
.media-object .thumb img { display: block; max-width: 100%;}

@media only screen and (max-width: 900px) {
    .media-object.stacked { text-align: center; }
    .media-object.stacked .thumb,.media-object.stacked .text-intro { float: none; margin: 0 0 30px; width: auto; max-width: 100%; padding: 0; }
    .media-object.stacked .thumb img { margin: 0 auto; }
}

/* = Errors
------------------------------- */
.error label { color: #C36 !important; }
.error input { border-color: #C36 !important; }

/* = Cookie Banner
------------------------------- */
.cookie-reset-container { font-family: "Muli", "Helvetica Neue", Helvetica, Arial, sans-serif !important; color: #333333 }

/* = Responsive elements
------------------------------- */
.desktoponly { display: block; }

@media only screen and (max-width: 950px) {
    .desktoponly { display: none; }
}

.tabletonly { display: block; }

@media only screen and (min-width: 951px) {
    .tabletonly:not(.desktoponly) { display: none; }
}

/* = Signup
------------------------------- */
.signup { clear: both; }
.signup .container { z-index: 1; background: #35424A; color: #999; padding: 2em 3em 3em; }
.single-post .signup { background: #fff; }

.signup h2 { text-align: center; margin-bottom: 40px; }

/* = Legacy styles
------------------------------- */
.article-share .fa { margin-right: 10px; }
.article-share a { color: #313538; }
.cta-line.center { clear: both; margin: 36px 0 0; text-align: center;}
.cta-line.right { text-align: right; }
.cta-line.emphasis { border: 1px solid #d0e8f9; background: #e7f3fc; border-radius: 2px; padding: 1em 0; }
.cta-line.small { font-size: 1em; }

.entry-content img { margin: 0 0 1.5em; }

.wp-caption { margin-bottom: 1.5em; text-align: center; padding-top: 5px; }
.wp-caption img { border: 0; padding: 0; margin: 0; }
.wp-caption p.wp-caption-text { line-height: 1.5; font-size: 10px; margin: 0; }
.wp-smiley { margin: 0 !important; max-height: 1em; }

.news-link,blockquote.testimonial .attrib { text-align: right; }

.display-half img { max-width: 50%; float: left; margin-right: 16px; }
.display-half p { float: left; }

.listpostpic .fright { float: right; margin: 0 0 12px 12px; max-width: 80px; }
.listpostpic .fleft { float: left; margin: 6px 12px 0 0; max-width: 80px; }
.listpost li p,.listpostpic li,.listpostpic li p,.listtitle li p { margin-bottom: 16px; }
.listpost li+li,.listpostpic li+li,.listtitle li+li { border-top: 1px solid #d0e8f9; padding-top: 12px; }

.scroller:after,.splitter:after { content: ""; display: table; clear: both; }

.splitter { position: relative; max-width: 700px; }

@media only screen and (min-width: 700px) {
    .splitter .left { width: 48%; float: left; }
    .splitter .right { width: 48%; float: right; }
}

.scroller { padding-bottom: 2em; }
.scroller.blog-container { padding-bottom: 0; }
.scroller .right li { margin-bottom: 8px; }

@media only screen and (min-width: 900px) {
    .scroller .left { float: left; width: 60%; }
    .scroller .right { float: right; width: 30%; }
    .right .fixed { position: fixed; top: 120px; width: 25%; max-width: 360px; }
}

.display-image-right,.display-image-left { display: block; margin: 0 auto 1.5em; }

@media only screen and (min-width: 700px) {
    .display-image-right { float: right; max-width: 68%; margin-left: 1.5em; }
    .display-image-left { float: left; max-width: 68%; margin-right: 1.5em; }
    .display-image-center { display: block; max-width: 76%; margin: 0 auto; }
}

.hs-form.hs-newsletter-form { border: 0; padding: 0; color: #cdcdcd; margin: -8px 0 35px; }
.hs-form.hs-newsletter-form input[type=text],
.hs-form.hs-newsletter-form input[type=email] { border-width: 0 0 1px 0; border-color: #666; border-radius: 0; padding: 0; color: #cdcdcd; margin-bottom: 10px; background: #2D3741; }
.hs-form.hs-newsletter-form input[type=submit]{ float: none; }
.hs-form.hs-newsletter-form label { display: none; }
.hs-error-msgs.hs-newsletter-form label { display: block; font-size: small; font-weight: bold; color: #cdcdcd; }
.hs-form.hs-newsletter-form input::-webkit-input-placeholder { color: #cdcdcd;}
.hs-form.hs-newsletter-form input:-moz-placeholder { color: #cdcdcd; }
.hs-form.hs-newsletter-form input::-moz-placeholder { color: #cdcdcd; }
.hs-form.hs-newsletter-form input:-ms-input-placeholder { color: #cdcdcd; }

.fa-block { display: block; font-size: 3.5em; margin-bottom: 20px; }

/* Code Formatting */
pre.prettyprint { border: 1px solid #888; margin: 0 0 1.5rem 0; padding: 10px; max-height: 300px; overflow: auto; background-color: #EEEEEF; font-family: Consolas, monaco, monospace; font-size: 0.8rem; }

/* Careers Photos */
#photos-careers {
   /* Prevent vertical gaps */
   line-height: 0;
   -webkit-column-count: 5;
   -webkit-column-gap:   0px;
   -moz-column-count:    5;
   -moz-column-gap:      0px;
   column-count:         5;
   column-gap:           0px;
}

#photos-careers img {
  /* Just in case there are inline attributes */
  width: 100% !important;
  height: auto !important;
  opacity: 0.7;
}
@media (max-width: 1200px) {
  #photos-careers {
  -moz-column-count:    5;
  -webkit-column-count: 5;
  column-count:         5;
  }
}
@media (max-width: 1000px) {
  #photos-careers {
  -moz-column-count:    5;
  -webkit-column-count: 5;
  column-count:         5;
  }
}
@media (max-width: 800px) {
  #photos-careers {
  -moz-column-count:    3;
  -webkit-column-count: 3;
  column-count:         3;
  }
}
@media (max-width: 400px) {
  #photos-careers {
  -moz-column-count:    2;
  -webkit-column-count: 2;
  column-count:         2;
  }
}

.leftshadow{
-webkit-box-shadow: -11px 11px 66px -13px rgba(0,0,0,1);
-moz-box-shadow: -11px 11px 66px -13px rgba(0,0,0,1);
box-shadow: -11px 11px 66px -13px rgba(0,0,0,1);
}

.rightshadow{
-webkit-box-shadow: 11px 11px 66px -13px rgba(0,0,0,1);
-moz-box-shadow: 11px 11px 66px -13px rgba(0,0,0,1);
box-shadow: 11px 11px 66px -13px rgba(0,0,0,1);
}

/* ==========================================================================
 HUBSPOT FORMS
 ========================================================================== */

/* =============== Global Form Styles =============== */

.hs_cos_wrapper_type_blog_subscribe, .hs_cos_wrapper_type_google_search, .hs_cos_wrapper_type_form,.hs_cos_wrapper_type_password_prompt, #email-prefs-form,#comment-form, .hs-search-field,.section.post-footer, .form form  {
  background-color: #fff;
  display: inline-block;
  padding: 30px 30px;
  width: 100%;
  
  margin-bottom: 30px;
  color: #333;
  border: 1px solid #ddd;
  border-radius: 3px;
}

.subscription-template-form #email-prefs-form{
  background-color: transparent;
  display: block;
  padding: 0;
  width: 100%;
  max-width: 100%;
  margin-bottom: 0;
  box-shadow: none;
  border: none;
  color: inherit;
}

.form-title {
  font-family: "Raleway","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size: 2em;
  font-weight: 400;
  line-height: 1.3;
  color: #31c4ff;
}

.form-title:empty{
  display:none;
}

.hs_recaptcha {
  margin: 15px 0;
}

.body-container .hs-form{
  margin-bottom: 20px;
}

/* Form Field */
.hs-form-field {
   margin: 0 0 0 0;
}

.hs-form-required{
  color: #333333;
}

/* Descriptions */
.hs-field-desc {}

/* Labels and Legends */
form.hs-form label {}
.hs-form-field > label {
  display: inline-block;
	max-width: 100%;
  font-family: "Muli", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.9em;
  font-weight: 500;
  color: rgba(51,51,51,1.0);
  line-height: 20px;
  margin-bottom: 10px;
}

.panel.dark label{ color: #fff; !important}

.legal-consent-container {
	margin:10px 0;
}

.legal-consent-container p,  legal-consent-container .hs-form-booleancheckbox-display p {
  font-size: 16px;
  margin-bottom: 10px;
}

.legal-consent-container .field.hs-form-field {
  margin-bottom: 5px !important;
}


/* One Line Inputs */
form.hs-form input[type="text"],
form.hs-form input[type="password"],
form.hs-form input[type="datetime"],
form.hs-form input[type="datetime-local"],
form.hs-form input[type="date"],
form.hs-form input[type="month"],
form.hs-form input[type="time"],
form.hs-form input[type="week"],
form.hs-form input[type="number"],
form.hs-form input[type="email"],
form.hs-form input[type="url"],
form.hs-form input[type="search"],
form.hs-form input[type="tel"],
form.hs-form input[type="color"],
form.hs-form input[type="file"],
form.hs-form textarea,
form.hs-form select {
  width: 100%;
	/*max-width: 767px;*/
	display: block;
	color: #33475b;
	background: #f5f8fa;
	border: 1px solid #cbd6e2;
	font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size: 16px;
	font-weight: normal;
  padding: 0 15px;
  line-height: 22px;
  min-height: 40px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
}

form.hs-form input[type="text"]:focus,
form.hs-form input[type="password"]:focus,
form.hs-form input[type="datetime"]:focus,
form.hs-form input[type="datetime-local"]:focus,
form.hs-form input[type="date"]:focus,
form.hs-form input[type="month"]:focus,
form.hs-form input[type="time"]:focus,
form.hs-form input[type="week"]:focus,
form.hs-form input[type="number"]:focus,
form.hs-form input[type="email"]:focus,
form.hs-form input[type="url"]:focus,
form.hs-form input[type="search"]:focus,
form.hs-form input[type="tel"]:focus,
form.hs-form input[type="color"]:focus,
form.hs-form input[type="file"]:focus,
form.hs-form textarea:focus,
form.hs-form select:focus {
  outline: none;
  border-color: rgba(82,168,236,0.8);
}

.hs-input.invalid.error{
  border-color: #c87872;
}

/* Button div height */
.hs-submit.hs_submit {
	height: 50px;
	padding-top:10px;
}

/* Multiple Selection Inputs */
form.hs-form .hs-form-field ul.inputs-list {
  list-style: none;
  padding: 0;
  margin-bottom:5px;
}
form.hs-form .hs-form-field ul.inputs-list li input {}

/* Required */
input:focus:required:invalid,
textarea:focus:required:invalid,
select:focus:required:invalid {}

input:focus:required:invalid:focus,
textarea:focus:required:invalid:focus,
select:focus:required:invalid:focus {}

/* Error */
.hs-error-msgs {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}

.hs-error-msgs label {
  color: #333333;
  color: red;
  font-family: "Muli", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  line-height: 18px;
  margin-bottom: 4px;
}

/* Placeholder Text */
::-webkit-input-placeholder {} /* Webkit Browsers */
:-moz-placeholder {} /* Firefox 18- */
::-moz-placeholder {} /* Firefox 19+ */
:-ms-input-placeholder {} /* IE10 */


/* =============== Multi Column Form =============== */

.hs-form fieldset.form-columns-1 {}
.hs-form fieldset.form-columns-1 .hs-form-field {}
.hs-form fieldset.form-columns-2 {}
.hs-form fieldset.form-columns-2 .hs-form-field {}
.hs-form fieldset.form-columns-3 {}
.hs-form fieldset.form-columns-3 .hs-form-field {}

/* Multiple Selection Inputs */
form.hs-form .hs-form-field ul.inputs-list li input {}
input[type="radio"] {}
input[type="checkbox"] {margin: 5px 5px 3px 0px;}
form.hs-form fieldset { max-width: none; }
form.hs-form fieldset .hs-form-field { padding: 0 10px 0 0; }
form.hs-form fieldset[class*="form-columns"] .input { margin-right: 0; }
form.hs-form fieldset[class*="form-columns"] .hs-input { width: 100%; }
form.hs-form fieldset[class*="form-columns"] .hs-input[type="checkbox"] { width: auto; }
form.hs-form fieldset.form-columns-3 .hs-form-field { width: 33.33%; }

@media (max-width: 400px) {
  form.hs-form fieldset .hs-form-field { padding: 0; }
  form.hs-form fieldset.form-columns-3 .hs-form-field,
  form.hs-form .form-columns-2 .hs-form-field .hs-input,
  form.hs-form .form-columns-3 .hs-form-field .hs-input { width: 100%; }
  form.hs-form .form-columns-3 .hs-form-field .hs-input[type="checkbox"] { width: auto; }
}
