@import url('https://fonts.googleapis.com/css?family=Poppins');

/* RESET */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, input, button
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
    vertical-align: baseline;
    outline: none;
    box-sizing: border-box;
}

html {
    height: 100%;
}

body {
    margin: 0;
    padding: 0 12px;
    background: #ebebeb;
    font-family: 'poppins';
    font-size: 20px;
    color: #231f20;
}

/* RESET */
div, img, ul, li, form, label, input, button, h2, p, a, span {
    display: block;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border: none;
}

.container {
    position: relative;
    margin: 0 auto;
    overflow: hidden;
    max-width: 640px;
}

.logo {
    margin: 12px auto 0;
    max-width: 220px;
    outline: none;
}

.calculator, .result {
    display: block;
    margin-top: -3px;
    padding: 16px;
    background: #ffcc00;
    border: 3px solid #231f20;
    border-radius: 12px;
    box-shadow: 0 3px 3px #999;
    text-align: left;
}

.result {
    display: none;
    background: #fff;
}

.result .title {
    padding: 0 16px;
    background:  #ffcc00;
    border-radius: 7px 7px 0 0;
    font-size: 0.9em;
    font-weight: 600;
    line-height: 36px;
    color: #231f20;
}

.calculator .title {
    font-size: 0.9em;
}


/***********************
    FORM TABLE STYLE
************************/

.formWrap {
    width: 100%;
}

.formWrap td {
    padding: 8px 4px;
    vertical-align: middle;
    border-bottom: 1px solid #ffbb00;
    text-align: center;
}

.formWrap img {
    margin: 0 auto;
    min-width: 30px;
    max-width: 40px;
}

/* FORM LABEL */
.formWrap .labelWrap {
    width: 15%;
}

.formWrap .label {
    position: relative;
    font-weight: 400;
    font-size: 0.8em;
    text-align: left;
}

.formWrap .label span {
    font-size: 0.7em;
    color: #333;
    font-style: italic;
    font-weight: 200;
}


/* FORM INPUT */
.formWrap .inputWrap {
    width: 85%;
    box-sizing: border-box;
}

.formWrap .input {
    margin-top: 2px;
    padding: 4px 12px;
    width: 100%;
    height: 36px;
    font-size: 14px;
    border-radius: 7px;
    box-sizing: border-box;
    border: 3px solid #ebebeb;
    transition: border 0.3s ease-in-out;
}

.inputWarning {
    margin-top: 2px;
    padding: 0 12px;
    width: 100%;
    line-height: 30px;
    border-radius: 7px;
    box-sizing: border-box;
    border: 3px solid red;
    color: red;
    background: pink;
    transition: border 0.3s ease-in-out;
}

.formWrap .input:hover {
    border: 3px solid #666;
}

.formWrap .input:focus {
    border: 3px solid #231f20;
    box-shadow: 0 3px 3px #ffbb00;
}


/**********************************
    OVERVIEW KOSTEN & BESPARING
***********************************/

.overview {
    margin-bottom: 16px;
    padding: 0;
    width: 100%;
    text-align: left;
    border: 2px solid #ccc;
    border-top: none;
    border-radius: 0 0 7px 7px;
    box-sizing: border-box;
}

.overview tr {
    background: #fff;
}

.overview tr:nth-child(odd) {
    background: #fafafa;
}

.overview td {
    margin: 0;
    padding: 8px 16px;
    border-bottom: 1px solid #ccc;
    border-spacing: 0;
    border-collapse: collapse;
    vertical-align: top;
    width: 50%;
    box-sizing: border-box;
}

.overview p {
    font-size: 0.7em;
    line-height: 20px;
}

.overview span {
    display: inline-block;
    font-size: 0.8em;
    font-style: italic;
    color: #666;
}

/* TAG */
.overview .tag {
    position: relative;
    display: inline;
    top: -2px;
    padding: 3px 8px;
    background: #666;
    border-radius: 5px;
    box-shadow: 0 2px 2px #ccc;
    font-size: 0.6em;
    font-weight: 400;
    color: #ffcc00;
}

/* TOTAL COST / SAVE ROW */
.overview .total {
    background: #ccc;
    border: none;
}

.overview .total p {
    font-size: 0.8em;
    font-weight: 600;
}

.netto {
    position: relative;
    padding: 8px 32px 8px 16px;
    background: #ffcc00;
    border: 2px solid #ccc;
    border-radius: 7px;
    text-align: left;
}

.netto p {
    margin: 5px 0;
    font-size: 0.7em;
}

.netto span {
    display: inline;
    margin: 0;
    padding: 0;
    font-weight: 600;
}

.netto a {
    display: inline;
}

.btnInfo, .btnClose {
    display: block;
    position: absolute;
    top: 5px;
    right: 6px;
    width: 25px;
    background: #999;
    font-size: 0.8em;
    font-weight: 800;
    line-height: 25px;
    text-shadow: 0 1px 1px #231f20;
    color: #fff;
    border: 2px solid #666;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s ease-in-out,
                color 0.3s ease-in-out;
}

.btnInfo:hover {
    background: #231f20;
    color: #ccc;
}

.btnClose {
    background: none;
    border: none;
}

.btnClose:hover {
    color: #ffcc00;
}

.parameters {
    display: none;
    width: inherit;
    position: absolute;
    bottom: 32px;
    margin: 0 32px 0 24px;
    padding: 20px 30px;
    background: #231f20;
    color: #ffcc00;
    border: 3px solid #999;
    border-radius: 12px;
}

.parameters li {
    padding: 5px 0;
    font-size: 0.7em;
    color: #fff;
}

.parameters span {
    display: block;
    padding: 0;
    width: 100%;
    font-size: 0.9em;
    font-weight: 400;
    color: #ffcc00;
}

.warning {
    display: none;
    margin: 16px auto 0;
    padding: 0 16px;
    background: pink;
    width: 100%;
    font-size: 0.8em;
    color: red;
    line-height: 32px;
    border: 2px solid red;
    border-radius: 7px;
    box-shadow: 0 2px 2px #999;
}

.toggle {
    margin: 16px auto 16px;
    width: 70%;
    background: #231f20;
    font-size: 0.9em;
    height: 40px;
    color: #ffcc00;
    border: 2px solid #666;
    border-radius: 7px;
    box-shadow: 0 2px 2px #999;
    cursor: pointer;
    transition: background 0.3s ease-in-out,
                color 0.3s ease-in-out,
                box-shadow 0.3s ease-in-out,
                border 0.3s ease-in-out;
}

.toggle:hover {
    background: #333;
    color: #ebebeb;
    box-shadow: 0 2px 2px #ebebeb;
    border: 2px solid #231f20;
}

.toggle:focus {
    border: 2px solid #ffcc00;
}

.disclaimer {
    margin-top: 8px;
    padding: 0 32px;
    font-size: 0.6em;
    font-weight: 200;
    text-align: center;
    color: #999;
}


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

    .result {
        padding: 0;
        overflow: hidden;
    }

    .result .title {
        border-radius: 0;
    }

    .overview {
        border-radius: 0;
    }

    .overview .tag {
        top: 2px;
        display: block;
    }

    .netto {
        border-radius: 0;
    }
}
