.desktopOnly {
    display: block; 
}
.mobileOnly {
    display: none; 
}

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

    /* Common */
    .desktopOnly {
        display: none;
    }

    .mobileOnly {
        display: block;
    }

    body {
        padding-top: 71px;
    }
    h1, div#content.wide h1 {
        height: 30px;
        background-size: auto 15px;
        background-position: 10px 8px;
    }
    div#container, div.container {
        width: 100%;
        overflow: hidden;
    }
    /* End: Common */

    /* Top */
    #mobileMenuSwitch {
        position: fixed;
        display: block;
        width: 50px;
        height: 50px;
        background: url(../images/mobileMenuSwitch.png) no-repeat center center;
        background-size: auto 20px;
        right: -3px;
        top: 20px;
    }
    #menuWrapper {
        position: fixed;
        width: 70%;
        top: 71px;
        right: -70%;
        background: #404040;
        border-bottom: 1px solid #515151;
        border-left: 1px solid #515151;
        box-sizing: border-box;
        transition: right 0.3s;
    }
    #menuWrapper.expanded {
        right: 0;
    }
    #menuWrapper a {
        text-decoration: none;
        font-size: 14px;
    }
    #menuWrapper ul {
        padding: 5px 22px;
        list-style-type: none;
    }
    #menuWrapper ul li {
        line-height: 24px;
        overflow: hidden;
    }
    #menuWrapper ul li.level2 {
        padding-left: 15px;
    }
    #menuWrapper ul li:last-of-type a {
        border: 0;
    }
    #menuWrapper ul li a {
        display: block;
        width: 100%;
        height: 100%;
        border-bottom: 1px solid #727272;
        background: url(../images/leftMenuArrow.gif) no-repeat center left;
        padding-left: 15px;
    }
    div#top, div#top.index {
        height: 70px;
        border-bottom: 1px solid #515151;
    }
    div#top {
        background: url(../images/bg.jpg);
        position: fixed;
        top: 0;
        z-index: 999;
        width: 100%;
    }
    div#top a#logo, div#top.index a#logo {
        margin-top: 10px;
        margin-left: 10px;
    }

    div#top a#logo img {
        width: 140px;
    }

    div#smallVisualWrapper, div#languagesBox a.siteMap, ul#menu, ul#breadcrumb {
        display: none;
    }

    ul#languages {
        margin-right: 10px;
    }
    /* End: Top */

    /* Index visual */
    div#visualWrapper {
        width: 100%;
        height: auto;
        background: none;
    }
    div#visualWrapper img {
        width: 100%;
    }
    div#visual ul#visualContent {
        display: none;
    }
    div#visual ul#visualMenu {
        height: auto;
    }
    div#visual ul#visualMenu li {
        float: none;
        margin-bottom: 15px;
    }
    div#visual ul#visualMenu li.item1 a {
        background-position: 0 0;
    }
    div#visual ul#visualMenu li.item2 a {
        background-position: -241px 0;
    }
    div#visual ul#visualMenu li.item3 a {
        background-position: -482px 0;
    }
    div#visual ul#visualMenu li.item4 a {
        background-position: -723px 0;
    }
    div#visual ul#visualMenu li a {
        margin: 0 auto;
    }
    /* End: Index visual */

    /* Footer */
    div#footer {
        padding: 10px;
        height: auto;
    }
    div#footer * {
        line-height: 20px;
    }
    div#footer div.block {
        width: 49%;
        line-height: 20px;
    }
    div#footer div.block:nth-of-type(1) {
        display: none;
    }
    div#footer div.block:nth-of-type(4) {
        clear: both;
    }
    div#footer div.block:nth-of-type(2n+1) {
        width: 45%;
    }
    div#footer div.block:nth-of-type(2n+2) {
        width: 55%;
    }
    div#footer div#author {
        clear: both;
        margin-bottom: 10px;
    }
    /* End: Footer */

    /* Content */
    div#content div.content {
        margin: 10px 0;
        width: 100%;
    }
    div#content div.content div.img {
        float: none;
    }
    div#content div.content div.img img {
        border: 0 !important;
    }
    div#content div.content div.text {
        float: none !important;
        margin: 0 !important;
        width: 100% !important;
        box-sizing: border-box;
        padding: 10px;
    }
    div#content div.content div.text p {
        text-align: left;
    }
    div#content div.left {
        display: none;
    }
    div#content div.right {
        width: 100%;
        float: none;
    }
    div#content hr {
        margin: 0;
    }
    /* End: Content */

    /* Contact */
    div#content div.content.departments {
        margin: inherit;
        float: none;
        width: 100%;
    }
    div#content div.content.contact div.text {
        margin-bottom: 0 !important;
    }
    div#content div#map {
        width: 100%;
        height: 245px;
        margin: 0;
    }
    div#content div.content form {
        padding: 0 10px;
    }
    div#content div.content form p {
        float: none;
        margin-right: 0;
    }
    div#content form input, div#content form textarea {
        width: 100%;
        box-sizing: border-box;
    }
    div#content form input {
        height: 26px;
    }
    div#content form p.legend {
        width: 100%;
        text-align: left;
        margin-bottom: 8px;
    }
    /* End: Contact */

    /* Portfolio */
    div#portfolioCategories a {
        float: none;
        margin: 0 auto 15px auto;
        width: 216px;
    }
    div#portfolioItems a, div#references a {
        width: 49%;
        margin-right: 1%;
        height: auto;
        border: 0;
    }
    div#portfolioItems a img, div#references a img {
        border: 3px solid #fafafa;
        width: 100%;
        box-sizing: border-box;
    }
    /* End: Portfolio */
}