/*

Theme Name: Premise
Theme URI: http://studioaceofspade.com/wordpress-framework
Description: A framework, hence the name Premise, created by Studio Ace of Spade. It is used for developing sites on WordPress. Barebones, and ready for generic pages such as About, Contact, Services, etc. Comes fully loaded with an HTML5 theme, Twitter Bootstrap, CSS Reset, Cycle.js, and base CSS styles.
Version: 2.0.0
Author: Studio Ace of Spade
Author URI: http://studioaceofspade.com
Tags: customizable, template, framework, cms, example, premise

*/

/* =============================================================================
   HTML5 display definitions
   ========================================================================== */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }
/* =============================================================================
   Base
   ========================================================================== */
html { font-size: 100%; overflow-y: auto; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { margin: 0; }
body, button, input, select, textarea {font-family: 'Roboto'; color: #404040; }
::-moz-selection { background: #3D348B; color: #fff; text-shadow: none; }
::selection { background: #3D348B; color: #fff; text-shadow: none; }
a:focus, a:active { outline: 0; }}
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ddd; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }
table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

/* ==|== primary styles =====================================================
   Author: Jon Savage of Studio Ace of Spade
   ========================================================================== */
body {
	color: #404040;
	font-family: 'Roboto', helvetica, arial, sans-serif;
	font-size: 14px;
}
.overflow-x-hidden {
    overflow-x: hidden;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}
a, a:link, input[type="submit"], .transition {
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}
.col-xs-offset-3 {
    margin-left: 0;
}
@media screen and (max-width: 767px) {
    .col-xs-offset-3 {
        margin-left: 25%;
    }
}
.container {
    max-width: 100%;
}
.flex-row {
    display: flex;
    justify-content: center;
    margin-left: -15px;
    margin-right: -15px;
}
a, a:visited {
	color: #f3474b;
	text-decoration: none;}
a:hover {
	color: #ff9800;}
.cf:before,
.cf:after {
    content: "";
    display: table;}
.cf:after {
    clear: both;}
.cf {
    *zoom: 1;}
img {
    max-width: 100%;
}
h1,h2,h3,h4,h5,h6 {
	font-weight: normal;
    margin: 0;
}
h1 {
	font-size: 40px;
	line-height: 40px;
    font-weight: 900;
}
h2 {
	font-size: 34px;
	line-height: 34px;
	font-weight: 900;
}
h3 {
	font-size: 28px;
	line-height: 28px;
    font-weight: 900;
}
h4 {
	font-size: 16px;
	line-height: 16px;
}
h5 {
    font-size: 12px;
    line-height: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
p,
.content li {
	font-size: 18px;
	line-height: 32px;
    font-weight: 300;
	margin: 0 0 20px;
}
.content li {
    margin: 0 0 5px;
}
p + ol,
p + ul {
	margin-bottom: 0;
}
.center {
    text-align: center;
}
.last {
	margin-right: 0;
}
.vct,
.vctr,
.vctd {
    display: table;
    width: 100%;
    height: 100%;
    vertical-align: middle;
}
.vctr {
    display: table-row;
}
.vctd {
    display: table-cell;
}
body, html {
    height: 100%;
}
.graybg {
    background: #f4f7fa;
}
.gradient-bg {
    background: rgb(245,147,2); /* Old browsers */
    background: -moz-linear-gradient(-45deg, rgba(245,147,2,1) 0%, rgba(243,71,75,1) 100%);
    background: -webkit-linear-gradient(-45deg, rgba(245,147,2,1) 0%,rgba(243,71,75,1) 100%);
    background: linear-gradient(135deg, rgba(245,147,2,1) 0%,rgba(243,71,75,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f59302', endColorstr='#f3474b',GradientType=1 );
    margin: 30px 0;
}
.content .gradient-bg p {
    color: #fff;
    text-align: justify;
}
.content .gradient-bg h2 {
    color: #fff;
}
.hero {
    background: url('img/hosting-bg-3.jpg') center center no-repeat;
    background-size: cover;
    height: 700px;
    padding: 140px 0 0;
    background-color: #3D348B;
}
.home .hero {
     background: url('img/home-bg.jpg') center center no-repeat;
}
.hero.with-overlay {
    position: relative;
}
.hero.with-overlay > div {
    z-index: 1;
}
.hero.with-overlay::before{
    background: #f3474b;
    background: -moz-linear-gradient(45deg, rgba(243, 71, 75, 0.8) 0%, rgba(255, 152, 0, 0.8) 100%);
    background: -webkit-linear-gradient(45deg, rgba(243, 71, 75, 0.8) 0%, rgba(255, 152, 0, 0.8) 100%);
    background: linear-gradient(45deg, rgba(243, 71, 75, 0.8) 0%, rgba(255, 152, 0, 0.8) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3474b', endColorstr='#ff9800',GradientType=1 );
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    content: "";
}
.content {
    background: #f4f7fa;
}
.h100 {
    height: 100%;
}

/** Site Header **/
.logo {
    position: absolute;
    left: 10px;
    top: 49px;
    width: 300px;
}
.header {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    z-index: 1000;
}
.header-dropdown {
    display:none;
    background-color:#3D348B;
    border-radius: 0 0 7px 7px;
    position:absolute;
    min-width:220px;
    overflow: hidden;
}
.menu .main-nav .header-dropdown li a {
    color: #fff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.menu .main-nav .header-dropdown ul {
    width:100%;
}
.menu .main-nav .header-dropdown li {
    display:block;
}
.menu .main-nav .header-dropdown a {
    line-height:40px;
}
.menu .main-nav .header-dropdown a:hover {
    background: rgba(0,0,0,.3);
}
.menu {
    float: right;
    width: 900px;
}
.menu a {
    display: block;
}
.menu .phone a {
    color: #fff;
}
.menu-phone a:hover {
    color: #3D348B;
}
.menu .secondary-nav {
    text-align: right;
    margin: 0 15px 0 0;
}
.menu .secondary-nav li a {
    font-size: 16px;
    line-height: 60px;
    color: #fff;
    margin-left: 25px;
    font-weight: 500;
}
.menu .secondary-nav li a:hover {
    color: #3D348B;
}
.menu ul {
    margin: 0;
    padding: 0;
    font-size: 0;
    list-style: none;
}
.menu li {
    display: inline-block;
}
.menu .main-nav {
    background: #fff;
    border-radius: 7px 0 0 7px;
    font-weight: 500;
}
.menu .main-nav > ul > li:first-child a {
    border-radius: 7px 0 0 7px;
}
.menu .main-nav li a {
    display: block;
    padding: 0 15px;
    color: #3D348B;
    font-size: 16px;
    line-height: 80px;
}
.menu .main-nav li a:hover,
.menu .main-nav li.active a {
    background: #3D348B;
    color: #fff;
}
.menu .main-nav ul {
    width: 75%;
    float: left;
}
.menu .main-nav .phone {
    float: right;
    background: #f3474b;
    line-height: 80px;
    color: #fff;
    padding: 0 25px;
    font-size: 16px;
    font-weight: 500;
}

/** Headers **/
.hero h1 {
    padding: 10px 0 20px;
}
.hero h2 {
    font-size: 20px;
    font-weight: 300;
}
.hero h3 {
    font-size: 12px;
    line-height: 12px;
    color: #fff;
    font-weight: 400;
}
.content h2 {
    margin: 60px 0;
    font-size: 58px;
    line-height: 58px;
    color: #f3474b;
    position: relative;
}
.content h2::before {
    content: '';
    background: #3D348B;
    width: 1000px;
    height: 1px;
    display: block;
    left: -1010px;
    top: 50%;
    position: absolute;
}
.content .post-content h2:first-child {
    margin-top: 0;
}
.content .post-content h2:first-child::before {
    display: none;
}
.content h2.flip {
    display: inline-block;
}
.content h2.flip::before {
    left: auto;
    right: -1010px;
}
.content h3 {
    font-weight: 900;
    color: #3D348B;
    margin: 0 0 10px;
}
.content h3 a { 
    color: #3D348B;
}
.content h3 a:hover {
    color: #F3474B
}
.content h4 {
    color: #f3474b;
    margin: 0 0 10px;
    font-weight: 900;
}
.content .post-content h4 {
    color: #3D348B;
    margin: 40px 0 10px;
}
.content h5 {
    color: #f3474b;
}
.content hgroup {
    margin: 0 0 20px;
}
.footer h3 {
    color: #fff;
    font-weight: 900;
    font-size: 58px;
    line-height: 58px;
    margin: 0 0 20px;
}
.footer h4 {
    color: #fff;
    font-size: 21px;
    line-height: 32px;
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
    font-weight: 300;
}
.footer h5 {
    margin: 60px 0 20px;
    color: #fff;
    font-weight: 900;
}

/** Text Styles **/
.content p a {
    font-weight: 900;
    border-bottom: 1px dotted #3D348B;
}
.content ul,
.content ol {
    margin-bottom: 20px;
}
.content p.small,
.footer p.small,
.content p.wp-caption-text {
    font-size: 14px;
    line-height: 26px;
}
.content p.white,
.footer p.white {
    color: #fff;
}
.content blockquote {
    padding: 0 0 50px;
    border-bottom: #f3474b 2px solid;
    margin: 30px 0 30px 30px;
    width: 50%;
    float: right;
}
.content blockquote h3 {
    font-size: 34px;
    font-weight: 900;
    line-height: 38px;
    color: #53251c;
    margin: 0 0 30px;
    text-transform: none;
    letter-spacing: 0;
}
.content blockquote p {
    font-size: 16px;
    line-height: 28px;
    color: #666;
    position: relative;
    padding: 0 0 0 25%;
    margin: 0;
}
.content blockquote p:after {
    content: '';
    display: block;
    width: 20%;
    position: absolute;
    top: 9px;
    left: 0;
    height: 3px;
    background: #ff9800;
}
.content img {
    max-width: 100%;
}

/** Layout Effects **/
.border-radius {
    border-radius: 3px;
}
.border-radius.medium {
    border-radius: 5px;
}
.border-radius.large {
    border-radius: 7px;
}
.box-shadow {
    box-shadow: 0 0 20px 0 rgba(0,0,0,.20);
}
.text-shadow {
    text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.25);
}

/** Forms **/
form *,
form *:focus {
    outline: none !important;
}
input[type="text"],
input[type="email"] {
    border: 0;
    width: 100%;
    margin: 0;
    padding: 8px 0;
    line-height: 21px;
    position: relative;
    background: transparent;
}
input[type="submit"] {
    background: transparent;
    width: 100%;
}

/** Buttons **/
.button {
    font-weight: 900;
    display: inline-block;
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: 2px solid #3D348B;
    color: #fff;
    line-height: 18px;
    padding: 10px 20px;
}
.button:visited {
    color: #fff;
}
.button + .button {
    margin: 0 0 0 10px;
}
.button:hover,
.button.dark-highlight {
    color: #fff;
    background: #3D348B;
}
.button.dark-highlight:hover {
    background: #140c56;
    border-color: #140c56;
}
.button .fa {
    padding-left: 15px;
}
.button-group {
    margin: 20px 0 0;
}
input.button {
    letter-spacing: 0;
}
.button-group.action {
    padding: 40px 0;
    text-align: center;
}
.button-group.no-border {
    border-top: 0;
    padding: 0;
}
.button-group.inline {
    display: inline-block;
}
.button-group.vertical .button {
    margin: 0 0 10px;
    display: block;
    width: 100%;
}
.button.dark {
    border-color: #404040;
    color: #404040;
}
.button.dark:hover {
    background: #404040;
    color: #fff;
}
.button.light {
    border: 2px solid #ff9800;
    color: #f3474b;
}
.button.light:hover {
    background: #ff9800;
    color: #fff;
}
.button.white {
    border-color: #fff;
}
.button.white:hover {
    background: #fff;
    color: #404040;
}
.button.white-text {
    color: #fff;
}

/** Footer **/
.footer {
    position: relative;
    background: #02101c;
}
.footer .messaging {
    background: url('img/footer-bg.jpg') center bottom no-repeat;
    background-size: cover;
    height: 700px;
    padding: 250px 0 0;
}
.footer .messaging .container {
    max-width: 600px;
}
.footer ::-webkit-input-placeholder {
  color: #fff;
}

.footer ::-moz-placeholder {
  color: #fff;
}
.footer :-ms-input-placeholder {
  color: #fff;
}
.footer :-moz-placeholder {
  color: #fff;
}
.footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer .messaging .field-container {
    max-width: 600px;
    margin: 30px auto;
}
.footer .messaging .mc-field-group {
    width: 60%;
    float: left;
    margin-right: 2%;
}
.footer .messaging .clear {
    clear: none;
}
.footer .messaging .submit-wrapper {
    float: left;
    width: 38%;
}
.footer form input[type="email"] {
    color: #fff;
}
.footer .messaging .mc-field-group {
    position: relative;
}
.footer .messaging .mc-field-group:after {
    content: ' ';
    position: absolute;
    display: block;
    height: 2px;
    width: 100%;
    bottom: -5px;
    left: 0;
    right: 0;
    background: #fff;
}
.footer .messaging .button-group {
    margin-top: 0;
}
.footer .primary {
    padding: 80px 15px 120px;
}
.footer .primary img {
    width: 300px;
    margin: 0 0 20px;
}
.footer .primary p {
    color: #fff;
}
.footer .primary ul a {
    display: block;
    margin: 0 0 10px;
}
.footer .info {
    padding: 10px 0;
    background: rgba(255,255,255,.1);
    color: #fff;
    position: absolute;
    bottom: 0;
    width: 100%;
    margin: 0;
}
.footer .info .address {
    float: left;
}
.footer .info .copyright {
    float: right;
}

/** Hero **/
.hero {
    color: #fff;
}
.header-note .divider {
    display: block;
    width: 1000px;
    height: 1px;
    background: #fff;
    position: relative;
    margin-left: -1010px;
    top: 6px;
}
.hero p a {
    color: #3D348B;
    font-weight: 900;
    border-bottom: 1px dotted #fff;
}
.hero p a:hover {
    color: #fff;
    border-bottom: 1px solid #fff;
}
.form-wrapper {
    position: relative;
}
.form-wrapper:after {
    background: #3D348B;
    content: '';
    display: block;
    position: absolute;
    right: -20px;
    bottom: -20px;
    top: 20px;
    left: 20px;
    z-index: 1;
    border-radius: 7px;
}
.form-content {
    position: relative;
    z-index: 10;
    background: #fff;
}
.form-wrapper hgroup {
    padding: 30px 15px;
}
.form-wrapper h3 {
    font-size: 28px;
    line-height: 28px;
    text-transform: uppercase;
    margin: 0 0 10px;
    color: #3D348B;
    text-align: center;
    font-weight: 900;
}
.form-wrapper h5 {
    color: #f3474b;
    text-align: center;
}
.hero  {
    width: 100%
}
.hero form * {
    z-index: 2;
    position: relative;
}
.hero form .gform_validation_container {
    display: none;
}
.hero form .gfield label {
    display: none;
}
.hero form .gfield {
    margin: 0;
}
.hero form ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.hero form input {
    width: 100%;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #ddd;
    padding: 20px;
}
.hero form textarea {
    width: 100%;
    height: 120px;
    padding: 20px;
    border: 0;
}
.hero form li:first-child {
    border-top: 1px solid #ddd;
}
.hero form li:last-child {
    border-bottom: 0;
}
.hero form .gform_confirmation_message {
    padding: 30px;
    background: #f1f1f1;
    border-top: 1px solid #ddd;
}
.hero form input[type="submit"] {
    background: #f3474b;
    color: #fff;
    font-weight: 900;
    border: 0;
    font-size: 18px;
    line-height: 18px;
    border-radius: 0 0 7px 7px;
    text-transform: none;
}
.hero form input[type="submit"]:hover {
    background: #ff9800;
}
.hero form .validation_error {
    margin: 0 auto 10px;
    width: 90%;
    background: #f3474b;
    color: #fff;
    font-weight: 300;
    padding: 7px;
}
.hero form .validation_message {
    display: none;
}
.hero form .instruction {
    display: none;
}
.hero form .gfield_error::after {
    content: '';
    height: 12px;
    width: 12px;
    display: block;
    position: absolute;
    left: -6px;
    top: 50%;
    margin-top: -6px;
    background: #f3474b;
    z-index: 100;
}

/** Social Buttons **/
.social {
    max-width: 600px;
    margin: 0 auto 0;
    font-size: 0;
    text-align: center;
}
.social li {
    display: inline-block;
    margin-right: 10px;
}
.social li:last-child {
    margin-right: 0;
}
.social a {
    color: #fff;
    font-size: 14px;
    line-height: 30px;
    width: 30px;
    display: block;
    border-radius: 50%;
    text-align: center;
    background: #f3474b;
}
.social a:hover {
    background: #ff9800;
}

/** Buckets **/
.bucket {
    margin-bottom: 30px;
}
.bucket .icon {
    width: 80px;
    height: 80px;
    background: #ff9800;
    margin: 0 0 40px;
    border-radius: 7px;
}
.bucket .icon.red {
    background: #f3474b;
}
.bucket .icon img {
    max-width: 80px;
    position: relative;
    top: 20px;
    left: 20px;
}
.bucket .divider {
    border-top: 1px solid #3D348B;
    text-align: right;
    margin: 0 0 20px;
}
.bucket .divider a {
    display: inline-block;
    background: #3D348B;
    color: #fff;
    padding: 0 10px;
    border-radius: 0 0 3px 3px;
    line-height: 23px;
    margin-top: -1px;
}
.bucket .divider a:hover {
    background:#f3474b;
}

/** Projects **/
.project {
    position: relative;
    min-height: 550px;
}
.project > * {
    position: relative;
    z-index: 10;
}
.project .desktop-underlay {
    width: 900px;
    position: absolute;
    left: 50%;
    margin-left: -170px;
    z-index: 1;
    top: 0;
}
.project + .project {
    margin-top: 250px;
    margin-bottom: 350px;
}
.featured-projects .project:last-child {
    margin-bottom: 120px;
}
.project.flip {
    text-align: right;
}
.project.flip .desktop-underlay {
    left: auto;
    right: 50%;
}
.project .highlight-bar {
    background: #f3474b;
    height: 200px;
    position: absolute;
    right: 0;
    top: 310px;
    left: 22%;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
}
.project.flip .highlight-bar {
    left: 0;
    right: 22%;
    background: #3cb9e7;
}
.project .highlight-logo {
    max-height: 150px;
    position: relative;
    left: 75px;
}
.project.flip .highlight-logo {
    left: -75px;
}
.project.flip .container {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.project .count {
    position: relative;
    width: 70px;
    height: 76px;
    margin: 0 0 30px;
}
.project .count span {
    display: block;
    font-size: 28px;
    line-height: 76px;
    text-align: center;
    font-weight: 900;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    color: #404040;
}
.project h3 {
    font-size: 58px;
    line-height: 54px;
    color: #404040;
    max-width: 400px;
    margin: 0;
}
.project .divider,
.service-excerpt .divider {
    height: 10px;
    width: 260px;
    background: #404040;
    margin: 40px 0 30px;
}
.project .icons {
    margin: 0 0 20px;
}
.project .icons img {
    height: 40px;
    margin-right: 20px;
}
.project.flip .icons img {
    margin-right: 0;
    margin-left: 20px;
}
.project p {
    max-width: 400px;
}
.phone-overlay {
    position: absolute;
    right: 430px;
    top: 270px;
}

/** Testimonials **/
.testimonials {
    margin: 0 0 60px;
}
.testimonial {
    background: #f3474b;
    padding: 60px;
}
.testimonial span {
    font-size: 14px;
    line-height: 1;
    display: block;
    text-align: right;
    font-weight: 900;
    text-transform: uppercase;
    color: #fff;
}
.testimonial.t2 {
    background: #3D348B;
}
.testimonial.t3 {
    background: #ff9800;
    margin: 30px 0 0 0;
}
.testimonial img {
    display: block;
    margin: -20px auto 20px;
}

/** Single Portfolio Pages **/
.project-stats {
    background: #f3474b;
    padding: 60px 0;
    margin: 250px 0 30px;
}
.content .project-stats h5 {
    color: #fff;
    padding: 0 0 5px;
    margin: 0 0 5px;
    border-bottom: 1px dotted #fff;
}
.project-stats p {
    color: #fff;
}
.project-stats .stat + .stat {
    margin: 15px 0 0;
}

/** Single Service Pages **/
.service .gradient-bg {
    color: #fff;
    text-align: center;
    padding: 0 0 60px;
}
.service .content h2::before {
    display:  none;
}
.question {
    margin-bottom: 30px;
}
.gallery-image {
    padding-right: 30px;
}
.gallery-image-wrapper {
    margin: 0 0 50px;
}
.gallery-images .image img {
    display: block;
    margin: 0 auto;
}
span.highlight {
    background: #f7e5d6;
    color: #333;
    padding: 3px;
}
.post-content span.highlight:hover {
    background: #f7e5d6;
}

/** Service - Managed Web Hosting **/
.partners {
    margin: 0 0 60px;
}
.pricing h2 {
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
    margin-top: 0px;
}
.pricing h3 {
    text-align: center;
    margin: 0 0 60px;
}
.pricing h4 {
    color: #3D348B;
    font-size: 28px;
    margin: 15px 0;
}
.pricing-table {
    width: 100%;
    max-width: 820px;
    margin: 30px auto 60px;
}
.plan {
    width: 32%;
    float: left;
    text-align: center;
    box-shadow: 0 0 20px 0 rgba(0,0,0,.15);
    background: #fff;
    padding: 20px;
    position: relative;
    height: 450px;
}
.plan.featured-plan {
    margin: -25px 2% 0;
    box-shadow: 0 0 20px 0 rgba(0,0,0,.55);
}
.plan .plan-icon-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    padding: 10px 0 0 0;
}
.plan .plan-icon-wrapper.bottom-icon {
    top: auto;
    left: auto;
    right: 0;
    bottom: 0;
    transform: rotate(180deg);
}
.plan .plan-icon {
    height: 20px;
    margin: 0 auto;
    display: block;
}
.plan .ace {
    font-size: 20px;
    line-height: 20px;
    color: #f3474b;
    font-weight: 900;
}
.plan ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.plan li {
    font-size: 16px;
    line-height: 16px;
    margin: 0 0 8px;
}
.plan li:last-child {
    margin: 0 0 15px;
}
.plan .plan-price {
    font-size: 40px;
    line-height: 40px;
    font-weight: 900;
    position: relative;
    padding: 0 15px;
    color: #ff9800;
    margin: 25px 0 40px;
    background: #fff;
}
.plan .plan-price * {
    position: relative;
    z-index: 10;
}
.plan .plan-price span {
    background: #fff;
    padding: 0 15px;
}
.plan .plan-price::after {
    content: '';
    position: absolute;
    height: 1px;
    display: block;
    left: -20px;
    right: -20px;
    background: #000;
    top: 19px;
    z-index: 1;
    background: #3D348B;
}
.plan .plan-price .plan-year-tag {
    font-size: 12px;
    line-height: 12px;
    font-weight: 300;
    display: block;
}
.pricing-wrapper {
    background: url('img/pricing-bg.jpg') center center no-repeat;
    background-size: cover;
    -webkit-box-shadow:inset 0px 0 10px 0 rgba(0,0,0,.25);
    box-shadow:inset 0px 0 10px 0 rgba(0,0,0,.25);
    padding: 60px 0;
}

/** About Page **/
.project.process .highlight-bar {
    top: 80px;
}
.project.flip .project-description {
    text-align: right;
}
.project.flip .project-icons img {
    margin: 0 0 0 25px;
}
.project.process:nth-child(3n-2) .highlight-bar{
    background: #ff9800;
}
.project.process:nth-child(3n-1) .highlight-bar {
    background: #f3474b;
}
.project.process:nth-child(3n) .highlight-bar {
    background: #766DBF;
}
.project.process + .project.process {
    margin-top: 0;
    margin-bottom: 0;
}

.member {
    margin: 0 0 30px;
}
.member .image {
    border: 1px solid #ddd;
    border-radius: 7px;
    padding: 10px;
    margin: 0 0 10px;
}
.member .image img {
    border-radius: 5px;
    display: block;
}

/** Blog Feed **/
#blog .content {
    padding: 60px 0;
}
#blog aside {
    text-align: left;
}
#blog .hero {
    height: 500px;
}
aside input[type="email"] {
    border-bottom: 2px solid #3D348B;
    margin-bottom: 10px;
    max-width: 100%;
    width: 100%;
    padding-bottom: 6px;
    font-size: 12px;
    background: transparent;
    font-weight: 300;
}
aside ::-webkit-input-placeholder {
  color: #3D348B;
}
aside ::-moz-placeholder {
  color: #3D348B;
}
aside :-ms-input-placeholder {
  color: #3D348B;
}
aside :-moz-placeholder {
  color: #3D348B;
}
aside .newsletter-signup {
    margin: 0 0 20px;
}
aside .social {
    margin-top: -10px;
}
aside .social a {
    padding: 0;
}
aside .social li {
    padding: 0 3px;
}
aside .social li:first-child {
    padding-left: 0;
}
article.excerpt {
    margin: 0 0 30px;
    padding: 0 0 30px;
    border-bottom: 1px solid #ddd;
}
article .thumbnail {
    margin: 0 0 20px;
}
article .button-group {
    margin: 0;
}

/** Pagination **/
.pagination {
    text-align: center;
}
.pagination .page-numbers {
    font-size: 18px;
    line-height: 21px;
}
.pagination .page-numbers:not(.next):not(.prev) {
    display: inline-block;
    width: 2em;
    height: 2em;
    line-height: 2em;
    margin: 0 5px;
}
.pagination .page-numbers.current {
    color: #fff;
    background: #F3474B;
    border-radius: 50%;
}
.pagination .page-numbers.prev {
    margin-right: 20px;
}
.pagination .page-numbers.next {
    margin-left: 20px;
}

/** Single Blog **/
.single-post.content {
    padding: 60px 0;
}
article .highlight {
    background: #f7e5d6;
    padding: 3px;
    line-height: 1em;
    color: #444;
}
article .highlight .footnote {
    color: #f7e5d6;
    position: absolute;
    right: -40px;
}
article .highlight:hover {
    background: #e4ba97;
}
article .highlight:hover .footnote {
    color: #e4ba97;
}
.content aside h5 {
    margin: 0 0 5px;
    color: #3D348B;
}
aside a {
    display: block;
    padding: 5px 0 5px;
    line-height: 1;
}
.content aside li {
    margin: 0;
}
aside ul,
aside ol {
    margin: 5px 0 10px;
}
.content aside ul {
    margin-bottom: 40px;
}
aside li:last-child a {
    border-bottom: 0;
}
aside span {
    display: block;
    font-size: 14px;
    margin: 0 0 20px;
}
aside .social ul {
    margin: 0;
    padding: 0;
}
aside .social a {
    background: #ff9800;
}
aside .social a:hover {
    background: #3D348B;
}
.single-post aside .social {
    text-align: left;
}
.author-img {
    margin: 0 auto 20px;
    display: block;
    border-radius: 7px;
}

/** Annotations **/
.aside {
    display: none;
    position: absolute;
    left: 100%;
    width: 25%;
    top : 0;
    border-radius: 7px;
}
.aside .aside-content {
    box-shadow: 0 0 20px 0 rgba(0,0,0,.25);
    background: #ff9800;
    color: #fff;
    padding: 20px;
    border-radius: 7px;
    position: relative;
    z-index: 1;
}
.aside .close {
    line-height: 0;
    position: absolute;
    right: -12px;
    top: -16px;
    font-size: 36px;
    display: block;
    color: #fff;
    z-index: 2;
}
.aside:before {
    content: "";
    position: absolute;
    background: #3D348B;
    top: -25px;
    right: -25px;
    width: 100%;
    height: 100%;
    border-radius: 7px;
    z-index: 0;
}

/** Services **/
#services {
    overflow-x: hidden;
}
.service-excerpt {
    -webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,.15);
    box-shadow: 0 0 20px 0 rgba(0,0,0,.15);
    border-radius: 7px;
    background: #3D348B;
    padding: 50px;
    position: relative;
    z-index: 10;
    margin: 0 0 60px;
}
.service-excerpt:first-child {
    margin-top: -100px;
}
.service-excerpt .image {
    position: absolute;
    right: -15px;
    bottom: 90px;
}
.service-excerpt .image.keyboard {
    position: absolute;
    right: -15px;
    top: 50%;
    margin-top: -290px;
}
.service-excerpt .image.notepad {
    position: absolute;
    right: -80px;
    top: 50%;
    margin-top: -255px;
}
.service-excerpt .image.computer {
    bottom: 0;
    right: -80px;
    max-width: 410px;
}
.service-excerpt:nth-child(3n+2) {
    background: #ff9800;
}
.service-excerpt:nth-child(3n) {
    background: #f3474b;
}
.service-excerpt h2,
.service-excerpt p {
    color: #fff;
    max-width: 400px;
}
.services .service-excerpt h2 {
    margin: 0;
}
.service-excerpt h2::before {
    display: none;
}
.service-excerpt .divider {
    background: #fff;
}

/** Contact Page **/
.contact .testimonials .col-sm-12,
.contact .testimonials .col-sm-4,
.contact .testimonials .col-sm-9,
.contact .testimonials .col-sm-8 {
    width: 100%;
    margin: 0;
}
.contact .testimonials .col-sm-4 {
    display: none;
}
.contact .testimonials .testimonial {
    margin: 0 0 30px;
}
.contact .content h2 {
    font-size: 42px;
    line-height: 42px;
    margin: 30px 0;
}
.info {
    margin: 30px 0;
}
.info h5 {
    margin-bottom: 10px;
}
.info .social {
    text-align: left;
    margin: 20px 0;
}
.info .social ul {
    margin: 0;
    padding: 0;
}
.contact .form-wrapper {
    margin-bottom: -220px;
}
.contact .info-wrapper {
    margin-top: 110px;
}

/** 404 **/
#error .travolta {
    position: absolute;
    bottom: 0;
    padding-left: 15px;
    padding-right: 15px;
}

@media screen and (max-width: 1250px) {
    /** Header **/
    .menu {
        width: 800px;
    }
}

@media screen and (max-width: 1200px) {
    /** Projects **/
    .project .desktop-underlay {
        width: 800px;
        margin-left: -30px;
    }
    .project .highlight-bar {
        justify-content: flex-end;
    }
    .project.flip .highlight-bar {
        justify-content: flex-start;
    }
    .project .highlight-logo {
        left: 0;
        margin-right: 30px;
    }
    .project.flip .highlight-logo {
        left: 0;
        margin-left: 30px;
    }
    .phone-overlay {
        right: 260px;
    }
    .project.flip .desktop-underlay {
        margin-right: -40px;
    }
    .project.flip .phone-overlay {
        right: 435px;
    }

    /** Blog **/
    #blog .sidebar input[type="submit"] {
        font-size: 10px;
        padding: 10px 10px;
    }
    #blog .social-share a.share {
        width: 30px;
        height: 30px;
        line-height: 30px;
    }
}

@media screen and (max-width: 1140px) {
    /** Header **/
    .logo img {
        width: 240px;
        margin: 5px 0 0 0;
    }
    .menu {
        width: 715px;
    }
}

@media screen and (max-width: 991px) {
    /** Header **/
    .menu {
        width: 100%;
        float: none;
        margin: 20px 0 0 0;
    }
    .menu .secondary-nav {
        margin: -10px 15px 10px 0;
    }
    .menu .main-nav {
        border-radius: 0;
    }
    .menu .main-nav ul {
        width: 65%
    }
    .logo {
        margin: 0;
        top: 7px;
    }
    .logo img {
        margin: 0;
        width: 60px;
    }
    .plan .plan-icon-wrapper {
        padding: 16px 0 0 0;
    }

    /** Testimonials **/
    .testimonial {
        padding: 25px;
    }
    .testimonial img {
        margin-top: 0;
    }

    /** Projects **/
    .project .desktop-underlay {
        margin-left: 100px;
    }
    .highlight-logo {
        display: none;
    }
    .phone-overlay {
        right: 160px;
        height: 370px
    }
    .project.flip .desktop-underlay {
        margin-right: 80px;
    }
    .project h3,
    .project p {
        max-width: 350px;
    }
    .project h3 {
        font-size: 60px;
        line-height: 60px;
    }
    .featured-projects .project:last-child {
        margin-bottom: 0;
    }

    /** Blog Post **/
    .aside {
        position: fixed;
        top: 50px !important;
        width: 80%;
        max-width: 400px;
        left: 50%;
        transform: translateX(-50%);
    }
    article .highlight .footnote {
        display: none;
    }
    /** Layout **/
    .flex-row {
        flex-wrap: wrap;
    }
}

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

    /** Header **/
    .menu .main-nav ul {
        width: 100%;
    }
    .header-dropdown {
        display: none !important;
    }
    .menu .main-nav > ul > li:first-child a {
        border-radius: 0;
    }

    /** Buttons **/
    .button-group,
    .button-group.inline,
    .button-group .button {
        display: block;
        width: 100%;
    }
    .button-group.action {
        padding: 0;
        border: 0;
    }
    .container + .button-group.action {
        padding: 0 15px;
    }
    
    /** Footer **/
    .footer .info {
        text-align: center;
        padding: 10px;
    }
    .footer .info .address,
    .footer .info .copyright {
        display: block;
        float: none;
    }
    .footer .info .address {
        margin-bottom: 5px;
    }
    .footer .messaging {
        height: 560px;
    }
    .footer h5 {
        margin-top: 20px;
    }

    /** Hero **/
    .hero {
        height: auto;
        padding: 200px 0 20px;
    }
    .hero h2 {
        font-size: 18px;
        line-height: 32px;
    }
    .hero .button-group .button {
        display: inline-block;
        width: auto;
        margin-bottom: 5px !important;
    }
    .hero .form-wrapper {
        margin-top: 20px;
    }
    .hero .form-wrapper::after {
        display: none;
    }
    
    /** Main Content **/
    .content h2 {
        font-size: 32px;
        line-height: 32px;
        margin: 30px 0;
    }
    .content h2::before {
        display: none;
    }
    .content h3 {
        font-size: 21px;
        line-height: 21px;
    }

    /** Buckets **/
    .bucket {
        margin: 0 0 40px;
        width: 100% !important;
    }
    .bucket .divider {
        margin: 0 0 10px;
    }

    .process p {
        max-width: 100%;
    }
    .member {
        max-width: 400px;
        margin: 0 auto 30px;
    }

    /** Projects **/
    .featured-projects + .button-group {
        padding: 0 15px;
        margin: 0 0 30px;
    }
    .project.flip .container {
        display: block;
    }
    .service .project.process + .project.process {
        margin-top: 30px;
    }
    .project,
    .service .project.process.first {
        margin-top: 0;
    }
    .project + .project {
        margin: 50px 0 20px;
    }
    .project.flip .container > * {
        float: none;
    }
    .project.flip .count,
    .project .count {
        margin: 0 0 30px;
    }
    .project h3 {
        font-size: 42px;
        line-height: 42px;
        max-width: 100%;
    }
    .project p {
        max-width: 100%;
    }
    .project.flip h3 {
        text-align: left;
        margin-top: 0;
    }
    .project.flip .icons {
        text-align: left;
    }
    .project.flip .icons img {
        margin: 0 15px 0 0 ;
    }
    .project.flip p {
        text-align: left;
    }
    .project .divider {
        margin: 30px 0;
        height: 10px;
        width: 150px;
    }
    .project .icons {
        margin: 0 0 30px;
    }
    .project .phone-overlay {
        display: none;
    }
    .project .button-group {
        width: 100%;
        text-align: center;
    }
    .project .button-group .button {
        width: 100%;
        display: block;
    }
    .project-stats {
        margin-top: 30px;
    }

    /** Testimonials **/
    .testimonial.t3 {
        margin-bottom: 30px;
    }

    /** About Page **/
    .member .image {
        padding: 15px;
    }
    #team .col-sm-3 {
        width: 50%;
    }

    /* Single Service Pages */
    .plan {
        float: none;
        width: 100%;
        max-width: 2450px;
        margin: 0 auto 30px !important;
    }

    /** Single Portfolio Pages **/
    .gallery-images .image {
        margin-top: 20px;
    }
    .project-stats .stat {
        margin-top: 0 !important;
        margin-bottom: 20px !important;
    }

    /** Contact Page **/
    .contact .form-wrapper {
        margin: 30px 0 0;
    }
    .contact .info-wrapper {
        margin: 0;
    }
    .contact .info {
        text-align: center;
    }
    .contact .testimonials {
        margin: 0 -15px;
    }
    .contact > .content > .container > .row {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row-reverse;
    }
    .contact .content .col-sm-8 {
        width: 100%;
        order: 1;
    }
    .contact .content .col-sm-4 {
        width: 100%;
        order: 0;
    }
    .contact .social {
        text-align: center;
        max-width: 100%;
    }

    /** Service Excerpts **/
    .services .service-excerpt h2,
    .services .service-excerpt p,
    .services .service-excerpt .divider {
        width: 100%;
        max-width: 100%;
    }
    .service-excerpt:first-child {
        margin-top: 60px;
    }

    /** Blog **/
    .article-wrapper {
        display: flex;
        flex-wrap: wrap;
    }
    .sidebar-wrapper {
        order: 2;
        width: 100%;
        margin-top: 30px;
    }
    .sidebar-wrapper .author-img {
        float: left;
    }
    .content aside h5 {
        clear: both;
    }
    .post-wrapper {
        order: 1;
    }
    
    /* Home */
    .hero .button {
        margin: 0 10px 0 0 !important;
    }

    /** Social **/
    .social {
        max-width: 100%;
    }
}

@media screen and (max-width: 640px) {
    /** Footer **/
    .footer .primary {
        padding: 20px 15px 70px;
    }
}

@media screen and (max-width: 560px) {
    /** Header **/
    .menu .main-nav ul li {
        width: 50%;
        float: left;
        text-align: center;
        border-top: 1px solid #ddd;
    }
    .menu .main-nav ul li:first-child,
    .menu .main-nav ul li:nth-child(2) {
        width: 50%;
        border-top: 0;
    }
    .menu .main-nav ul li:nth-child(3),
    .menu .main-nav ul li:nth-child(4) {
        width: 33.3333%;
        border-top: 1px solid #ddd;
    }
    .menu .main-nav ul li:nth-child(4) {
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd;
    }
    .menu .main-nav ul li:nth-child(2) {
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd;
    }
    .menu .main-nav > ul > li:first-child a {
        border-radius: 0;
    }
    .menu .main-nav ul li a {
        line-height: 50px;
        padding: 0;
        font-size: 13px;
    }
    .menu .main-nav ul li:last-child {
        width: 33.3333%;
        border-top: 1px solid #ddd;
    }

    /** Footer **/
    .footer .messaging {
        height: auto;
        padding: 60px 0 60px;
    }
    .footer .messaging .submit-wrapper,
    .footer .messaging .mc-field-group {
        width: 100%;
        float: none;
    }
    .footer .messaging .submit-wrapper {
        margin-top: 15px;
    }
}
@media screen and (max-width: 480px) {
    /** Hero **/
    .hero h1 {
        font-size: 28px;
        line-height: 28px;
    }
    
    /** Contact Page **/
    .contact-info div[class^="col"] {
        float: none;
        width: 100%;
    }

    /** About Page **/
    #team .col-sm-3 {
        width: 100%;
    }
}
