body.overflow-hidden { /* when primary navigation is visible, the content in the background won't scroll */ overflow: hidden; } /* -------------------------------- Modules - reusable parts of our design -------------------------------- */ .cd-container { /* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */ width: 90%; max-width: 768px; margin: 0 auto; } .cd-container:after { content: ""; display: table; clear: both; } /* -------------------------------- Main components -------------------------------- */ html, body { height: 100%; } .cd-header { position: absolute; top: 0; left: 0; background: rgba(2, 23, 37, 0.95); height: 50px; width: 100%; z-index: 3; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @media only screen and (min-width: 1170px) { .cd-header { -webkit-transition: background-color 0.3s; -moz-transition: background-color 0.3s; transition: background-color 0.3s; /* Force Hardware Acceleration in WebKit */ -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -webkit-backface-visibility: hidden; backface-visibility: hidden; } .cd-header.is-fixed { /* when the user scrolls down, we hide the header right above the viewport */ position: fixed; top: -80px; background-color: rgba(2, 23, 37, 0.96); -webkit-transition: -webkit-transform 0.3s; -moz-transition: -moz-transform 0.3s; transition: transform 0.3s; } .cd-header.is-visible { /* if the user changes the scrolling direction, we show the header */ -webkit-transform: translate3d(0, 100%, 0); -moz-transform: translate3d(0, 100%, 0); -ms-transform: translate3d(0, 100%, 0); -o-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } .cd-header.menu-is-open { /* add a background color to the header when the navigation is open */ background-color: rgba(2, 23, 37, 0.96); } } .cd-logo { display: block; position: absolute; top: 50%; bottom: auto; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); left: .875em; } .cd-logo img { display: block; } @media only screen and (min-width: 768px) { .cd-logo { left: 2.6em; } } .cd-secondary-nav { position: absolute; top: 50%; bottom: auto; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); right: 10em; /* hidden on small devices */ display: none; } .cd-secondary-nav li { display: inline-block; margin-left: 2.2em; } .cd-secondary-nav a { display: inline-block; color: white; text-transform: uppercase; font-weight: 700; } @media only screen and (min-width: 768px) { .cd-secondary-nav { display: block; } } .cd-primary-nav { /* by default it's hidden - on top of the viewport */ position: fixed; left: 0; top: 0; height: 100%; width: 100%; background: rgba(2, 23, 37, 0.96); z-index: 2; text-align: center; -webkit-backface-visibility: hidden; backface-visibility: hidden; overflow: auto; /* this fixes the buggy scrolling on webkit browsers - mobile devices only - when overflow property is applied */ -webkit-overflow-scrolling: touch; -webkit-transform: translateY(-100%); -moz-transform: translateY(-100%); -ms-transform: translateY(-100%); -o-transform: translateY(-100%); transform: translateY(-100%); -webkit-transition-property: -webkit-transform; -moz-transition-property: -moz-transform; transition-property: transform; -webkit-transition-duration: 0.4s; -moz-transition-duration: 0.4s; transition-duration: 0.4s; } .cd-primary-nav li { font-size: 22px; font-size: 1.375rem; font-weight: 300; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; margin: .2em 0; text-transform: capitalize; } .cd-primary-nav a { display: inline-block; padding: .4em 1em; border-radius: 0.25em; -webkit-transition: background 0.2s; -moz-transition: background 0.2s; transition: background 0.2s; } .no-touch .cd-primary-nav a:hover { background-color: #e36767; } .cd-primary-nav .cd-label { color: #06446e; text-transform: uppercase; font-weight: 700; font-size: 14px; font-size: 0.875rem; margin: 2.4em 0 .8em; } .cd-primary-nav .cd-social { display: inline-block; margin: 0 .4em; } .cd-primary-nav .cd-social a { width: 44px; height: 44px; padding: 0; background-image: url("../img/cd-socials.svg"); background-repeat: no-repeat; /* image replacement */ overflow: hidden; text-indent: 100%; white-space: nowrap; } .cd-primary-nav .cd-facebook a { background-position: 0 0; } .cd-primary-nav .cd-instagram a { background-position: -44px 0; } .cd-primary-nav .cd-dribbble a { background-position: -88px 0; } .cd-primary-nav .cd-twitter a { background-position: -132px 0; } .cd-primary-nav.is-visible { -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); } @media only screen and (min-width: 1170px) { .cd-primary-nav li { font-size: 30px; font-size: 1.875rem; } .cd-primary-nav .cd-label { font-size: 16px; font-size: 1rem; } } .cd-intro { position: relative; height: 100%; background: url("../img/cd-background-img.jpg") no-repeat center center; background-size: cover; z-index: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .cd-intro h1 { position: absolute; width: 90%; max-width: 1170px; left: 50%; top: 50%; bottom: auto; right: auto; -webkit-transform: translateX(-50%) translateY(-50%); -moz-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); -o-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); color: white; font-size: 20px; font-size: 1.25rem; font-weight: 300; text-align: center; } @media only screen and (min-width: 768px) { .cd-intro h1 { font-size: 30px; font-size: 1.875rem; } } @media only screen and (min-width: 1170px) { .cd-intro { height: 700px; } } .cd-main-content { position: relative; z-index: 1; } .cd-main-content p { line-height: 1.6; margin: 2em 0; } @media only screen and (min-width: 1170px) { .cd-main-content p { font-size: 20px; font-size: 1.25rem; } }