@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url('../fnt/oswald-lighter-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url('../fnt/oswald-lighter-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fnt/oswald-normal-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fnt/oswald-normal-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
body {
    margin: 0;
    font-size: 100%;
    font-family: 'Oswald', sans-serif;
    color: white;
    background-color: black;
    box-sizing: border-box;
    visibility: hidden;
}

body.mustscroll {
    overflow-y: scroll;
}

div#subcontent {
    opacity: 0;
}

div#subcontent.fadein {
    opacity: 1;
    transition: opacity 1.5s;
}
    
#mainscloud {
    position: fixed;
    top: 4.8em;
    right: 1em;
    z-index: 20;
}

    #mainscloud img {
        height: 5em;
        text-align: right;
    }

    #mainscloud div.some {
        width: 2.2em;
        margin-left: auto;
        margin-right: 0;
    }

        #mainscloud div.some img {
            height: 2.2em;
            text-align: right;
            margin-top: 0.5em;
        }

            #mainscloud div.some img.smaller {
                height: 1.8em;
            }

div.container {
    min-width: 360px;
    max-width: 1920px;
    margin: auto;
}

#intro {
    top: 0;
    margin: auto;
    width: 100%;
}

    #intro div#slogan {
        padding: 0.3em;
        width: 100%;
        font-size: 1.6em;
        font-weight: lighter;
        line-height: 1.2em;
        color: #3abdff;
        box-sizing: border-box;
    }

        #intro div#slogan img {
            width: 1.3em;
            vertical-align: top;
            margin-right: 0.5em;
        }
        #intro div#slogan a {
            text-decoration: none;
            color: white;
        }

div#blocks {
    opacity: 0;
}

div.block {
    position: relative;
    padding: 1em;
    width: 100%;
    min-height: 700px;
    max-width: 1900px;
    box-sizing: border-box;
}

div#block1 {
    background-image: url('../img/sun_tree.jpg');
}

div#block2 {
    background-image: url('../img/grid_fog.jpg');
}

div#block3 {
    background-image: url('../img/solar_panels.jpg');
}

div#block4 {
    background-image: url('../img/sunset_windmills.jpg');
}

div#block5 {
    background-image: url('../img/car_charging.jpg');
    background-position: center;
}

div#block6 {
    background-image: url('../img/grid_pylons.jpg');
}

div#block7 {
    background-image: url('../img/fuses.jpg');
    background-position: right;
}

div#block7b {
    background-image: url('../img/on_sofa.jpg');
    background-position: center;
}

div#block7c {
    background-image: url('../img/emissions.jpg');
    background-position: center;
}

div#block7d {
    background-image: url('../img/datahub.jpg');
    background-position: center;
}

div#block7e {
    background-image: url('../img/charging_sessions.jpg');
    background-position: center;
}

div.block div {
    position: relative;
    z-index: 1;
    opacity: 0;
    display: inline-block;
    margin: 1em 0.5em 0 0.5em;
    padding: 1em;
    max-width: 500px;
    background-color: rgba(0,0,0,0.5);
    border-radius: 0.5em;
}

div#blocks div.fadein {
    opacity: 1;
    transition: opacity 1s;
}

div#blocks div.nofade {
    opacity: 1;
}

div#block3 div, div#block6 div {
    display: block;
    margin: 0 auto 0 10%;
}

div#block2 div, div#block4 div, div#block5 div {
    display: block;
    margin: 0 10% 0 auto;
}

div#block5 div, div#block6 div, div#block7 div {
    max-width: 800px;
}

div#block7b div {
    display: block;
    margin: 1em 0.5em 0 auto;
}

div#block7c div {
    display: block;
    margin: 1em auto 0 0.5em;
    max-width: 800px;
}

div#block7d div {
    display: block;
    margin: 1em 0.5em 0 auto;
    max-width: 800px;
}

div#block7e div {
    display: block;
    margin: 1em auto 0 0.5em;
    max-width: 800px;
}

div#block2 img {
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto auto 0 10%;
    width: 300px;
    max-width: 50%;
}

div#block4b {
    position: relative;
    padding: 1em;
    margin-bottom: 2em;
    width: 100%;
    max-width: 1900px;
    box-sizing: border-box;
}

    div#block4b img {
        position: absolute;
        z-index: 1;
    }

        div#block4b img#screenimage_2 {
            width: 550px;
            max-width: 35%;
            bottom: 0;
            right: 20%;
        }

        div#block4b img#screenimage_3 {
            width: 300px;
            max-width: 20%;
            bottom: 20px;
            left: 30%;
        }

div#block7b img#screenimage_4 {
    position: absolute;
    display: block;
    width: 490px;
    max-width: 70%;
    bottom: 0;
    left: 0;
}

div#block7c img#screenimage_5 {
    position: absolute;
    display: block;
    width: 490px;
    max-width: 70%;
    bottom: 10%;
    right: 10%;
}

div#block7d img#screenimage_6 {
    position: absolute;
    display: block;
    width: 700px;
    max-width: 70%;
    bottom: 0;
    left: 10%;
}

div#block7e img#screenimage_7 {
    position: absolute;
    display: block;
    max-width: 40%;
    max-height: 600px;
    bottom: 15px;
    right: 30%;
}

div.text {
    font-size: 1.3em;
}

    div.text h2 {
        margin: 0 0 0.5em 0;
        font-size: 1.5em;
        line-height: 1.1em;
    }

div.startnow {
    text-align: center;
    font-size: 2em;
    padding: 0 0.7em 0 0.7em;
}

    div.startnow button {
        display: block;
        margin: 0.5em auto 0.5em auto;
        font-size: 0.9em;
        font-family: 'Oswald', sans-serif;
        background-color: #3abdff;
        color: white;
        border-radius: 0.3em;
        padding: 0 0.5em 0.2em 0.5em;
    }

        div.startnow button:hover {
            background-color: #0000aa;
            cursor: pointer;
        }

    div .startnow p {
        font-size: 0.65em;
        font-weight: lighter;
    }

        div.startnow p span {
            font-size: 0.8em;
        }

    div.startnow a {
        text-decoration: none;
    }

div#footer {
    width: 100%;
    padding: 3em 1em 3em 1em;
    background-color: #000044;
    font-weight: lighter;
    font-size: 1.1em;
    box-sizing: border-box;
}

    div#footer div {
        display: inline-block;
        width: calc((100% /3) - 3px);
        box-sizing: border-box;
    }

        div#footer div:nth-child(2) {
            text-align: center;
            padding: 0 0.5em 0 0.5em;
        }

        div#footer div img {
            max-width: 95%;
            max-height: 3em;
            float: right;
        }

        div#footer div a {
            color: white;
            text-decoration: none;
        }

            div#footer div a:hover {
                cursor: pointer;
                text-decoration: underline;
            }


.fadeout {
    opacity: 0;
    transition: opacity 2s;
}

div#blocks.fadein {
    opacity: 1;
    transition: opacity 2s;
}

div#blocks.nofade {
    opacity: 1;
}

div#partners {
    width: 100%;
    max-width: 750px;
    margin: 0 auto 0 auto;
    padding: 1em 1em 3em 1em;
    box-sizing: border-box;
}

    div#partners p {
        text-align: center;
        font-size: 1.1em;
    }

    div#partners div {
        display: inline-block;
        width: calc((100% / 3) - 5px);
        text-align: center;
        font-weight: lighter;
    }

        div#partners div img {
            width: 100%;
        }

    div#partners a:hover {
        cursor: pointer;
    }

p.testinfo {
    padding-top: 1em;
    color: #3abdff;
}

@media screen and (orientation:landscape) {
    #intro div#logoimage {
        margin: 1em auto 0 auto;
        height: 3em;
    }

    div#logotext {
        width: 30%;
    }
}

@media screen and (max-width:370px) {
    body {
        font-size: 90%;
    }
}

@media screen and (max-width:600px) {
    div#footer {
        padding-bottom: 5em;
    }
    div#footer div {
        display: inline-block;
        width: calc((100% / 2) - 3px);
        box-sizing: border-box;
    }
        div#footer div:nth-child(3) {
            display: none;
        }
    #mainscloud {
        bottom: 0.5em;
        top: auto;
        display: inline;
    }
        #mainscloud img {
            height: 3.5em;
        }
        #mainscloud div.some {
            width: 1.6em;
            display: inline;
            margin-left: 0.4em;
        }

            #mainscloud div.some img {
                height: 1.6em;
            }

                #mainscloud div.some img.smaller {
                    height: 1.3em;
                }
}

@media screen and (min-width:400px) {
    div#block7b img#screenimage_4 {
        max-width: 50%;
    }
}

@media screen and (max-width:500px) {
    div#block7d img#screenimage_6 {
        max-width: 80%;
    }
}

@media screen and (min-width:700px) {
    div#block7d img#screenimage_6 {
        max-width: 40%;
    }
}

@media screen and (max-width:1500px) {
    div#block7e img#screenimage_7 {
        max-height: 400px;
    }
}

@media screen and (min-width:700px) {
    body {
        font-size: 120%;
    }

    div.text h2 {
        font-size: 2em;
        line-height: 1.2em;
    }

    div#block4b {
        min-height: 300px;
    }
}

@media screen and (min-width:1000px) {
    div#logotext {
        width: 40%;
    }
}

@media screen and (min-width:1100px) {
    div#logotext {
        width: 30%;
    }

    div#block4b {
        min-height: 500px;
    }
}

@media screen and (min-width:1250px) {
    div#logotext {
        width: 20%;
    }
}


div#navbar {
    display: block;
    transition: height 0.5s, top 1s;
    position: fixed;
    top: 3.2em;
    left: 0;
    height: 0;
    overflow: hidden;
    background-color: #000044;
    margin: 0;
    width: 100%;
    font-size: 100%;
    text-align: center;
    z-index: 30;
}

body.subpage div#navbar {
    transition: none;
}

    div#navbar a {
        display: inline-block;
        padding-left: 0.5em;
        padding-right: 0.5em;
        color: white;
        text-decoration: none;
        border-radius: 0.5em;
    }

        div#navbar a:hover {
            text-decoration: underline;
        }

    div#navbar a.selected {
        background-color: #3abdff;
        color: white;
    }


div#dropdownmenu {
    display: none;
    position: fixed;
    top: 0.5em;
    right: 0;
    left: auto;
    background-color: black;
    margin: 0;
    width: 1.5em;
    font-size: 120%;
    z-index: 20;
}

    div#dropdownmenu a {
        display: inline-block;
        padding-right: 1em;
        color: white;
        text-decoration: none;
    }

@media screen and (max-width: 1000px) {
    div#navbar {
        font-size: 90%;
    }
}

@media screen and (max-width: 790px) {
    div#navbar {
        display: none;
        background-color: #000044;
        width: auto;
        height: auto;
        top: 1.5em;
        left: auto;
        right: 0.6em;
        overflow: hidden;
        border: 2px solid #3abdff;
        border-radius: 0.5em;
        z-index: 21;
        overflow: auto;
    }

        div#navbar a {
            display: block;
            font-size: 120%;
            text-align: left;
            border-top: 1px solid white;
            border-radius: 0;
        }

            div#navbar a:hover {
                background-color: #3abdff;
                color: white;
            }

            div#navbar a:first-child {
                border-top: none;
            }

    div#dropdownmenu {
        display: block
    }

}

div.subpage {
    font-weight: lighter;
}
div.subpage h2 {
    font-size: 2em;
    padding: 0.5em;
    text-align: center;
    line-height: 1.2em;
}
div.subpage a {
    color: white;
}
div.subpage {
    background-image: url('../img/lightning.jpg');
    margin-bottom: 1em;
}
div.subpage div {
    padding: 0 0.8em 0.5em 0.8em;
}
    div.subpage div {
        font-size: 1.2em;
        position: relative;
    }
div#subblock2 img {
    transition: width 0.5s;
}
div#subblock2 div, div#subblock3 div {
    display: block;
    margin: 0 auto 0 auto;
}
div.subpage img#subblock2_image1, div.subpage img#subblock2_image2, div.subpage img#subblock4_image2 {
    position: relative;
    display: block;
    margin: 0.8em auto 0.8em auto;
    z-index: 1;
    width: 40%;
}
div.subpage img#subblock4_image1 {
    position: relative;
    display: block;
    z-index: 1;
    left: -1.5em;
    margin-bottom: 1em;
    width: 70%;
}
div.subpage img#subblock5_image2 {
    position: relative;
    display: block;
    margin: 0.8em auto 0.8em auto;
    z-index: 1;
    width: 70%;
    max-width: 800px;
}
div.subpage img#subblock4_image3 {
    position: relative;
    display: block;
    margin: 0.8em auto 0.8em auto;
    z-index: 1;
    width: 70%;
    max-width: 1000px;
}
div.subpage .note {
    font-size: 90%;
    font-style: italic;
}
div.subpage div#infoboxes {
    margin: 0 auto 0 auto;
}
div.subpage .infobox {    
    font-size: 93%;
    display: inline-block;
    margin: 1em 1em 0 1em;
    padding: 0.5em 1em 0.5em 1em;
    width: auto;
    background-color: rgba(100,100,100,0.5);
    border-radius: 1em;
    vertical-align: top;
}
div#subpage6 .infobox {
    position: relative;
    display: block;
    font-size: 100%;
    width: 50%;
    margin: 1em auto 2em auto;
    text-align: center;
}
@media screen and (max-width:650px) {
    div#subpage6 .infobox {
        width: 75%;
    }
}
    div#subpage6 h3 {
        text-align: center;
        padding-bottom: 0.8em;
        font-size: 130%;
    }

    div.subpage h3 {
        margin: 0;
    }

    div.subpage div#partners p {
        font-size: 1em;
        margin: 0;
    }

    div.subpage div#partners div {
        font-size: 0.6em;
        padding: 0;
    }

    @media screen and (min-width: 400px) {
        div.subpage div {
            padding: 0 1.5em 0.5em 1.5em;
        }

            div.subpage div#partners div {
                font-size: 0.7em;
                padding: 0;
            }
    }

    @media screen and (min-width: 600px) {
        div.subpage h2 {
            padding: 1em 3.5em 0 3.5em;
        }

        div#subpage1 div#subblock2 div, div#subpage1 div#subblock3 div {
            margin: 0 30% 0 auto;
        }

        div#subpage2 div#subblock2 div {
            margin: 0 auto 0 35%;
            min-height: 600px;
        }

        div#subpage1 img#subblock2_image1 {
            position: absolute;
            right: 2em;
            width: 160px;
            max-width: 450px;
            z-index: 2;
        }

        div#subpage1 img#subblock2_image2 {
            position: absolute;
            right: 2em;
            width: 160px;
            max-width: 450px;
            top: 300px;
        }

        div#subpage2 img#subblock2_image1 {
            position: absolute;
            left: 3em;
            width: 160px;
            max-width: 450px;
        }

        div#subpage2 img#subblock2_image2 {
            position: absolute;
            left: 3em;
            width: 160px;
            max-width: 450px;
            top: 300px;
        }

        div#subpage1 img#subblock2_image1:hover, div#subpage1 img#subblock2_image2:hover {
            width: 40vw;
            max-width: 450px;
            z-index: 30;
        }

        div#subpage2 img#subblock2_image1:hover, div#subpage2 img#subblock2_image2:hover {
            width: 40vw;
            max-width: 450px;
            z-index: 30;
        }

        div.subpage div#subblock4 img#subblock4_image2 {
            max-width: 150px;
            padding-top: 0.5em;
            padding-bottom: 0.5em;
        }

        div#subpage1 div#subblock5 img#subblock5_image1 {
            position: absolute;
            width: 20%;
            z-index: 1;
            left: 0;
            bottom: 0;
            max-width: 150px;
            max-height: 130px;
        }

        div#subpage2 img#subblock4_image1 {
            width: 8em;
        }
    }

    div#subpage4 ul {
        list-style-image: url('../img/arrowright.svg');
        width: 92%;
        margin: 0 0 0 auto;
        font-weight: normal;
        font-size: 1.1em;
        padding: 0;
    }
        div#subpage4 ul li {
            background-color: rgba(100,100,100,0.5);
            border-radius: 0.5em;
            padding-left: 1em;
            margin-bottom: 0.3em;
        }

            div#subpage4 ul li.faq_open {
                background-color: rgba(100,100,200,0.5);
                list-style-image: url('../img/arrowdown.svg');
            }

            div#subpage4 ul li:hover {
                background-color: rgba(110,110,110,1);
                cursor: pointer;
            }

            div#subpage4 ul li.faq_open:hover {
                background-color: rgba(100,100,200,0.5);
            }

            div#subpage4 ul li div {
                height: 0;
                padding: 0;
                overflow-y: hidden;
                transition: height 0.4s;
                font-size: 1em;
                font-weight: lighter;
            }

                div#subpage4 ul li div div {
                    height: auto;
                    overflow-y: auto;
                }

            div#subpage4 ul li ul {
                width: auto;
                font-size: 1em;
                list-style-position: inside;
            }
                div#subpage4 ul li ul li {
                    background-color: transparent;
                    border-radius: 0;
                    padding-left: 0;
                    margin: 0 1em 0.3em 0;
                    font-weight: lighter;
                }

                    div#subpage4 ul li ul li.faq_open:hover, div#subpage4 ul li ul li:hover, div#subpage4 ul li ul li.faq_open {
                        background-color: transparent;
                    }

                    div#subpage4 ul li ul li:hover {
                        background-color: rgba(110,110,110,1);
                        border-radius: 0.3em;
                    }

                    div#subpage4 ul li ul li div {
                        height: 0;
                        padding: 0;
                        overflow-y: hidden;
                        transition: height 0.4s;
                        font-size: 1em;
                        font-weight: lighter;
                    }

                        div#subpage4 ul li ul li div div {
                            height: auto;
                            overflow-y: auto;
                        }
                        div#subpage4 ul li ul li div div img {
                            height: 0.8em;
                            min-width: 1em;
                        }

    @media screen and (min-width: 700px) {
        div#subpage1 div#subblock2 div {
            margin: 0 35% 0 auto;
        }

        div#subpage2 div#subblock2 div {
            margin: 0 auto 0 35%;
            min-height: 650px;
        }

        div#subpage1 div#subblock3 div {
            margin: 0 auto 0 auto;
        }

        div#subpage1 img#subblock2_image1 {
            top: 0.5em;
            right: 4em;
        }

        div#subpage2 img#subblock2_image1 {
            width: 180px;
            top: 0;
            left: 3em;
        }

        div#subpage1 img#subblock2_image2 {
            top: calc(12vw + (860px - 100vw) * 1.1);
        }

        div#subpage2 img#subblock2_image2 {
            width: 180px;
            top: calc(300px + (800px - 100vw) * 0.3);
            left: calc(3em + (100vw - 700px) / 3);
        }
        div#subpage4 ul {
            width: 80%;
            margin: 0 auto 0 auto;
        }
    }

    @media screen and (min-width: 800px) {
        div#subpage1 div#subblock2 div {
            margin: 0 45% 0 auto;
        }

        div#subpage2 div#subblock2 div {
            margin: 0 auto 0 calc(37vw + (100vw - 800px) * 0.5);
            min-height: 690px;
        }

        div#subpage1 img#subblock2_image1 {
            z-index: 2;
            width: 20vw;
            right: calc(2em + 15vw);
            top: 0;
        }

        div#subpage1 img#subblock2_image2 {
            z-index: 1;
            width: 20vw;
            top: calc(2em + (1000px - 100vw) * 1.1);
            right: 2em;
        }

        div#subpage2 img#subblock2_image1 {
            width: 25vw;
            top: 0;
            left: 3em;
        }

        div#subpage2 img#subblock2_image2 {
            width: 25vw;
            top: calc(300px + (800px - 100vw) * 0.5);
            left: calc(3em + (100vw - 700px) / 1.7);
        }
    }

    @media screen and (min-width: 1040px) {
        div#subpage1 div#subblock2 div, div#subpage1 div#subblock3 div {
            margin-right: calc(33vw - (100vw - 1040px) * 0.4);
        }

        div#subpage1 div#subblock2 div {
            margin-right: calc(33vw - (100vw - 1040px) * 0.4);
        }

        div#subpage2 div#subblock2 div {
            margin-left: 50vw;
            min-height: 600px;
        }

        div#subpage1 img#subblock2_image1 {
            width: 230px;
            top: 0;
            right: 4em;
        }

        div#subpage1 img#subblock2_image2 {
            width: 230px;
            top: calc(400px - (100vw - 1040px) * 0.8);
        }

        div#subpage2 img#subblock2_image1 {
            width: 260px;
        }

        div#subpage2 img#subblock2_image2 {
            width: 260px;
            top: calc(300px + (800px - 100vw) * 0.6);
            left: calc(3em + (100vw - 700px) / 1.7);
        }

        div#subpage1 div#subblock4 div {
            display: block;
            margin: 0 auto 0 330px;
            min-height: 160px;
        }

        div#subpage1 div#subblock4 img#subblock4_image1 {
            position: absolute;
            z-index: 1;
            max-width: 350px;
            left: 0;
        }
    }

    @media screen and (min-width: 1250px) {
        div#subpage2 div#subblock2 div {
            margin-left: calc(3em + 230px);
            min-height: 500px;
            margin-right: calc(3em + 230px);
        }

        div#subpage1 div#subblock4 div, div#subpage1 div#subblock5 div {
            margin-right: calc(30vw - (100vw - 1040px) * 0.35);
        }

        div#subpage1 img#subblock2_image2 {
            width: 230px;
            top: calc(550px - (100vw - 1040px) * 0.3);
        }

        div#subpage2 img#subblock2_image2 {
            top: 0;
            left: auto;
            right: 3em;
        }
    }

    @media screen and (min-width: 1450px) {
        div#subpage2 div#subblock2 div {
            min-height: 200px;
        }

        div#subpage2 div#subblock3 div {
            margin-left: calc(3em + 230px);
            margin-right: calc(3em + 230px);
            min-height: 300px;
        }
    }

    @media screen and (min-width: 1700px) {
        div#subpage1 div#subblock2 div, div#subpage1 div#subblock3 div {
            margin-right: calc(33vw - (100vw - 1040px) * 0.35);
        }

        div#subpage1 div#subblock4 div, div#subpage1 div#subblock5 div {
            margin-right: calc(30vw - (100vw - 1040px) * 0.3);
        }

        div#subpage1 img#subblock2_image2 {
            width: 230px;
            top: calc(550px - (1700px - 1040px) * 0.3);
        }
    }