html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after {
  content: "";
  content: none; }

q:before, q:after {
  content: "";
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

body * {
  font-family: "Open Sans",sans-serif;
  box-sizing: border-box; }

a {
  text-decoration: none; }

button {
  border: 0;
  cursor: pointer;
  border-radius: 4px; }

button:focus {
  outline: 0; }

.text-content {
  font-size: 18px;
  letter-spacing: 0.3px;
  color: #767676; }

.pt-16 {
  padding-top: 16px; }

.ml-16 {
  margin-left: 16px; }

/* Breakpoint responsive content
------------------------------------ */
.grid {
  display: flex;
  justify-content: center; }
  .grid .grid__body {
    max-width: 980px;
    min-width: 980px; }
    @media all and (max-width: 1024px) {
      .grid .grid__body {
        max-width: 85%;
        min-width: 85%; } }

/*  Custom breakpoints
*/
.container {
  display: flex;
  justify-content: center;
  width: 100%;
  min-height: 100%; }

.container__theme_search {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 20vh;
  width: 75%;
  max-width: 980px; }
  .container__theme_search > div {
    flex-direction: column;
    display: flex; }
  @media all and (max-width: 1024px) {
    .container__theme_search {
      padding-top: 20vh;
      width: 85%;
      max-width: 85%; } }

.container__theme_detail {
  display: none;
  flex-direction: column;
  width: 100%; }

.theme-not-found {
  display: none;
  justify-content: center; }

.title {
  height: 67px;
  font-size: 49px;
  font-weight: 900;
  font-style: normal;
  font-stretch: normal;
  line-height: normal;
  letter-spacing: 0.3px;
  color: #080A0E; }
  @media all and (max-width: 1024px) {
    .title {
      font-size: 36px; } }

.subtitle {
  font-size: 49px;
  font-weight: normal;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.12;
  letter-spacing: -1px;
  color: #404040; }
  @media all and (max-width: 1024px) {
    .subtitle {
      font-size: 36px; } }

.search-box-home {
  display: flex;
  justify-content: center;
  position: relative;
  margin-top: 60px; }
  @media all and (max-width: 550px) {
    .search-box-home {
      flex-direction: column; } }

.search-input {
  border-radius: 4px;
  border: solid 2px #dbdbdb;
  color: #484848;
  line-height: 1; }
  .search-input.search-input--home {
    font-size: 22px;
    padding: 15px 35px;
    height: 60px;
    flex-grow: 1; }
  .search-input.search-input--theme-detail {
    flex-grow: 1;
    flex-shrink: 1;
    height: 60px;
    font-size: 22px;
    padding: 15px 35px; }

.search-button {
  width: 130px;
  background-color: #080A0E;
  line-height: 1;
  color: #ffffff;
  padding: 0; }
  .search-button:hover {
    background-color: #1CAF9A; }
  .search-button.search-button--home {
    height: 60px;
    font-size: 22px;
    margin-left: 18px;
    flex-basis: 150px; }
    @media all and (max-width: 550px) {
      .search-button.search-button--home {
        margin-left: 0px;
        flex-basis: 60px;
        width: 100%;
        flex-grow: 1;
        margin-top: 10px; } }
    .search-button.search-button--home svg {
      width: 24px;
      height: 24px;
      fill: #ffffff; }
      .search-button.search-button--home svg path {
        transform: scale(1.4); }

.search-button--theme-detail {
  width: 50px;
  height: 40px;
  font-size: 22px;
  margin-left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  position: absolute;
  right: 0; }
  .search-button--theme-detail svg {
    width: 19px;
    height: 19px;
    fill: #080A0E; }
    .search-button--theme-detail svg path {
      transform: scale(1.2); }

.nav-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-basis: 64px;
  flex-shrink: 0;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.15);
  position: fixed;
  width: 100%;
  background: #fff;
  padding: 10px 0; }
  .nav-bar .grid__body {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .nav-bar .nav-search {
    display: flex;
    position: relative;
    width: 400px; }
    @media all and (max-width: 600px) {
      .nav-bar .nav-search {
        width: 100%; } }
  @media all and (max-width: 600px) {
    .nav-bar .nav-links {
      display: none; } }
  .nav-bar .nav-links span {
    font-weight: bold;
    color: #fa436b;
    cursor: pointer; }

.search-result {
  padding-top: 64px; }

.theme-detail {
  padding-top: 25px;
  padding-bottom: 25px; }

.theme-found {
  display: none; }
  .theme-found .theme-found__body {
    display: none;
    flex-grow: 1; }

.theme-not-found {
  display: none;
  justify-content: center;
  align-items: center;
  flex-grow: 1; }
  .theme-not-found h1 {
    font-size: 32px; }

.theme-limited-data {
  display: none;
  justify-content: center;
  align-items: center;
  height: 100%;
  flex-grow: 1;
  text-align: center; }
  .theme-limited-data > div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center; }
    .theme-limited-data > div .limited-theme-title-message {
      font-size: 28px; }
  .theme-limited-data .limited-theme-title {
    text-transform: capitalize; }
  .theme-limited-data .subscribe-to-update {
    margin-top: 20px; }

.cta-buttons {
  display: flex;
  order: 3; }
  @media all and (max-width: 1024px) {
    .cta-buttons {
      flex-direction: column;
      margin-top: 25px;
      order: 2; } }
  .cta-buttons.cta-buttons--desktop {
    display: flex; }
    @media all and (max-width: 1024px) {
      .cta-buttons.cta-buttons--desktop {
        display: none; } }
  .cta-buttons.cta-buttons--mobile {
    display: none; }
    @media all and (max-width: 1024px) {
      .cta-buttons.cta-buttons--mobile {
        display: flex;
        margin-top: 25px; } }

.cta_button {
  font-size: 18px;
  line-height: 1.0;
  letter-spacing: 0.3px;
  color: #ffffff;
  padding: 10px 25px;
  border-radius: 4px;
  text-decoration: none;
  text-align: center;
  cursor: pointer; }

.cta_button--green {
  background-color: #49d5a2; }

.cta_button--watermelon {
  background: #080A0E; }

@media all and (max-width: 1024px) {
  .cta-button--book-free-consult {
    margin-left: 0px;
    margin-top: 10px; } }

.theme-content-container {
  display: flex; }
  @media all and (max-width: 1024px) {
    .theme-content-container {
      flex-direction: column; } }

.summary {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  order: 1; }
  .summary .theme-title {
    font-size: 42px;
    font-weight: 900;
    letter-spacing: 0.3px;
    color: #fa436b; }
  .summary .theme-description {
    max-width: 500px; }
    @media all and (max-width: 1024px) {
      .summary .theme-description {
        margin-top: 25px;
        max-width: 100%; } }

.screen-shot {
  display: flex;
  justify-content: center;
  order: 2; }
  @media all and (max-width: 1024px) {
    .screen-shot {
      margin-top: 25px;
      order: 3; } }

.screen-shot__img {
  max-height: calc(100vh - 144px);
  min-height: calc(100vh - 144px);
  max-width: 400px; }

.branding {
  cursor: pointer;
  background: rgba(255, 255, 255, 0.9);
  display: flex; }
  .branding > div {
    width: 75%;
    max-width: 75%; }
    @media all and (max-width: 1024px) {
      .branding > div {
        width: 85%;
        max-width: 85%; } }
  .branding a {
    text-decoration: none;
    color: #767676; }
  .branding span {
    color: #fa436b;
    font-weight: bold; }
  .branding.branding--home {
    padding-bottom: 36px; }

.align-items-center {
  align-items: center; }
