@import url("greycliff.css");

/* Reset */
*, *:before, *:after {
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, main, nav, section, summary {
  display: block;
}


/* General */

html {

  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size: 16px;
}

body {
  font-family: "Greycliff", Roboto, sans-serif;
  font-weight: 300;
  margin: 0 auto;
  line-height: 1.5;
  background: #fff;
  color: #66717f;
  background-color: #F6F7F9;
  font-size: 1.1rem;
  -webkit-text-size-adjust: 100%;
}

a {
  color: #3075F6;
  text-decoration: none;

}
a:hover {
  color: #222;
}

/* Video */

figure.video {
    width: 100%;
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

figure.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Layout */

.slice:after, .wrap:after, main:after, .grid:after, .cf:after, .fullwidth:before, .fullwidth:after {
  content: "";
  display: table;
  clear: both;
}

#top {
    background-color: #FFFFFF;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1;
}

body.scrolled #top, #top.opened {
    box-shadow: 0px 1px 3px rgba(0,0,0,0.12);
}

#top + .slice {
    padding-top: 85px;
}

#top.frontpage {
    position: relative;
    overflow: hidden;
    background: hsla(227, 60%, 60%, 0.8);
    background: linear-gradient(to bottom, hsla(227, 70%, 60%, 0.9) 0%, hsla(227, 70%, 60%, 0.7) 100%);
}

.bg-video {
    z-index: -100;
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#bottom {

}

#header, #footer, .wrap {
    max-width: 1280px;
}

#header {
    padding: 1.3rem 5rem;
}

#header, #footer {
    margin: 0 auto;
    box-sizing: border-box;
}

#footer {
    position: relative;
    padding: 4rem 5rem;
}

.slice {
    background-color: #FFFFFF;
}

.slice.background {
    background: none;
}

.slice.background .button:hover {
    background-color: #FFFFFF;
    color: #3075F6;
}

.slice.green {
    background-color: #39D081;
}

.slice.silver {
    background-color: #EEF4F6;
}

.slice.gray {
    background-color: #4D5C71;
}

.slice.green *, .slice.gray *, .slice.background * {
    color: #FFFFFF;
}

.slice.green .button {
    background-color: #FFFFFF;
    color: #39D081;
}

.slice.green .button:hover {
    background-color: #FFFFFF;
}

.slice.gray .button {
    background-color: #39D081;
    color: #FFFFFF;
}

.slice.gray .button:hover {
    background-color: #FFFFFF;
    color: #4D5C71;
}

.wrap {
    position: relative;
    margin: 0 auto;
}

.container {
    padding: 6rem 5rem;
}

section.container {
    text-align: center
}

.align-left section.container {
    text-align: left
}

.big-top-image {
    margin-top: -18rem;
}

.overflow-image {
    margin-top: -10rem;
}

.extra-bottom-margin .container {
    padding-bottom: 10rem;
}

.bottompic .container {
    padding-left: 12rem;
    text-align: left
}

.bottompic .container {
    padding: 8rem 32rem 8rem 12rem;
    position: relative;
}

.bottompic .container img {
    position: absolute;
    right: 5rem;
    bottom: 0;
    width: 22rem;
}

.bigtext .container p {
    font-size: 1.3rem;
}

.medium-tumbnails .container img {
    width: 25rem;
}

main.container {
    padding: 5rem 5rem;
    box-sizing: border-box;
}

#footer nav {
    float: left;
    width: 20%;
    margin: 0 1rem 2rem 0;
}

#footer nav span {
    font-size: 1rem;
    font-weight: 700;
    color: #3f4954;
    text-transform: uppercase;
    padding-bottom: 1rem;
    display: block;
}

#footer {
    font-size: 0.9rem;
}

#footer nav ul li {
    list-style: none;
    margin: 0.5rem 0;
}

#footer nav li a {

    color: #66717f;
}

#footer aside {
    float: right;
    width: 16%;
}

#copyright {
    text-align: right;
}

#social-icons {
    display: inline-block;
    margin: 0 0 1rem 0;
}

#social-icons a {
    display: inline-block;
    background-color: #45526c;
    text-decoration: none;
    border-radius: 25px;
    margin: 5px;
    width: 44px;
    height: 44px;
    position: relative;
}

#social-icons a img {
    visibility: hidden;
}

#social-icons a svg {
    width: 50px;
    height: 50px;
    fill: #F6F7F9;
    box-sizing: border-box;
    padding: 10px;
    position absolute;
    width: 100%;
    height: 100%;
}

#social-icons a:hover.icon-twitter {
    background-color: #0F1419;
}

#social-icons a:hover.icon-facebook {
    background-color: #3B5998;
}

main.blog {
    width: 70%;
    float: left;
}

#sidebar {
    width: 30%;
    float: right;
    padding: 5rem 5rem 5rem 2rem;
    position: relative;
    box-sizing: border-box;
}

#posts article {
    margin-bottom: 3rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid #ECF2F5;
}

#posts article:last-of-type {
    margin-bottom: 0rem;
    border-bottom: none;
}

#posts.frontpage {
    display: flex;
    flex-wrap: wrap;
}
#posts.frontpage article.top, #posts article.bottom {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 2rem;
}
#posts.frontpage article .postdata {
    margin: 0;
}

article.top {
    width: 100%;
}

@media all and (min-width:480px){

    article.bottom {
        width: 50%;
        box-sizing: border-box;
    }
    article.bottom:nth-child(2n+1) {
        padding-right: 1.5rem;
    }
    article.bottom:nth-child(2n) {
        padding-left: 1.5rem;
    }
    article.top ~ article.bottom:nth-child(2n+1) {
        padding-left: 1.5rem;
        padding-right: 0;
    }
    article.top ~ article.bottom:nth-child(2n) {
        padding-right: 1.5rem;
        padding-left: 0;
    }
    article.bottom h1 {
        font-size: 1.49rem;
    }

}

/* Grid */

.grid {
    margin: -2rem;
}

[class^="column-"] {
    float: left;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 2rem;
}

.fullwidth {
    padding: 2rem;
    width: 100%;
    float: left;
}

.column-1-3 {
    width: 33.3%;
}

.column-7-12 {
    width: 58.1%;
}

.column-5-12 {
    width: 41.5%;
}

.column-1-2 {
    width: 50%;
}

@media screen and (max-width: 700px) {
    [class^="column-"] {
        float: none;
        width: 100%;
    }

    .fullwidth {
        float: none;
    }

}


/* Layout misc */

#articles-categories .faq-list ul {
    padding: 0;
}

#articles-categories .faq-list ul li {
    list-style: none;
}

/* Navigation */

#logo {
    margin: 0;
    padding: 0;
    width: 210px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 2rem;
}

#menu {
    display: inline-block;
    vertical-align: middle;
}

#menu a {
    font-size: 1.1rem;
    display: inline-block;
    color: #04151f;
    font-weight: 300;
}

#menu li.active > a {
    font-weight: 500;
}

#menu a:hover {
    color: #66717F;
}

#menu > ul > li {
    list-style: none;
    display: inline-block;
    position: relative;
}

#menu > ul > li > a {
  padding: 0.6rem;
  display: inline-block !important;
}

#menu ul ul {
    display: none;
    background-color: #222222;
    padding: 0.5rem;
    z-index: 500;
    position: absolute;
    top: 100%;
}

#menu ul ul li {
    list-style: none;
    padding: 0.5rem;
    position: relative;
    white-space: nowrap;
    text-align: left;
}

#menu ul li:hover > ul {
    display: block;
}

#menuOpener {
    display: none;
    position: absolute;
    background: url(../images/icon-menu.svg?1) no-repeat center center / 1.4rem;
    width: 60px;
    height: 60px;
    left: 0;
    top: 0;
}

#top.opened #menuOpener{
    background-image: url(../images/icon-close.svg?1);
}

#top:not(.opened) #menu li.blog {
    background: url(../images/icon-arrow-down.svg) no-repeat 90% center / 12px;
}

#top:not(.opened) #menu li.blog a {
    padding-right: 1.6rem;
}

/* Category menu */

#header form {
    display: none;
}

#header input.search {
    padding: 0.8rem 1.3rem 0.8rem 1.3rem;
    border: 1px solid #D2DCE6;
    background-position: 95% center;
}

#top:not(.opened) #menu-categories.popped,
#top:not(.opened) #menu-categories:hover {
    display: block;
    position: absolute;
    background-color: #FFFFFF;
    padding: 20px;
    box-shadow: 0px 1px 20px 10px rgba(0,0,0,0.12);
    margin: 0;
}

#menu-categories {
    display: none;
    margin: 1rem 0;
}

#menu-categories ul li {
    list-style-type: none;
    padding: 0.4rem 0.6rem;
}

#menu-categories ul li a:hover {
    color: #04151f;
}

#menu-categories ul li a {
    color: #66717f;
}

#menu-categories ul li.selected a {
    font-weight: 500;
    color: #04151f;
}


/* Login menu */

#menu-service {
    display: inline-block;
    vertical-align: middle;
    float: right;
}

#menu-service a {
    font-size: 1rem;
    display: inline-block;
    vertical-align: middle;
    color: #3075F6;
}

#menu-service a.login {
    margin-left: 1rem;
}

#menu-service a.signup {
    padding: 0.6rem 1rem;
    border: 1px solid #3075F6;
    border-radius: 25px;
}

#menu-service a.signup:hover {
    border: 1px solid #3075F6;
    color: #FFFFFF;
    background-color: #3075F6
}

/* Icons */

.icon img {
    width: 4.2rem;
    max-width: 100%;
}


/* Buttons */

.button-small {
    border: 1px solid #3075F6;
    color: #3075F6;
    padding: 0.5rem 2rem;
    display: inline-block;
    border-radius: 25px;
}

.button-small:hover {
    background-color: #3075F6;
    color: #FFFFFF;
}

.button {
    color: #FFFFFF;
    padding: 0.8rem 2rem;
    display: inline-block;
    border-radius: 3px;
    background-color: #39D081;
    font-size: 1.2rem;
    min-width: 16rem;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
}

.button:hover {
    background-color: #4D5C71;
    color: #FFFFFF;
}


/* Headings */

h1 {
  font-size: 2.4rem;
  font-weight: 900;
  margin: 1.2em 0 1em 0;
  line-height: 1.2;
  color: #1b2b4b;
}

h1:first-child {
    margin-top: 0;
}

header h1 {
    margin: 0;
}

h2 {
  font-size: 1.7rem;
  margin: 1.2em 0 0.7em 0;
  font-weight: 900;
  line-height: 1.2;
  color: #1b2b4b;
}

h2:first-child {
    margin-top: 0;
}

h3 {
  font-size: 1.3rem;
  margin: 1.2em 0 0.5em 0;
  font-weight: 700;
  color: #1b2b4b;
}

h4 {
  margin: 1.1em 0 0.5em 0;
}

h1 a, h2 a, h3 a {
  color: inherit;
}

/* Content within slices */

.slice h1, .slice h2 {
    margin-bottom: 0.5em;
}

.slice h2 {
    margin-top: 1em;
}

.slice {
    font-size: 1.15rem;
}

#top .slice h1 {
    font-size: 3.9rem;
}

#top .slice {
    font-size: 1.6rem;
}

@media screen and (min-width: 1000px) {
    #top .slice p {
        padding: 0 20%;
    }
}

/* Content */

.centered {
    text-align: center
}

.container p {
    margin: 1.2rem 0;
}

.container ul, .container ol {
    margin: 1.2rem 0;
    padding-left: 40px;
}

.container li {

}

.container img {
  display: inline-block;
  max-width: 100%;
}

.container b, .container strong {
  color: #585F65;
  font-weight: 500;
}

.legal ol { list-style-type: lower-alpha; }
.legal ol ol { list-style-type: decimal; }


/* Sidebar */

#sidebar h2 {
    font-size: 1.4rem;
    margin: 2rem 0 1.5rem 0;
}

#sidebar ul li {
    list-style: none;
}

#sidebar section {
    margin-top: 2rem;
}

#categories li {
    margin: 1rem 0;
}

#categories li a {
    color: #66717f;
    font-size: 1.3rem;
}

#categories li a:hover {
    color: #04151f;
}

#categories li.selected a {
    font-weight: 500;
    color: #04151f;
}

#sidebanner {
    margin-top: 40px;
}

#sidebanner.fixed {
    position: fixed;
    top: 87px;
}

#sidebanner img {
    max-width: 100%;
}


/* Forms */

input {
    font-family: "Greycliff", Roboto, sans-serif;
}

input.search {
    padding: 0.8rem 1.3rem 0.8rem 0rem;
    font-size: 1rem;
    border: none;
    width: 99%;
    border-bottom: 1px solid #D2DCE6;
    background: url(../images/icon-search.svg) no-repeat right center / 1.2rem;
    outline: none;
}

#tags li {
    list-style: none;
    display: inline-block;
    margin-bottom: 0.3rem;
}

#tags li a {
    padding: 10px;
    background-color: #EEEEEE;
    font-size: 0.9rem;
    display: inline-block;
    color: #222;
    border-radius: 3px;
}


/* Posts */

.postdata {
    margin: 1rem 0;
}

.postdata span {
    color: #BBBBBB;
    display: inline-block;
    margin-right: 1rem;
}

.postdata span a {
    color: #BBBBBB;
}

article header {
    margin-bottom: 2rem;
}

.tags {

    margin: 1rem 0;
}

.tags ul {
    margin: 0;
    padding: 0;
    display: block;
}

.tags li {
    list-style: none;
    display: inline-block;
    float: left;
    margin: 0 0.6rem 0.6rem 0;
}

.tags li a {
    padding: 10px;
    background-color: #EEEEEE;
    font-size: 0.9rem;
    display: inline-block;
    color: #222;
    border-radius: 3px;
}

#social {
    margin: 3.6rem 0 2rem 0;
}

.read-more {
    margin-top: 1.5rem;
}

#pagination ul {
    margin: 0;
    padding: 0;
}

#pagination li {
    float: left;
    display: inline-block;
    list-style: none;
    border: 1px solid #3075F6;
    border-radius: 3px;
    margin-right: 0.5rem;
    color: #C7C8CA;
    min-width: 2rem;
    text-align: center
}

#pagination li:hover {
    color: #FFFFFF;
    background-color: #3075F6;
}

#pagination li a {
    display: block;
    color: #3075F6;
    padding: 0.4rem 0.5rem;
}

#pagination li:hover a {
    color: #FFFFFF;
}

.category {
    display: block;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 2.6px;
    color: #3075F6;
    text-transform: uppercase;
    margin: 0px;
    line-height: 1.5;
    padding: 0.9rem 0 0.6rem 0;
}

/* Search */

#search h1 {
    margin-bottom: 3rem;
}

#searchresults article header {
    margin-bottom: 0;
}

#searchresults article header h2 {
    margin: 2rem 0 0.5rem 0;
}

#searchresults .postdata {
    margin-top: 0;
}

/* Legal */

header.legal {
    text-align: center
}

section.legal {
    margin: 4rem;
    padding: 4rem 5rem;
    border: 1px solid #EAF1F4;
}

@media screen and (max-width: 1000px) {
    html {
        font-size: 15.5px;
    }

    #header {
        /*position: fixed;
        width: 100%;
        top: 0;
        background-color: #FFFFFF;
        z-index: 1;
        box-shadow: 0px 1px 3px rgba(0,0,0,0.12);*/
        padding: 1rem 5rem;
        text-align: center;
    }

    #logo {
        width: 170px;
        margin: 0.2rem;
    }

    #top + .slice {
        padding-top: 40px;
    }

    #header nav {
        display: none;
    }

    #footer nav {
        width: 20%;
    }

    #top.opened nav, #top.opened form {
        display: block;
    }

    #top.opened form {
        display: block;
        max-width: 500px;
        margin: 2rem auto;
    }

    #menuOpener {
        display: block;
    }

    #menu-service {
        float: none;
        margin: 2.1rem 1rem 3rem 1rem;
    }

    #menu {
        margin: 1rem;
    }

    main.blog {
        float: none;
        width: auto;
    }
    #sidebar {
        float: none;
        width: auto;
        padding: 5rem;
    }

    #sidebanner.fixed {
        top: auto;
        position: static;
    }

}

@media screen and (max-width: 800px) {
    html {
        font-size: 15px;
    }
    section.legal {
        margin: 5rem 0rem 0rem 0rem;
        padding: 2rem;
    }
    .bottompic .container {
        padding: 6rem 5rem;
        text-align: center
    }
    .bottompic .container img {
        position: static;
        display: block;
        margin: 4rem auto -6rem auto;
    }
    .big-top-image {
        margin-top: -12rem;
    }
    #top .slice h1 {
        font-size: 2.7rem;
    }
    #footer nav, #footer aside {
        float: none;
        width: 100%;
        margin-right: 0;
    }
    h1 {
        font-size: 2.1rem;
    }

}

@media screen and (max-width: 700px) {

    #header {
        padding: 1rem 2rem;
    }

    #footer {
        padding: 3rem 3rem;
    }
    .container {
        padding: 3rem 3rem;
    }
    main.container {
        padding: 3rem 3rem;
    }
    #sidebar {
        padding: 3rem;
    }

}
