.header {
    position: relative;
    text-align: center;
    background: linear-gradient(90deg, rgba(3, 67, 133, 1) 16%, rgba(162, 201, 5, 1) 100%);
    color: #fff
}

.inner-header {
    height: 65vh;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 5rem
}

.waves {
    position: relative;
    width: 100%;
    height: 15vh;
    margin-bottom: -7px;
    min-height: 100px;
    max-height: 150px
}

.content {
    position: relative;
    height: 20vh;
    text-align: center;
    background-color: #fff
}

.parallax>use {
    animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite
}

.parallax>use:nth-child(1) {
    animation-delay: -2s;
    animation-duration: 7s
}

.parallax>use:nth-child(2) {
    animation-delay: -3s;
    animation-duration: 10s
}

.parallax>use:nth-child(3) {
    animation-delay: -4s;
    animation-duration: 13s
}

.parallax>use:nth-child(4) {
    animation-delay: -5s;
    animation-duration: 20s
}

@keyframes move-forever {
    0% {
        transform: translate3d(-90px, 0, 0)
    }

    100% {
        transform: translate3d(85px, 0, 0)
    }
}

@media (max-width:768px) {
    .waves {
        height: 40px;
        min-height: 40px
    }

    .content {
        height: 30vh
    }

    h1 {
        font-size: 24px
    }
}

.filter-button:hover,
content .filter-button.active {
    background: #034385;
    border-color: #02284f;
    color: #fff
}

.portfolioList {
    margin-bottom: 6%;
    position: absolute;
    margin: auto;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid #02284f;
    border-radius: 8px;
    height: 2.8em;
    width: 10em;
    overflow: hidden;
    color: #02284f;
    transition: color .3s .1s ease-out;
    text-align: center;
    line-height: 250%;
    top: 0;
}

.fadein.lazyloaded {
    opacity: 1
}

.blur-up {
    will-change: filter, opacity, transform;
    filter: blur(3px);
    transition: transform 1s, opacity 1s, blur .3s;
    opacity: 0;
    transform: scale(.95);
    transform-origin: center
}

.blur-up:not(.lazyload) {
    opacity: 1;
    transform: scale(1)
}

.blur-up.lazyloaded {
    filter: blur(0)
}

.spinner {
    background: rgba(0, 0, 0, .03) url(../images/ui/spinner.svg) no-repeat center
}

::-moz-selection {
    color: #fff;
    background: #000;
    text-shadow: none
}

::selection {
    color: #fff;
    background: #000;
    text-shadow: none
}

.custom-background:after {
    content: "";
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    background: inherit;
    z-index: -3;
    background-attachment: scroll;
    min-height: 100vh;
    height: calc(100vw * 16 / 9)
}

@media (orientation:landscape) {
    .custom-background:after {
        height: calc(100vw * 3 / 4)
    }
}

[id=footer] .container>:first-child:not(img):not(form):not(figure):not(div),
[id=sidebar]>*>:first-child:not(img):not(form):not(figure):not(div),
[id=wrapper] .page-header>:first-child:not(img):not(form):not(figure):not(div) {
    margin-top: -.25em
}

[id=footer] .container>:last-child:not(img):not(form):not(figure):not(div),
[id=sidebar]>*>:last-child:not(img):not(form):not(figure):not(div),
[id=wrapper] .page-header>:last-child:not(img):not(form):not(figure):not(div) {
    margin-bottom: -.25em
}

[id=sidebar] a {
    position: relative;
    display: inline-block
}

[id=sidebar] a:after,
[id=sidebar] a:before {
    content: "";
    position: absolute;
    top: -.5em;
    right: -.75em;
    bottom: -.5em;
    left: -.75em;
    display: block
}

[id=sidebar] a:before {
    transform-origin: right 0;
    transform: scaleX(0);
    transition: transform .3s, transform-origin .3s;
    background: #000;
    z-index: -1
}

[id=sidebar] a:hover {
    color: #fff;
    transition: color .15s .15s
}

[id=sidebar] a:hover:before {
    transform-origin: left 0;
    transform: scaleX(1);
    transition: transform-origin 0s, transform .3s
}

[id=sidebar] a:hover:after {
    z-index: 1
}

[id=sidebar]>* {
    position: relative
}

[id=sidebar]>:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: calc((.75rem + 1.25vw)*-1);
    z-index: -2;
    transition: background .2s ease;
    background-color: rgba(255, 255, 255, 0)
}

[id=sidebar]>:focus:before,
[id=sidebar]>:hover:before {
    background-color: #fff
}

.single [id=main] {
    position: relative;
    max-width: 60em;
    margin-left: auto;
    margin-right: auto
}

.single [id=main]:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    margin: calc((.75rem + 1.25vw)*-1);
    background: #fff
}

fieldset legend,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 1rem 0
}

fieldset legend:not([class]),
h1:not([class]),
h2:not([class]),
h3:not([class]),
h4:not([class]),
h5:not([class]),
h6:not([class]) {
    max-width: 60rem
}

@media screen and (min-width:37.5rem) {
    h1 {
        font-size: calc(1.29616rem + 1.86118 * ((100vw - 37.5rem)/ 42.5))
    }
}

@media screen and (min-width:80rem) {
    h1 {
        font-size: 3.15733rem
    }
}

fieldset legend,
h2 {
    font-weight: 600;
    line-height: 1.375
}

fieldset legend,
h2 {
    font-size: 1.21477rem
}

@media screen and (min-width:37.5rem) {

    fieldset legend,
    h2 {
        font-size: calc(1.21477rem + 1.15383 * ((100vw - 37.5rem)/ 42.5))
    }
}

@media screen and (min-width:80rem) {

    fieldset legend,
    h2 {
        font-size: 2.36859rem
    }
}

h3 {
    font-weight: 500
}

h3 {
    font-size: 1.13849rem
}

@media screen and (min-width:37.5rem) {
    h3 {
        font-size: calc(1.13849rem + .6384 * ((100vw - 37.5rem)/ 42.5))
    }
}

@media screen and (min-width:80rem) {
    h3 {
        font-size: 1.77689rem
    }
}

h4 {
    font-weight: 500
}

h4 {
    font-size: 1.067rem
}

@media screen and (min-width:37.5rem) {
    h4 {
        font-size: calc(1.067rem + .266 * ((100vw - 37.5rem)/ 42.5))
    }
}

@media screen and (min-width:80rem) {
    h4 {
        font-size: 1.333rem
    }
}

h5 {
    font-weight: 500
}

h5 {
    font-size: 1rem
}

@media screen and (min-width:37.5rem) {
    h5 {
        font-size: calc(1rem + 0 * ((100vw - 37.5rem)/ 42.5))
    }
}

@media screen and (min-width:80rem) {
    h5 {
        font-size: 1rem
    }
}

h6 {
    font-weight: 500
}

h6 {
    font-size: .93721rem
}

@media screen and (min-width:37.5rem) {
    h6 {
        font-size: calc(.93721rem + -.18702 * ((100vw - 37.5rem)/ 42.5))
    }
}

@media screen and (min-width:80rem) {
    h6 {
        font-size: .75019rem
    }
}

a {
    color: inherit;
    text-decoration: none
}

a:focus {
    outline: 0
}

small {
    font-size: .75rem
}

@media (max-width:640px) {
    pre {
        overflow: hidden
    }
}

blockquote,
dl,
ol,
p,
ul {
    margin: 1.25em 0
}

blockquote:not([class]),
dl:not([class]),
ol:not([class]),
p:not([class]),
ul:not([class]) {
    max-width: 60rem
}

ul {
    list-style-type: square
}

hr {
    border: none;
    border-bottom: 2px dashed #000;
    margin: calc(.75rem + 1.25vw) 0
}

fieldset {
    border: 1rem solid rgba(0, 0, 0, .02);
    margin-left: -1rem;
    margin-right: -1rem;
    padding: calc(.75rem + 1.25vw)
}

fieldset legend {
    border: 1rem solid rgba(0, 0, 0, .02);
    margin-bottom: 0;
    background-color: #fff;
    padding: .25em .5em
}

fieldset>* {
    margin-left: auto;
    margin-right: auto
}

figure {
    margin: 0
}

figure[style] {
    max-width: 100%
}

img,
svg {
    max-width: 100%;
    height: auto;
    border: 0
}

table {
    background: rgba(0, 0, 0, .02);
    width: 100%
}

table td,
table th {
    padding: .75em 1em
}

table td:not(:last-child),
table th:not(:last-child) {
    border-right: .5rem solid #fff
}

table tr:not(:last-child) td,
table tr:not(:last-child) th {
    border-bottom: .5rem solid #fff
}

table th {
    background: rgba(0, 0, 0, .02)
}

table td {
    font-size: .875em
}

table caption,
table th {
    text-align: center;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: .1em
}

table caption {
    padding: 1.25em .5em 0
}

ol,
ul {
    padding: 0;
    list-style-position: inside
}

ol li+li,
ul li+li {
    margin-top: .5em
}

[id=main] .entry {
    font-family: "PT Serif", serif
}

[id=main] .entry a {
    text-decoration: underline
}

.container,
.page-template-gallery [id=sidebar],
.single-format-gallery [id=sidebar],
body:not(.has-gallery):not(.single-format-gallery):not(.page-template-gallery) [id=wrapper] {
    max-width: 100rem;
    padding-left: calc(.75rem + 1.25vw);
    padding-right: calc(.75rem + 1.25vw);
    margin-left: auto;
    margin-right: auto
}

body {
    display: flex;
    min-height: 100vh;
    flex-direction: column
}

[id=wrapper] {
    flex: 1;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding-top: calc(.75rem + 1.25vw);
    padding-bottom: calc((.75rem + 1.25vw)*2)
}

@media (min-width:1020px) {

    [id=wrapper] body:not(.page-template-gallery),
    body:not(.has-gallery) [id=wrapper],
    body:not(.single-format-gallery) [id=wrapper] {
        display: flex;
        flex-flow: row wrap;
        justify-content: center
    }
}

[id=wrapper]>*+* {
    margin-top: calc((.75rem + 1.25vw)*2)
}

.has-gallery [id=wrapper],
.has-gallery [id=wrapper] main,
.page-template-gallery [id=wrapper],
.page-template-gallery [id=wrapper] main,
.single-format-gallery [id=wrapper],
.single-format-gallery [id=wrapper] main {
    padding-top: 0;
    max-width: none
}

[id=wrapper] .gallery-grid:first-child {
    padding-top: calc((.75rem + 1.25vw)*2)
}

[id=wrapper] .gallery-grid:last-child {
    padding-bottom: calc((.75rem + 1.25vw)*2)
}

[id=wrapper] .page-header {
    text-align: center;
    margin-bottom: calc((.75rem + 1.25vw)*2);
    text-transform: uppercase
}

@media (min-width:1020px) {
    [id=main] {
        width: calc(100% - 280px + ((.75rem + 1.25vw)*-1*2));
        margin-right: calc((.75rem + 1.25vw)*2)
    }

    .page-template-gallery [id=main],
    .single-format-gallery [id=main],
    [id=main]:only-child {
        width: 100%;
        margin-right: 0
    }
}

.single [id=main]:not(:only-child)+* {
    margin-left: calc((.75rem + 1.25vw)*2)
}

[id=main]>*+* {
    margin-top: calc((.75rem + 1.25vw)*3)
}

[id=sidebar] {
    font-size: .75em;
    transition: color .15s .15s
}

@media (min-width:1020px) {
    body:not(.single-format-gallery):not(.page-template-gallery) [id=sidebar] {
        width: calc(280px);
        margin-top: 0
    }
}

[id=sidebar]>*+* {
    margin-top: calc((.75rem + 1.25vw)*2)
}

@media (min-width:640px) and (max-width:769px) {
    [id=sidebar] {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between
    }

    [id=sidebar]>[class*=search] {
        width: 100%
    }

    [id=sidebar]>:not([class*=search]) {
        width: calc((100% - 1.5rem - 3vw)/ 2)
    }
}

[id=sidebar] fieldset legend,
[id=sidebar] h1,
[id=sidebar] h2,
fieldset [id=sidebar] legend {
    font-size: 1.25em;
    text-transform: uppercase;
    white-space: nowrap;
    border-bottom: 2px solid;
    padding-bottom: .5rem
}

[id=sidebar] li {
    display: block;
    padding-left: calc(.75rem + 1.25vw);
    position: relative
}

[id=sidebar] li:before {
    content: "";
    position: absolute;
    top: calc(.75em - 1px);
    left: 0;
    border-top: 2px solid;
    width: 4px
}

@media (min-width:770px) {

    .page-template-gallery [id=sidebar],
    .single-format-gallery [id=sidebar] {
        width: 100%;
        display: flex;
        flex-flow: row wrap
    }

    .page-template-gallery [id=sidebar]>[class*=search],
    .single-format-gallery [id=sidebar]>[class*=search] {
        width: 100%
    }

    .page-template-gallery [id=sidebar]>:not([class*=search]),
    .single-format-gallery [id=sidebar]>:not([class*=search]) {
        width: calc((100% - (.75rem + 1.25vw)*8)/ 4)
    }

    .page-template-gallery [id=sidebar]>*,
    .single-format-gallery [id=sidebar]>* {
        margin: calc(.75rem + 1.25vw)
    }
}

.background--dark [id=sidebar],
[id=sidebar].background--complex,
[id=sidebar].background--dark {
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .5)
}

.background--dark [id=sidebar]>:hover,
[id=sidebar].background--complex>:hover,
[id=sidebar].background--dark>:hover {
    color: #000;
    text-shadow: none
}

[id=footer] {
    text-align: center;
    position: relative
}

[id=footer] .container {
    padding: calc((.75rem + 1.25vw)*2) 0;
    min-height: 100%;
    box-sizing: border-box
}

[id=footer] .container:after {
    left: auto;
    right: calc(.75rem + 1.25vw)
}

[id=footer] .container>* {
    display: block
}

[id=footer] .container>*+* {
    margin-top: calc(.75rem + 1.25vw)
}

[id=footer] .footer-title {
    font-weight: 600;
    font-size: 1.5em
}

[id=footer] .footer-entry {
    text-transform: uppercase;
    font-size: .75em
}

[id=footer] .container {
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center
}

[id=footer] .container:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: url(images/ui/target.svg) no-repeat left top, url(images/ui/target.svg) no-repeat right top, url(images/ui/target.svg) no-repeat left bottom, url(images/ui/target.svg) no-repeat right bottom;
    margin: 0 -16px -16px;
    z-index: -1
}

.custom-background [id=footer] {
    height: 100vh;
    overflow: visible
}

.custom-background [id=footer] .container {
    display: flex;
    flex-direction: column
}

.custom-background [id=footer] .container:before {
    margin: calc(.75rem + 1.25vw);
    background-image: url(http://dev.mobilemarkup.com/calibration/wp-content/themes/calibration/assets/images/ui/target-background.svg);
    background-size: contain;
    background-position: center
}

.custom-background [id=footer] .container>:first-child {
    margin-top: auto !important
}

.background--dark [id=footer],
[id=footer].background--dark {
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .5)
}

html:not(.touchevents) .gallery-caption {
    position: absolute;
    bottom: 4rem;
    left: 50%;
    transform: translate(-50%, 0);
    font-size: 12px;
    color: rgba(255, 255, 255, 0);
    padding: 1.25em 1.5em;
    transition: all .2s ease;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    box-sizing: border-box;
    pointer-events: none
}

@media (min-width:640px) {
    html:not(.touchevents) .gallery-caption {
        font-size: 14px
    }
}

html:not(.touchevents) .gallery-caption:after,
html:not(.touchevents) .gallery-caption:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #000;
    width: 100%;
    height: 100%;
    transition: all .3s ease 0s;
    z-index: -1
}

html:not(.touchevents) .gallery-caption:before {
    top: auto;
    height: 3px;
    transform: scale(0, 1);
    transform-origin: bottom left;
    transition-delay: .6s
}

html:not(.touchevents) .gallery-caption:after {
    transform: scale(1, 0);
    transform-origin: bottom;
    transition-delay: .3s
}

.gallery-item:hover .gallery-caption,
html:not(.touchevents) .visible.gallery-caption {
    color: #fff;
    text-shadow: 0 0 1px rgba(0, 0, 0, .2);
    transition: all .3s ease .3s
}

.gallery-item:hover .gallery-caption:before,
html:not(.touchevents) .visible.gallery-caption:before {
    transform: scale(1, 1);
    transition-delay: 0s
}

.gallery-item:hover .gallery-caption:after,
html:not(.touchevents) .visible.gallery-caption:after {
    transform: scale(1, 1)
}

html:not(.touchevents) .gallery-caption:empty {
    display: none
}

.gallery-item a {
    position: relative
}

.gallery-item a:after,
.gallery-item a:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 0 solid rgba(0, 0, 0, .1);
    transition: all .2s;
    will-change: border;
    z-index: 10
}

.gallery-item a.active:before,
.lazy-images .gallery-item a.image-lazyloaded:before,
html:not(.lazy-images) .gallery-item a:before {
    border-width: .5rem
}

.gallery-item a.active:after,
.lazy-images .gallery-item a.image-lazyloaded:after,
html:not(.lazy-images) .gallery-item a:after {
    border-width: 2px
}

.gallery-item a:after {
    margin: 1rem;
    border: 2px solid rgba(255, 255, 255, .5);
    -webkit-clip-path: polygon(0 calc(100% - 1rem), 0 100%, 1rem 100%, 1rem 0, 0 0, 0 1rem, 100% 1rem, 100% 0, calc(100% - 1rem) 0, calc(100% - 1rem) 100%, 100% 100%, 100% calc(100% - 1rem));
    clip-path: polygon(0 calc(100% - 1rem), 0 100%, 1rem 100%, 1rem 0, 0 0, 0 1rem, 100% 1rem, 100% 0, calc(100% - 1rem) 0, calc(100% - 1rem) 100%, 100% 100%, 100% calc(100% - 1rem))
}

.gallery-item a:hover:after {
    transform: scale(.9);
    border-color: #fff
}

.gallery {
    font-family: Montserrat, HelveticaNeueLTStd, "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    width: 100%;
    display: grid;
    grid-template-rows: flow;
    grid-auto-flow: dense
}

@media (max-width:639px) {
    .gallery {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width:640px) and (max-width:1019px) {
    .gallery {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (min-width:1260px)and (max-width:1020px) {
    .gallery {
        grid-template-columns: repeat(4, 1fr)
    }
}

@media (min-width:1260px) and (max-width:1599px) {
    .gallery {
        grid-template-columns: repeat(5, 1fr)
    }
}

@media (min-width:1600px) {
    .gallery {
        grid-template-columns: repeat(6, 1fr)
    }
}

.gallery-item {
    position: relative;
    background-color: rgba(0, 0, 0, .5);
    overflow: hidden
}

.gallery-item a,
.gallery-item img {
    display: block
}

.vertical.gallery-item {
    grid-row: span 2
}

.horizontal.gallery-item {
    grid-column: span 2
}

.gallery-item a {
    display: block
}

.gallery-size-thumbnail .gallery-caption,
[class*=list] .gallery-caption {
    display: none
}

.portfolio h3 {
    color: #fff;
    font-size: 5rem;
    display: flex;
    position: relative;
    top: 50%;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    top: 51%
}


/*===============================================================================================*/
