﻿.main > .content {
    padding: 0 0px !important;
    height: calc(100vh - 112px - 50px);
    background-color: white;
}

.main-content {
    position: relative;
    background-color: white;
    width: 100%;
    font: var(--font-bold) !important;
    height: 100%;
}

    .main-content > .main-header {
        height: 90px;
        background-color: white;
        display: flex;
        border-bottom: 2px solid rgba(0, 0, 0, 0.1);
    }

        .main-content > .main-header > img {
            margin: 10px 30px;
        }

        .main-content > .main-header > h1 {
            color: var(--colour-primary, red);
            margin: auto;
            font-weight: bold;
        }

/*.footer {
    display: none;
}*/

.navigation-component {
    width: 100%;
    display: flex;
    justify-content: stretch;
    flex-wrap: wrap;
    position: relative;
    z-index: 500;
    background-color: var(--colour-nav, red);
    padding: 0;
    overflow: hidden;
}

    .navigation-component > li {
        flex-grow: 1;
        height: var(--height-nav, 75px);
        display: flex;
        list-style-type: none;
    }

        /*.navigation-component > li > a {
            display: block;
            text-align: center;
            padding: 28px 16px;
            text-decoration: none;
            color: var(--nav-text-colour, white) !important;
            font-weight: bold;
        }*/

.navigation-btn {
    color: var(--colour-nav-text, white);
    text-align: center;
    cursor: pointer;
}

    .navigation-btn:hover {
        background-color: var(--colour-nav-inactive, darkred);
    }

.navigation-btn-selected {
    background-color: var(--colour-nav-focused, white) !important;
    color: var(--colour-nav-focused-text, #181818);
}

    .navigation-btn-selected > div > .navigation-icon {
        color: var(--colour-nav-focused-icon);
    }

.navigation-btn-disabled {
    background-color: var(--colour-nav-inactive, darkred) !important;
    cursor: default;
}

.navigation-btn:not(.navigation-btn-selected):before {
    content: "";
    position: absolute;
    top: 12%;
    height: 75%;
    border-left: 1px solid var(--colour-nav-spliter, darkred);
}

.navigation-btn.navigation-btn-disabled:before {
    border-left: 1px solid var(--colour-nav-spliter, darkred) !important;
}

.navigation-btn:first-child:before,
.navigation-btn.navigation-btn-selected + .navigation-btn:before,
.navigation-btn:not(.navigation-btn-disabled) + .navigation-btn.navigation-btn-disabled:before {
    border-left: none !important;
}

.navigation-icon {
    font-size: var(--font-size-nav-icon, 30px);
    padding-bottom: 3px;
}

.navigation-text {
    font-size: var(--font-size-nav, 16px);
    margin-bottom: 0;
}

.form-content {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: column;
    height: calc(100% - var(--height-nav, 75px) - 1rem);
    overflow-y: auto;
}

    .form-content > div:not(.e-control):not(.tutorial-modal):not(.material-list):not(.dimensions-manual),
    .form-content > form {
        max-width: 800px;
        width: 100%;
        margin: 10px 0 30px;
    }

    .form-content > .form-button {
        width: 100% !important;
        margin-bottom: 20px;
        display: flex;
        justify-content: center;
        gap: 20px;
    }

.please-login {
    height: 100%;
    padding: 7%;
}

.header-text {
    color: var(--colour-primary, red);
    font-size: var(--font-size-header, 36px);
    font-weight: bold;
    border-bottom: 1px solid var(--colour-header-underline, lightgrey);
    margin-bottom: 0;
    padding-bottom: 11px;
}

    .header-text > span {
        vertical-align: middle;
        margin-left: 10px;
        font-size: 20px;
        animation: help-flash 4s linear infinite;
    }
    
    .header-text > span:hover {
        color: black !important;
        cursor: pointer;
    }

@keyframes help-flash {
    30% {color: var(--colour-primary, red);}
    50% {color: white;}
    70% {color: var(--colour-primary, red);}
}

.header-margin {
    margin-bottom: 20px;
}

.form-margin {
    margin-top: 16px;
    width: 100%;
}

.job-information {
    margin-bottom: 40px;
}

.job-information-form {
    width: 100%;
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.job-information-form > div {
    width: 250px;
    flex-grow: 1;
    margin: 0 10px 10px;
}

.form-margin.roof-type {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    flex-direction: column;
    margin-bottom: 75px;
}

.roof-type-selection {
    display: flex;
    margin-top: 10px;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

.system-selection {
    width: 100%;
    float: left;
}

.system-information {
    position: relative;
    max-width: 256px;
    width: 100%;
    float: right;
}

.system-information > img {
    width: 100%;
    margin-bottom: 5px;
}

    .system-information > img.unavailable {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        opacity: 0.6;
    }

div.unavailable {
    color: grey !important;
}

form#form-id {
    display: flex;
    align-items: center;
    gap: 20px;
}

form#form-id.wrap {
    flex-wrap: wrap;
    gap: 0;
}

.warranty-text {
    margin-top: 20px;
    margin-left: 15px;
    font-weight: bold;
    font-size: 14px;
}

.svg-inputs {
    display: flex;
    margin: 30px auto 0;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

.svg-input {
    float: left;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 20px;
    box-shadow: 2px 2px 10px 0px;
}

.svg-inputs > .svg-input > .svg-label {
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11pt;
    flex-direction: column;
}

.svg-label {
    width: 140px;
    display: block;
    margin: auto;
    text-align: center;
    border-style: none;
    cursor: pointer;
    padding: 10px;
}
    
    .svg-label > svg > line.gridline {
        stroke: white;
    }

    .svg-label > h1 {
        font-size: 30px;
    }

    .svg-label > img {
        width: 100px;
        height: 100px;
        margin-bottom: 5px;
    }

.svg-input > input[type="radio"] {
    opacity: 0;
    width: 0;
    height: 0;
}

    .svg-input > input[type="radio"] ~ label {
        border: 3px solid rgba(0, 0, 0, 0);
    }

    .svg-input > input[type="radio"]:checked ~ label {
        border-radius: 20px;
        border-color: var(--colour-primary, #8cc3f7);
        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    }

.svg-input > input[type="radio"]:checked ~ label > svg > polygon,
.svg-input > input[type="radio"]:hover ~ label > svg > polygon {
    fill: black !important;
}

.roof-dimensions {
    max-width: 100% !important;
    width: 99% !important;
    min-height: 300px;
    margin-bottom: 0 !important;
    padding: 0 10px;
    gap: 20px;
    flex-grow: 1;
}

    .roof-dimensions > div.roof-plan-container {
        height: calc(100% - 60px) !important;
    }

.extra-tab .e-content {
    max-height: 567px;
}

.extra-section {
    height: 100%;
    padding-top: 10px;
    display: flex;
    flex-direction: column;
}

.extra-section > span {
    font-weight: bold;
    font-size: 14px;
    background-color: var(--colour-button, var(--colour-primary));
    color: var(--colour-nav-text);
    padding: 7px;
    margin: 0 0 3px;
    border-radius: 5px;
}

.extra-tab .e-content,
.custom-scroll {
    overflow-y: auto;
}

    /* width */
    .extra-tab .e-content::-webkit-scrollbar,
    .custom-scroll::-webkit-scrollbar {
        width: 10px;
    }

    /* Track */
    .extra-tab .e-content::-webkit-scrollbar-track,
    .custom-scroll::-webkit-scrollbar-track {
        background: #f1f1f1;
    }

    /* Handle */
    .extra-tab .e-content::-webkit-scrollbar-thumb,
    .custom-scroll::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: 5px;
    }

        /* Handle on hover */
        .extra-tab .e-content::-webkit-scrollbar-thumb:hover,
        .custom-scroll::-webkit-scrollbar-thumb:hover {
            background: #555;
        }

.dimensions {
    width: 250px;
    max-width: 500px;
    flex-grow: 1;
}

.display-roof {
    width: 850px;
    flex-grow: 5;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
}

.features {
    flex-grow: 4;
}

.preview {
    width: 250px;
    max-width: 500px;
    flex-grow: 1;
}

div.alert.alert-danger {
    margin-top: 20px;
}

.dimension-input-label {
    margin-top: 12px;
}

    .dimension-input-label > em {
        font: var(--font-italic);
    }

.dimension-input {
    margin-top: 3px !important;
}

.dimensions-preview {
    background-color: whitesmoke;
    border-radius: 15px;
    margin-top: 5px;
    padding: 10px;
    height: 300px;
    overflow: auto;
}

.dimension {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin: 5px 0;
}

    .dimension p {
        margin: 0;
        text-align: right;
        font-size: 15px;
        font-weight: normal;
    }

    .dimension .label {
        width: 60%;
        font-weight: bold;
    }

    .dimension .value {
        width: 20%;
    }

    .dimension .unit {
        width: 20%;
        text-align: left;
    }

#canvas-container {
    margin-top: 20px;
    position: relative;
}

    .e-dlg-content > #canvas-container {
        margin: 0;
    }

        .e-dlg-content > #canvas-container:not(:fullscreen) > .sres-canvas {
            height: 485px;
        }

    #canvas-container > div.drag-prompt {
        width: 100%;
        height: 100%;
        top: 0;
        position: absolute;
        opacity: 0.4;
        background-image: url('https://quotemyroof.blob.core.windows.net/sitecontent/images/misc/drag.png');
        background-repeat: no-repeat;
        background-size: 100% 100%;
        pointer-events: none;
    }

.sres-canvas {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    cursor: grab;
    touch-action: none;
}

    .sres-canvas:active {
        cursor: grabbing;
    }

.float-button {
    position: absolute;
    opacity: 0.2;
}

    .float-button:hover {
        opacity: 1;
    }

    .float-button.image-button {
        opacity: 0.8 !important;
        background-color: lightgray !important;
    }

    .float-button > i {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .float-button > img {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 40px;
    }

#canvas-container > .float-buttons {
    bottom: 15px;
    right: 15px;
    display: flex;
    position: absolute;
    gap: 5px;
}

    #canvas-container > .float-buttons > .float-button {
        width: 30px;
        height: 30px;
        border: 1px solid black;
        border-radius: 6px;
        background-color: white;
        padding: 0 3px;
        cursor: pointer;
        position: static;
    }

        #canvas-container > .float-buttons > .float-button > i {
            padding: 2px 0;
            font-size: 24px;
        }

#canvas-overlay {
    height: 0;
}

.svg-holder > .float-button {
    right: 5%;
    bottom: 5%;
}

    .svg-holder > .float-button > i {
        font-size: max(35px, min(3vw, 4vh));
    }

.product-selection {
    height: 130px;
}

    .product-selection > img {
        width: 120px;
        height: 120px;
        float: left;
        margin-right: 10px;
        border: 2px solid black;
    }

    .product-selection > p {
        font-weight: bold;
        font-size: 20px;
    }

.dimensions-manual {
    max-width: 1000px;
    width: 80% !important;
    margin-bottom: 20px;
}

div.manual {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 10px;
}

    div.manual > div {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        min-width: 200px;
        width: 300px;
        margin-top: 30px;
    }

        div.manual p {
            width: 100%;
            margin-bottom: 5px;
        }

        div.manual > div > div {
            display: flex;
            gap: 5px;
        }

        div.manual > div > div:first-child {
            height: 22px;
        }

        div.manual > div > div > div,
        div.manual > div > div > span {
            width: 100%;
        }

        div.manual .e-ddl-icon {
            margin-right: 0 !important;
        }

div.dimension-ddl-item {
    display: flex;
    gap: 3px;
    padding: 3px 5px;
}

div.dimension-ddl-item img {
    width: 20px;
}

div.e-checkbox-wrapper.e-css {
    float: left;
    margin-top: 6px;
    margin-left: 5px;
}

div.junctions-ddl-item {
    float: left;
}

    div.junctions-ddl-item img {
        width: 20px;
        float: left;
        margin: 3px 5px 0px 5px;
    }

.material-list {
    justify-content: center;
    display: flex;
    flex-direction: column;
    margin: 0 50px;
    flex-grow: 1;
    min-height: 300px;
}

.material-grid {
    min-height: 300px;
    flex-grow: 1;
    margin-top: 10px;
}

.material-img {
    width: 50px;
    height: 50px;
}

.product-data {
    display: flex;
}

.product-data > .item {
    font-size: 12px;
    background-color: aliceblue;
    border: 1px solid gray;
    border-radius: 10px;
    margin-right: 6px;
    padding: 0 7px;
}

.manufacturer-img {
    height: 50px;
}

/* Tutorial */
div.tutorial-modal {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw !important;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    margin: 0 !important;
    z-index: 1000;
}

div.e-popup.tutorial {
    background-color: white;
    border: none;
    border-radius: 20px;
    max-width: none;
    /*border-color: var(--colour-primary);*/
}

    div.e-popup.tutorial > .e-tip-content > .tutorial-box {
        color: black;
    }

        div.e-popup.tutorial > .e-tip-content > .tutorial-box > button {
            width: 70px;
            height: 30px;
        }

    div.e-popup.tutorial > .e-arrow-tip > .e-arrow-tip-outer {
        border-color: transparent;
    }

    div.e-popup.tutorial > .e-arrow-tip > .e-arrow-tip-inner {
        color: white !important;
    }

div.tutorial-dialog {
    z-index: 100000 !important;
}

div.tutorial-box {
    width: 300px;
    z-index: 100000;
    padding: 10px;
}

div.tutorial-box.wide {
    width: 600px;
}

    div.tutorial-box > p {
        font-size: 17px;
    }

    div.tutorial-box > button {
        float: right;
        margin-bottom: 10px;
    }

div.e-icons.e-tooltip-close {
    display: none;
}

div.roof-features-area {
    position: absolute;
    width: 100px;
    height: 120px;
}

div.toggle-tutorial {
    position: absolute;
    bottom: 10px;
    right: 20px;
    width: fit-content !important;
    margin-left: auto !important;
    background-color: white;
    border-radius: 15px;
    padding: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

    div.toggle-tutorial > label {
        margin: 0;
    }

div.e-dialog > .e-dlg-content > h3,
div.e-dialog > .e-dlg-content > h4 {
    color: var(--colour-primary, red);
    font-weight: bold;
}

/* Responsive Design */

@media screen and (max-width: 1270px) {
    .material-list {
        flex-direction: column;
    }

    .material-list .preview {
        width: 100%;
    }

    .material-grid {
        width: 100%;
    }
}

@media screen and (max-width: 930px) {
    .navigation-text {
        display: none;
    }

    .form-content > div:not(.e-control),
    .form-content > form {
        margin: 0 0 30px;
        padding: 0 10px;
    }
}

@media screen and (max-width: 850px) {
    form#form-id {
        flex-direction: column;
    }
}

@media screen and (max-width: 700px) {
    .svg-input {
        margin: 0;
    }
}

@media screen and (max-width: 500px) {
    .svg-holder > .float-button {
        right: -5vw;
    }
}

@media screen and (max-width: 450px) {
    .svg-label {
        width: 100px;
    }

    .svg-label > img {
        width: 60px;
        height: 60px;
    }

    .svg-label > h1 {
        font-size: 20px;
    }
}

@media screen and (min-width: 588px) and (max-width: 1060px) {
    .features {
        width: 100%;
        order: 3;
    }
}