@font-face {
    font-family: 'GothamBlack';
    src: url('gotham-black.eot');
    src: url('gotham-black?#iefix') format('embedded-opentype'), url('gotham-black.woff') format('woff'), url('gotham-black.ttf') format('truetype'), url('gotham-black.svg#webfont') format('svg');
}

@font-face {
    font-family: 'GothamCondensedBold';
    src: url('gotham-bold-condensed.eot');
    src: url('gotham-bold-condensed?#iefix') format('embedded-opentype'), url('gotham-bold-condensed.woff') format('woff'), url('gotham-bold-condensed.ttf') format('truetype'), url('gotham-bold-condensed.svg#webfont') format('svg');
}

@font-face {
    font-family: 'GothamCondensedMedium';
    src: url('gotham-medium-condensed.eot');
    src: url('gotham-medium-condensed?#iefix') format('embedded-opentype'), url('gotham-medium-condensed.woff') format('woff'), url('gotham-medium-condensed.ttf') format('truetype'), url('gotham-medium-condensed.svg#webfont') format('svg');
}

html {
    font: normal 62.5% "Helvetica Neue", Helvetica, Arial, sans-serif;
    /* 10px - i.e. decimal base */
    height: 100%;
    overflow-y: scroll;
    /* always show vertical scrollbar so pages do not shift horizontally */
}

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.page {}

.container {
    padding: 0 60px;
    padding: 0 4%;
    width: 960px;
}

.centered {
    margin: 0 auto;
}


/* ### skip nav ### */

.skipnav {
    background-color: #0C1E63;
}

.skipnav a {
    display: block;
    font-size: 16px;
    line-height: 2em;
    padding: 0 30px;
    position: absolute;
    text-align: center;
    top: -999em;
}

.skipnav a:focus {
    color: #fff;
    position: relative;
    top: 0;
}


/* ### header ### */

header {
    background: #05305D url("../images/header-desktop-bg.jpg") repeat-x left top;
    /* Fallback for everything else */
    background: -webkit-linear-gradient(#1F5088, #0A3464);
    /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(#1F5088, #0A3464);
    /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(#1F5088, #0A3464);
    /* For Firefox 3.6 to 15 */
    background: linear-gradient(#1F5088, #0A3464);
    /* Standard syntax */
}

header a.logo {
    display: inline-block;
    margin-bottom: 20px;
    margin-top: 20px;
}


/* ### topnav desktop ### */

ul#topnav {
    float: right;
    font-family: 'GothamCondensedMedium';
    font-size: 24px;
    list-style: none;
    margin-top: 42px;
    padding: 0;
    overflow: hidden;
    text-transform: uppercase;
}

ul#topnav li {
    display: inline;
    float: left;
    margin-left: 1.25em;
}

ul#topnav li.first {
    margin-left: 0;
}

ul#topnav li.active {
    color: #ccc;
}

ul#topnav li a {
    color: #fff;
}

ul#topnav li a:hover {
    text-decoration: underline;
}


/* ### navbar (small screen) ### */

header nav.navbar {
    margin-bottom: 0;
    padding: 7px 0 0 0;
}

a.navbar-brand {
    padding-top: 7px;
    padding-right: 0;
}

nav.navbar {
    background: #1f5088;
    border: 0;
}

.navbar-collapse {
    border: none;
    box-shadow: none;
}

.navbar-toggle {
    border-radius: 0;
    margin-top: 11px;
    padding: 4px 6px;
}

.navbar-header {
    padding-bottom: 7px;
}

.navbar-default .navbar-toggle {
    border: 1px solid transparent;
}

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
    background-color: transparent;
    border: 1px solid #fff;
}

.navbar-default .navbar-toggle .icon-bar {
    background-color: #fff;
    border-radius: 0;
    height: 4px;
    margin-top: 2px;
    width: 25px;
}

.navbar-toggle .icon-bar + .icon-bar {
    margin-top: 3px;
}

.navbar span.menu {
    color: #fff;
    display: block;
    float: left;
    font-weight: bold;
    margin-left: 30px;
    margin-top: 1px;
}

ul.navbar-nav {
    margin-bottom: 0;
}

ul.navbar-nav li.active {
    font-weight: bold;
    padding: 10px 15px;
}

.navbar-default .navbar-nav li {
    border-bottom: 1px solid #fff;
}

.navbar-default .navbar-nav li.last {
    border-bottom: none;
}

.navbar-default .navbar-nav li,
.navbar-default .navbar-nav li a {
    background: #008AC9!important;
    color: #fff!important;
}


/* ### homepage ### */


/* desktop slider */

#home-slider {
    background: #052347;
    /* background: #0b3e7d url("../images/home-content-bg.jpg") left top repeat-x;*/
    padding: 30px 0;
    overflow: hidden;
}

.roundabout-holder {
    padding: 0;
    margin: 0 auto;
    height: 320px;
    width: 480px;
}

.roundabout-moveable-item {
    height: 320px;
    width: 480px;
    cursor: pointer;
    border: 1px solid black;
    display: block;
}

.roundabout-moveable-item img {
    height: 100%;
    width: 100%;
}

.roundabout-in-focus {
    cursor: auto;
}

#carousel-descriptions {
    list-style: none;
    display: block;
    width: 850px;
    margin: 25px auto;
    padding: 0;
}

#carousel-descriptions li {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    display: none;
}

#carousel-descriptions li.current {
    display: block;
}

#carousel-controls {
    max-width: 900px;
    width: auto;
    margin: 20px auto 0 auto;
    overflow: auto;
    border-collapse: collapse;
    text-align: center;
}

#carousel-controls span {
    background: url(../images/carousel-control-default.png) no-repeat 50% 50%;
    color: #0099CC;
    display: inline-block;
    font-size: 14px;
    text-align: center;
    margin: 0;
    padding: 3px;
    cursor: pointer;
    width: 25px;
}

#carousel-controls .current {
    background: url(../images/carousel-control-active.png) no-repeat 50% 50%;
    color: #fff;
}

.prev {
    background: url(../images/left-arrow.png) no-repeat left top;
    color: #fff;
    display: block;
    height: 52px;
    position: relative;
    right: 175px;
    top: 112px;
    right: 195px;
    top: 127px;
}

.next {
    background: url(../images/right-arrow.png) no-repeat right top;
    color: #fff;
    display: block;
    height: 52px;
    position: relative;
    left: 175px;
    top: 60px;
    left: 193px;
    top: 76px;
}

.next:hover {
    background: url(../images/right-arrow-hover.png) no-repeat right top;
}

.prev:hover {
    background: url(../images/left-arrow-hover.png) no-repeat left top;
}


/* mobile slider */

.owl-wrapper {
    background: #042F5A;
}

#owl-demo .item img {
    display: block;
    width: 100%;
    height: auto;
}

.owl-theme .owl-controls {
    margin-top: -50px;
}

.owl-theme .owl-controls .owl-page span {
    background: #0099cc;
    height: 20px;
    opacity: 1;
    position: relative;
    width: 20px;
}

.owl-theme .owl-controls .owl-page.active span {
    background: #fff;
    height: 25px;
    position: relative;
    top: 2px;
    width: 25px;
}


/* buttons */

p.button {
    margin-bottom: 0;
    text-align: center;
}

.btn-primary {
    background: #fa6800 url(../images/button-arrow-hover.png) no-repeat 94% 50%;
    border-color: #FC8E40;
    border-radius: 0;
    font-style: italic;
    margin-top: 1em;
    padding-right: 2.5em;
    text-align: center;
    text-shadow: 1px 1px 1px #BC4A00;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    background: #FC8E40 url(../images/button-arrow.png) no-repeat 94% 50%;
    border-color: #FC8E40;
}


/* home content */

#home-content {
    background: #0b3e7d url("../images/home-content-bg.jpg") left top repeat-x;
    /* Fallback */
    background: -webkit-linear-gradient(#042F5A, #0B3D7C);
    /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(#042F5A, #0B3D7C);
    /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(#042F5A, #0B3D7C);
    /* For Firefox 3.6 to 15 */
    background: linear-gradient(#042F5A, #0B3D7C);
    /* Standard syntax */
    padding: 30px 0;
}

#home-content h1 {
    color: #fff;
    font-family: 'GothamCondensedBold';
    font-size: 5em;
    margin-top: 0;
    text-align: center;
}

#home-content p {
    color: #fff;
    font-family: Georgia, Times, "Times New Roman", serif;
    font-size: 2em;
    font-style: italic;
    text-align: center;
    margin: 0 auto;
    max-width: 650px;
}


/* ### content ### */

a:hover,
a:focus {
    color: #fff;
}

h1,
h2,
h3,
h4 {
    color: #042346;
    font-family: GothamCondensedMedium;
}

h1 {
    font-size: 3em;
}

h2 {
    font-size: 2.25em;
}

h3 {
    font-size: 1.75em;
}

h4 {
    font-size: 1.5em;
}

#content {
    color: #042346;
    font-family: Georgia, Times, "Times New Roman", serif;
    padding-bottom: 40px;
}

#content p,
#content li {
    font-size: 1.143em;
}

#content p.intro {
    font: 1.5em GothamCondensedBold;
}

#content ul,
#content ol {
    margin-bottom: 1.5em;
    padding-left: 1em;
}

#content ol {
    padding-left: 1.5em;
}

#content figcaption {
    font-style: italic;
}

table {}

table th {
    background: #042346;
    color: #fff;
}

table tr.dark {
    background: #e5e9ec;
}


/* ### portfolio page ### */

#content ul#portfolio {
    font-family: GothamCondensedMedium;
    list-style: none;
    margin: 0;
    padding: 0;
}

ul#portfolio li {
    border-bottom: 1px dotted #999;
    font-size: 1.571em;
    /* 22px */
    float: left;
    line-height: 1em;
    margin: 0 10px 30px 0;
    min-height: 250px;
    padding-bottom: 18px;
    width: 260px;
}

ul#portfolio li:nth-child(3n) {
    margin-right: 0;
}

ul#portfolio li img {
    border: 1px solid #ddd;
    margin-bottom: 6px;
}

ul#portfolio li img:hover {
    border: 1px solid #008ac9;
}

ul#portfolio li a {
    color: #042346;
    text-decoration: underline;
    text-transform: uppercase;
}

ul#portfolio li a:hover,
ul#portfolio li a:active {
    color: #008ac9;
    cursor: zoom-in;
    text-decoration: underline;
}

ul#portfolio li a > span {
	display: block;
	text-align: center;
}

/* lightbox */

.mfp-bg {
    background: #041427;
    opacity: 0.85;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: auto;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    font-size: 44px;
    right: -10px;
}

.mfp-image-holder:hover .mfp-close:hover,
.mfp-iframe-holder:hover .mfp-close:hover {
    cursor: pointer;
}


/* ### footer ### */

footer {
    background: #002331;
    color: #fff;
    font-family: Georgia, Times, "Times New Roman", serif;
}

footer a {
    color: #fff;
}

footer a:active,
footer a:hover {
    color: #fff;
    text-decoration: underline;
}

footer .contact {
    font-family: 'GothamCondensedMedium', 'Montserrat', sans-serif;
    list-style: none;
    margin: 3em 0;
    padding: 0;
    text-transform: uppercase;
    width: 100%;
}

footer .contact li {
    display: inline;
    float: left;
    font-size: 24px;
    height: 50px;
}

footer .contact li a,
footer .contact li span {
    position: relative;
    top: 6px;
}

footer .contact li.tel {
    background: url(../images/footer-phone.png) no-repeat left 6px;
    padding-left: 40px;
    margin-right: 130px;
    width: 145px;
}

footer .contact li.mobile {
    background: url(../images/footer-mobile.png) no-repeat left top;
    padding-left: 41px;
    width: 138px;
}

footer .contact li.email {
    background: url(../images/footer-envelope.png) no-repeat left 9px;
    float: right;
    margin-right: 0;
    padding-left: 55px;
    text-align: right;
    width: 305px;
}

footer p.company-no {
    margin-bottom: 0;
}

footer address {
    margin-top: 0;
}

footer .address {
    float: left;
    width: 200px;
}

footer .address p {
    margin-bottom: 0;
}

footer nav {
    float: left;
}

footer nav ul {
    list-style: none;
    padding: 0;
}

footer nav ul li a {
    text-decoration: underline;
}

footer nav ul li a:hover {
    color: #008AC9;
}

footer p.copyright {
    clear: both;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1.143em;
    font-weight: bold;
    line-height: 1.143em;
}

footer img {
    bottom: 33px;
    float: right;
    position: relative;
}


/* ##### Responsive ##### */

@media only screen and (max-width: 979px) {
    .container {
        width: 100%;
    }
    /* portfolio */
    ul#portfolio li {
        margin-right: 14px;
        width: 220px;
    }
    ul#portfolio li img {
        width: 220px;
    }
    footer .contact li.tel {
        margin-right: 14%;
    }
}


/* ### iPad portrait ### */

@media only screen and (max-width: 768px) and (orientation: portrait) {
    .roundabout-holder {
        height: 280px;
        width: 420px;
    }
    .roundabout-moveable-item {
        height: 280px;
        width: 420px;
    }
    .prev {
        right: 175px;
        top: 112px;
    }
    .next {
        left: 175px;
        top: 60px;
    }
}


/* ### Small Devices, Tablets, High end Smartphones ### */

@media only screen and (max-width: 768px) {
    header {
        min-height: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
    nav.navbar {
        background: #052e5d url(../images/header-mobile-bg.jpg) no-repeat left top;
    }
    .container {
        padding-left: 15px;
        padding-right: 15px;
        width: auto;
    }
    #home-content h1 {
        font-size: 5em;
    }
    #home-content p {
        font-size: 28px;
        line-height: 32px;
    }
    #view-portfolio {
        text-align: right;
    }
    #view-portfolio a {
        margin-top: 0;
    }
    .pull-right {
        float: none!important;
    }
    /* footer */
    footer .contact li {
        clear: both;
        display: block;
        float: none;
        font-size: 21px;
        margin-left: 0;
        width: 100%!important;
    }
    footer .contact li.tel {
        margin-right: 0;
    }
    footer .contact li.email {
        float: none;
        padding-left: 50px;
        text-align: left;
        width: auto;
    }
    footer img {
        float: none;
        margin-top: 2em;
        position: static;
    }
}


/* mobile */

@media only screen and (max-width: 480px) {
    .page {
        min-width: 320px;
    }
    .container {
        padding: 0 12px;
    }
    .navbar-toggle {
        margin-right: 6px;
    }
    .navbar span.menu {
        display: none;
    }
    #home-content h1 {
        font-size: 3em;
    }
    #home-content p {
        font-size: 1.75em;
        line-height: 1.3em;
    }
    footer p.copyright a {
        display: block;
    }
    ul.contact li a {
        text-decoration: underline;
    }
    ul.contact li a:hover,
    ul.contact li a:active {
        color: #008AC9;
    }
    ul#portfolio li {
        display: inline-block;
        margin-right: 10px;
        text-align: center;
        width: 200px;
    }
    ul#portfolio li span {
        display: block;
    }
    ul#portfolio li img {
        width: 200px;
    }
    ul#portfolio li:nth-child(3n) {
        margin-right: 10px!important;
    }
}


/* mobile */

@media only screen and (max-width: 480px) {
    ul#portfolio li {
        width: 260px;
    }
    ul#portfolio li img {
        width: 260px;
    }
}