/* mobile */
@media (max-width: 500px) {
    body {
        font-size: 14px;
    }
}

@media (max-width: 767px) {

    h1 {
        font-weight: 500;
        font-size: 1.5em; /* 22px */
        margin-bottom: 1em;
        margin-top: 0;
        line-height: 1.25em;
    }

    .content > h1 {
        margin-bottom: 0.8em;
    }

    h2 {font-size: 1.375em; margin-bottom: 1.5em; line-height: 1.25em;} /* 19px */
    h3 {font-size: 1.25em; line-height: 1.25em;} /* 17px */
    h4 {font-size: 1.1em; line-height: 1.25em;} /* 15px */

    h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
        hyphens: none;
    }

    h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
        font-weight: 500;
    }

    p.centred {
        text-align: justify !important;
    }

    div.mainPart, div.mainPartInverse {
        padding: 25px 0;
        -webkit-padding-before: 25px;
        -webkit-padding-after: 25px;
    }

    .flexResponsive {
        display: inline;
    }

    #header {
        min-height: 75px;
    }

    #header #meta {
        display: none;
    }

    #menuIndicator, #header .clear, #header > a {
        display: none;
    }

    #menu {
        display: none;
        margin: 0 -30px;
    }

    #menu > li {
        border: 1px solid white;
        background-color: #efefef;
    }

    #menu a {
        display: block;
        padding: 15px;
        font-size: 1.25em;
        font-weight: 400;
    }

    #menu .allEpisodicProducts {
        display: none;
    }

    #menu img, #menu h5 {
        display: none;
    }

    #menu > li ul {
        display: none;
    }

    #menu div.flex {
        display: block;
    }

    #menu ul a {
        font-size: 1.125em;
        padding: 10px 0 10px 50px;
        font-weight: lighter;
    }

    #menu > li.active ul {
        display: block;
    }

    #menu li.active ul li {
        border: 1px solid #efefef;
        background-color: white;
    }

    #menu li.active > ul, #menu li.active > ul li a {
        display: block;
        background-color: #fff;
        font-weight: normal;
        padding: 5px;
    }

    #menu a:hover, #menu a.active, #menu li.hover > a, #menu li.active > a {
        color: white;
    }

    #menu > li:hover > a, #menu li.active > a,
    #menu li li:hover > a {
        color: white;
        background-color: #7fb23f !important;
    }

    .mobileLogo {
        display: block !important;
    }

    div.mainPart:last-child, div.mainPartInverse:last-child {
        padding-bottom: 50px;
    }

    footer .content {
        display: block;
        padding: 25px 0;
    }

    footer nav {
        float: none !important;
        text-align: center;
        margin: 0;
    }

    footer nav a, footer nav a:hover {
        font-size: 0.9em;
    }

    footer .content nav:first-of-type a {
        display: block;
        text-align: center;
        padding: 10px 0;
        margin-left: 0;
    }

    footer .content nav + nav a:first-of-type {
        margin-left: 0;
    }

    footer .content nav:last-of-type {
        margin-top: 30px;
    }

    ul.props {
        display: block;
        font-size: 1.2em;
    }

    ul.props li {
        margin-left: 15px;
        hyphens: none;
        line-height: 1.35em;
    }

    blockquote.fromExpert {
        font-size: 16px;
        line-height: 1.1em;
    }
}

@media (min-width: 769px) and (max-width: 991px) {
    div.mainPart:last-child, div.mainPartInverse:last-child {
        padding-bottom: 100px;
    }
}


/* tablet & desktop */
@media (min-width: 768px) {
    .mobileOnly {
        display: none !important;
    }

    h1 {
        font-weight: 500;
        font-size: 2.25em; /* 36px */
        margin-bottom: 1em;
        margin-top: 0;
        line-height: 1.25em;
    }

    .content > h1 {
        margin-bottom: 0.8em;
    }

    h2 {font-size: 1.625em; margin-bottom: 1.5em; line-height: 1.25em;} /* 26px */
    h3 {font-size: 1.5em; line-height: 1.25em;} /* 24px */
    h4 {font-size: 1.25em; line-height: 1.25em;} /* 20px */
    h5 {font-size: 1.25em; line-height: 1.25em;} /* 20px */
    h6, .h6 {font-size: 1.125em; line-height: 1.25em; color: #595959;} /* 18px */

    h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
        font-weight: 500;
        margin: 0.3em 0 0.3em;
    }

    h1.colorful, h2.colorful, h3.colorful, h4.colorful, h5.colorful, h6.colorful {
        color: rgb(105, 180, 57);
        margin-bottom: 85px;
        font-weight: normal;
    }

    .centred, h1.centred, h2.centred, h3.centred, h4.centred, h5.centred, h6.centred, .centred h1, .centred h2, .centred h3, .centred h4, .centred h5, .centred h6  {
        text-align: center;
    }

    .bottomSpace, h1.bottomSpace, h2.bottomSpace, h3.bottomSpace, h4.bottomSpace, h5.bottomSpace, h6.bottomSpace {
        margin-bottom: 40px;
    }

    .smallBottom, h1.smallBottom, h2.smallBottom, h3.smallBottom, h4.smallBottom, h5.smallBottom, h6.smallBottom {
        margin-bottom: 0.8em;
    }

    body > .socialbar {
        display: none;
    }

    #header {
        margin: auto;
        max-width: 1024px;
    }

    #menu {
        position: relative;
        margin: auto auto auto 200px;
        color: #AEAEAE;
        height: 40px;
    }

    #menu > li {
        height: 38px;
    }

    #menu .allEpisodicProducts {
        max-width: 45px !important;
    }

    #menu .allEpisodicProducts .fa-chevron-down {
        filter: sepia(1) saturate(2) hue-rotate(35deg);
        cursor: pointer;
        margin-top: 3px;
        font-size: 2em;
    }


    #menu li > div {
        background-color: white;
        left: 0;
        top: 150%;
        min-height: 215px;
        opacity: 0;
        position: absolute;
        transition: all 0.25s linear 0s;
        visibility: hidden;
        width: 100%;
        z-index: 5;
        padding-top: 10px;
    }

    #menu li > div > div {
        border-top: 3px solid #dcdcdc;
        padding: 30px 20px;
        align-items: flex-start;
    }

    #menu li > div > div > ul {
        margin-right: 25px;
        hypens: none;
    }

    ul#menu > li:nth-last-of-type(-n+4) > div > div.flex ul {
        margin-right: 0;
        margin-left: 20px;
    }

    #menu > li.taphover:not(:nth-last-of-type(1)):not(:nth-last-of-type(2)):hover::after {
        content: url("../graphX/menuPointer.png");
        /*display: block;*/
        display: none;
        float: right;
        right: 39%;
        top: 20%;
        -webkit-margin-before: 0;
        position: relative;
        z-index: 50;
    }

    #menu > li > ul > li > ul {
        margin-left: 90%;
        margin-top: -41px;
        position: absolute;
        z-index: 100;
    }

    #menu li.taphover:hover > div, #menu li.taphover.hover > div {
        visibility: visible;
        opacity: 1;
    }

    #menu a, .mainMenu {
        color: #595959;
        display: block;
        margin: 0 2px 12px 0;
        padding: 8px 2px;
        position: relative;
        text-align: center;
        z-index: 98;
        font-size: 16px;
    }

    #menu li ul li a {
        margin-bottom: 0;
        margin-right: 0;
        border-bottom: 2px solid #d6e8c3;
        padding: 7px 10px;
    }

    #menu li ul li a {
        text-align: left;
    }

    #menu li ul li:last-child a {
        border-bottom: none;
    }

    #menu button, #menu .button {
        background: #AAA;
        border-radius: 0;
        height: 100%;
        width: 100%;
        color: white;
        border: 1px solid #d4d2d2;
        text-shadow: none;
    }

    #menu button:hover, #menu .button:hover  {
        text-decoration: underline;
    }

    #menu li > div > div > div.menuTopic {
        max-width: 68%;
    }

    #menu div.menuTopic h5 {
        font-weight: inherit;
        font-size: 1.3em;
        margin-top: 0;
        color: #595959;
    }
    #menu li > div > div > div.menuTopic > div > a > div.menuItem {
        background-color: #efefef;
        padding: 15px;
        height: 100%;
        min-height: 250px;
    }



    #menu div.menuItem a {
        color: #7fb23f;
        text-align: left;
    }

    #menu div.menuItem a:hover {
        text-decoration: underline;
    }

    #menu div.menuItem .menuItemImageWrapper {
        background-position: center center;
        background-size: cover;
        height: 150px;
        margin-bottom: 20px;
        overflow: hidden;
        position: relative;
    }

    #menu div.menuItem .menuItemImageWrapper img {
        bottom: -1035%;
        left: -1000%;
        margin: auto;
        max-width: none;
        min-height: 300px;
        position: absolute;
        right: -1000%;
        top: -1000%;
    }

    .menuTopic .flex > a {
        display: block;
        margin-bottom: 0 !important;
        color: #7fb23f !important;
        width: 30%;
        margin-right: 3px !important;
    }

    .menuTopic .flex > a:last-child {
        margin-right: 0;
    }

    .menuTopic .flex a:hover {
        text-decoration: underline !important;
    }

    .menuTopic > .flex .menuItem {
        padding: 0 5%;
    }

    footer .content {
        min-height: 100px;
        margin: auto;
        display: -webkit-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        justify-content: space-between;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
    }
}


@media (max-width: 1023px) {
    #menu .menuTopic {
        display: none;
    }

    ul#menu div.flex {

    }

    #menu ul.lg-margin-top-50 {
        margin-top: 0;
    }
}


@media (max-width: 500px) {
    .modalLayer > div.confirm {
        padding: 50px 30px;
        width: 100%;
    }
    form#login {
        width: 100%;
        padding: 50px 30px;
    }

    .shariff li {
        margin-right: 5px !important;
    }

    .shariff li a span {
        color: transparent;
    }
}

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {

}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {

}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

}