
@media only screen and (max-width: 1290px) {

    header {
        width: 1030px;
        margin-left: -500px;
    }
    nav.top div, nav.main div {
        width: 900px;
    }
    header a.logo {
        left: 0;
    }
    header div.since {
        right: 35px;
    }

    .camera_caption {
        width: 900px !important;
    }
    .camera_wrap {
        margin-left: -500px !important;
        max-width: 1000px !important;
    }
    .camera_wrap img {
        max-width: 1000px !important;
        margin-left: 0 !important;
    }
    .camera_commands {
        width: 1000px !important;
    }

    div.partners_wrapper {
        max-width: 1000px;
    }
    div.partners {
        width: 800px;
    }

    div.services_wrapper {
        max-width: 1000px;
    }

    footer > div {
        max-width: 1000px;
    }
}

@media only screen and (max-width: 1020px) {
    header div.quick_contact {
        display: none;
    }
}

@media only screen and (max-width: 1000px) {

    body {
        min-width: 800px;
    }
    header {
        width: 830px;
        margin-left: -400px;
    }
    header div.since {
        right: 20px;
    }
    header a.logo {
        background-image: url(../dsg/logo_mobile.png);
        background-size: auto 100%;
        left: 0;
        height: 87px;
        width: 197px;
    }
    nav.main a {
        font-size: 10px;
    }
    nav.top div, nav.main div {
        width: 780px;
    }
    nav.top ul.info {
        margin-left: 180px;
    }
    nav.top ul.info li {
        font-size: 11px;
    }
    nav.top a {
        font-size: 11px;
    }

    .camera_caption {
        width: 780px !important;
    }
    .camera_wrap {
        margin-left: -400px !important;
        max-width: 800px !important;
    }
    .camera_wrap img {
        max-width: 800px !important;
        margin-left: 0 !important;
    }
    .camera_commands {
        width: 800px !important;
    }

    div.partners_wrapper {
        max-width: 800px;
    }
    div.partners {
        width: 740px;
    }

    div.services {
        width: 800px;
    }
    div.services div {
        width: 144px;
    }
    div.services img {
        width: 100%;
    }
    div.services_wrapper {
        max-width: 800px;
    }
    .home div.references_wrapper {
        max-width: 800px;
    }
    div.inner_content {
        width: 800px;
    }
    .home div.reference {
        width: 515px;
    }
    .home div.why {
        width: 270px;
    }
    div.content, .home div.references {
        width: 800px;
    }

    div.content div.right {
        width: 558px;
    }

    footer > div {
        max-width: 800px;
    }
    nav.footer a, nav.footer li.separator {
        padding: 8px 5px;
    }
}

@media only screen and (max-width: 768px) {

    body {
        min-width: 100%;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }

    header,
    nav.top div,
    nav.main div,
    div.content,
    div.inner_content,
    .home div.reference,
    .home div.references,
    .home div.why,
    div.services,
    div.partners,
    div.content div.left,
    div.content div.right,
    div.content div.right.no_infopush {
        box-sizing: border-box;
        width: 100%;
    }

    div.services {
        padding-left: 10px;
        padding-right: 10px;
    }

    div.page {
        margin-top: 0;
    }

    header {
        background: #FFFFFF;
        height: 66px;
        left: 0;
        margin-left: 0;
        position: relative;
        top: 0;
    }
    header a.logo {
        background-image: url(../dsg/logo_mobile.png);
        background-size: auto 100%;
        left: 10px;
        height: 66px;
        width: 150px;
    }
    header div.quick_contact {
        display: none;
    }
    header a.ham {
        box-sizing: border-box;
        display: inline-block;
        height: 30px;
        position: absolute;
        right: 15px;
        top: 10px;
        text-decoration: none;
        width: 30px;
    }
    header a.ham em {
        color: #000000;
        display: inline-block;
        font-style: normal;
        margin-top: 2px;
    }
    header a.ham span {
        background: #000;
        display: block;
        font-size: 0;
        height: 5px;
        margin-top: 5px;
        width: 30px;
    }
    header a.x {
        display: block;
        height: 30px;
        position: absolute;
        right: 15px;
        text-decoration: none;
        top: 15px;
        width: 30px;
    }
    header a.x:after{
        color: #FFFFFF;
        content: "\00d7"; /* This will render the 'X' */
        display: block;
        font-size: 60px;
        height: 30px;
        line-height: 30px;
        width: 30px;
    }
    header > ul.info {
        display: inline-block;
        left: 170px;
        position: absolute;
        text-align: center;
        top: 15px;
    }
    header div.nav {
        background: #000000;
        overflow: hidden;
        max-height: 0;
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        z-index: 20;
        -webkit-transition: all 0.25s;
        transition: all 0.25s;
    }
    header.active div.nav {
        max-height: 400px;
        -webkit-transition: all 0.25s;
        transition: all 0.25s;
    }
    body.home header div.since,
    header div.since {
        background-size: 100% auto;
        font-size: 1.2em;
        top: 115px;
        right: 10px;
        height: 100px;
        line-height: 90px;
        width: 100px;
    }

    nav.top {
        background: none;
        height: 43px;
        padding: 0;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        text-align: center;
    }
    nav.top ul, nav.main ul {
        float: none;
    }
    nav.top ul {
        border-top: 1px solid #DDDDDD;
        display: table;
        margin: 0 auto;
        width: auto;
    }
    nav.top ul li.home {
        display: none;
    }
    nav.top ul li {
        margin: 0;
        padding: 10px;
    }
    nav.top ul.info {
        display: none;
    }
    nav.top a {
        font-size: 12px;
    }
    nav.main {
        background: none;
        box-sizing: border-box;
        height: auto;
        padding: 50px 20px;
        width: 100%;
    }
    nav.main a {
        font-size: 12px;
        text-align: center;
    }
    nav.main ul li {
        float: none;
        margin: 0;
    }

    div.top_wrapper div.content_wrapper,
    div.middle_wrapper div.content_wrapper {
        top: 0;
    }


    #camera_wrap {
        position: relative !important;
        left: 0 !important;
        margin-left: 0 !important;
        width: 100% !important;
    }
    .camera_wrap img {
        max-width: 100% !important;
    }
    .camera_caption {
        box-sizing: border-box;
        background: #EEEDEE;
        bottom: 40px !important;
        color: #000000 !important;
        height: auto !important;
        padding: 10px 20px !important;
        width: 100% !important;
    }
    .camera_caption h1 {
        color: #000000 !important;
        font-size: 2.2em !important;
        line-height: 26px !important;
        margin-bottom: 10px;
    }
    .camera_caption p {
        color: #000000 !important;
    }
    .camera_commands {
        background: none !important;
        width: 100% !important;
    }
    .camera_target_content,
    .cameraContent {
        height: 329px;
        position: relative !important;
    }
    .camera_prev {
        bottom: 0 !important;
        left: 50% !important;
        margin-left: -40px;
    }
    .camera_next {
        bottom: 0 !important;
        left: 50% !important;
        margin-left: 0;
    }

    div.slider_wrapper {
        height: auto;
    }

    div.services_wrapper {
        height: auto;
    }
    div.services div {
        box-sizing: border-box;
        display: inline-block;
        float: none;
        margin-right: 0;
        padding: 0 10px;
        width: 50%;
    }
    div.services span {
        display: block;
    }
    div.services a:hover span {
        background: none;
        color: #000000;
    }

    .home div.reference {
        background: #181411;
        padding: 0 20px 20px 20px;
        text-align: center;
    }
    .home div.reference h2 {
        padding-top: 20px;
    }
    .home div.reference h3 {
        margin-top: 20px;
        display: block;
    }
    .home div.reference a.image {
        float: none;
        margin-left: 0;
    }

    .home div.why {
        padding-bottom: 30px;
        text-align: center;
    }
    .home div.why ul {
        display: inline-block;
        min-width: 289px;
    }
    .home div.why li {
        background-position: center 0;
        padding-left: 60px;
        text-align: left;
    }

    div.partners h2 {
        text-align: center;
    }
    .bx-wrapper .bx-prev {
        left: -46px !important;
    }
    .bx-wrapper .bx-next {
        right: -46px !important;
    }

    body.home div.top_wrapper div.content_wrapper,
    body.home div.middle_wrapper div.content_wrapper,
    .home div.references_wrapper,
    div.partners_wrapper,
    .home div.why,
    footer .top {
        height: auto;
    }

    div.content div.left,
    div.content div.right {
        float: none;
        padding: 20px;
    }
    div.content div.left {
        display: none;
    }
    div.left div.reference img {
        width: 100%;
        height: auto;
    }
    div.content iframe {
        max-width: 100%;
    }
    div.content table {
        word-wrap: break-word;
        table-layout: fixed;
        width: 100% !important;
    }

    .gallery .bx-wrapper {
        position: initial;
    }
    .gallery .bx-wrapper .bx-prev {
        left: auto !important;
        right: 40px !important;
        top: 20px !important;
    }
    .gallery .bx-wrapper .bx-next {
        left: auto !important;
        right: 10px !important;
        top: 20px !important;
    }
    div.content .gallery {
        margin-left: -10px;
        margin-right: -10px;
    }
    div.content .gallery h2 {
        padding: 0 0 10px 10px;
    }
    div.content .gallery ul.gallery_slider {
        margin-left: 0;
    }
    div.content .gallery ul.gallery_slider li a.image {
        display: inline-block;
        padding: 0 10px;
    }

    body.partner div.partners h2 {
        text-align: left;
    }
    body.reference div.references div.item a.image {
        box-sizing: border-box;
        display: inline-block;
        float: none;
        margin-left: 0;
        width: 100%;
    }
    body.reference div.references div.item a.image img {
        width: 100%;
    }
    body.service div.service img.image {
        /*float: none;
        margin: 0 0 20px;
        width: 100%;*/
        display: none;
    }
    div.content div.right p > img,
    a[rel="lightbox"] > img {
        height: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    footer .top {
        background: #000000;
        padding-top: 0;
    }
    footer .copyright {
        float: none;
        text-align: center;
    }
    footer .info img {
        max-width: 100%;
    }

    nav.footer {
        float: none;
        padding: 20px 0;
        text-align: center;
    }
    nav.footer a {
        padding: 4px 10px;
    }
    nav.footer ul li {
        display: block;
        float: none;
    }
    nav.footer li.separator {
        display: none;
    }

}

@media only screen and (max-width: 480px) {

}