/*
Theme Name: cosin
Author: Patrik Budenz
Description: Theme for cosin.eu
Version: 1.0
Text Domain: cosin.eu
*/


@import url(page-styles.css);


/* --- General ---------------------------------------------------------------- */

html {
    background-color: #ffffff;
    border: 0px;
    padding: 0pc;
}

body {
    padding: 0px !important;
    -webkit-text-size-adjust: none;
}

.clear {
    clear: both;
    line-height: 0px;
    height: 0px;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}


/* --- Layout ----------------------------------------------------------------- */


.mainColumn {
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    
    padding-left: 50px;
    padding-right: 50px;
    max-width: 1150px;
}

.logo {
    margin-top: 30px;
    margin-left: -19px;
    margin-bottom: 30px;
    width: 250px;
}

.box {
    -webkit-box-shadow: 3px 3px 16px -4px rgba(0,0,0,0.3);
    -moz-box-shadow: 3px 3px 16px -4px rgba(0,0,0,0.3);
    box-shadow: 3px 3px 16px -4px rgba(0,0,0,0.3);
    margin-bottom: 50px;
}

@media (max-width: 1200px) {
    
    .logo { 
        margin-left: 10px;
        margin-top: 10px;
        margin-bottom: 10px;
    }
    
	.mainColumn { 
        width: 100%;
        padding-left: 0px;
        padding-right: 0px;
        min-width: 100%;
        max-width: 100%;
    }

    .box {
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
        margin-bottom: 0px;
    }
}


/* --- Top Navigation --------------------------------------------------------- */


.topNavigation {
    width: 100%;
    height: 4.2307em;
    background-color: #f58234;
    line-height: 4.2307em;
    z-index: 100;
}

.topNavigation a {
    color: #ffffff;
    font-size: 1.3846em;
    margin-left: 1.5em;
    margin-right: 0.5714em;
}

@media (max-width: 900px) {
	.topNavigation a {
        margin-left: 1em;
    }
}

@media (max-width: 800px) {
	.topNavigation a {
        margin-left: 0.8em;
    }
}

@media (max-width: 700px) {
	.topNavigation a {
        margin-left: 0.8em;
    }
}

.topNavigation a.selected {
    font-weight: 700;
}

#menutoggle {
    display: none;
}

@media (min-width: 601px) and (max-width: 700px) {
	.topNavigation a {
        margin-left: 1em;
        margin-right: 0;
        font-size: 1.2em;
    }
}

@media (min-width: 701px) and (max-width: 800px) {
	.topNavigation a {
        margin-left: 1.1em;
        margin-right: 0;
        font-size: 1.4em;
    }
}

@media (max-width: 600px) {

    .topNavigation {
        position: absolute;
    }
    
    .topNavigation a {
        display: none;
        background-color: #fca464;
        margin-left: 0;
        margin-right: 0;
        padding-left: 1.62em;
        padding-right:1em;
        border-top: solid 1px #ffffff;
    }
    
    .topNavigation a.visible {
        display: block !important;
    }
    
    #menutoggle {
        display: block;
        color: #ffffff;
        font-size: 1.3846em;
        padding-left: 1.62em;
        padding-right:1em;
        background-image: url(image/menu.png);
        background-repeat: no-repeat;
        background-position: 95% center;
    }
    
    .frontpageWrapper {
        padding-top: calc(4.2307em + 23px) !important;
    }
    
    .columnWrapper {
        padding-top: 4.2307em !important;
    }
    
}
 

/* --- Start page ------------------------------------------------------------- */


.frontpageWrapper {
    padding: 23px;
}

.frontpageWrapper .row {
}

.tile {
    min-height: 100px;
    float: left;
    margin: 1.6923em;
}

.tile p:first-child {
    margin-top: 0px;
}


.tile h1,
.tile h2 {
    margin-top: 0px;
    font-size: 1.1em;
}

.tile ul {
    padding-left: 12px;
    margin-bottom: 0px;
    margin-top: 20px;
}

.tile img {
    outline: solid 1px #eaeaea;
    display: block;
}

.tile .padding {
    width: 100%;
}

.tile .inner {
}

.tile.highlighted {
    background-color: #f6f6f6;
    
}

.tile.highlighted .inner {
    background-color: #f6f6f6;
    padding: 10px;
    overflow: hidden;
}

.tile.highlighted h1,
.tile.highlighted h2
{
    width: 100%;
    background-color: #e6e6e6;
    margin: -10px;
    padding: 5px 10px;
}

.tile.col1, .tile.col1_2 {
    width: calc(25% - 3.3846em);
}

.tile.col2 {
    width: calc(50% - 3.3846em);
}

.tile.col3 {
    width: calc(75% - 3.3846em);
}

.tile.col4 {
    width: calc(100% - 3.3846em);
}

.tile.right {
    float: right;
}

@media (max-width: 600px) {
    
    .frontpageWrapper {
        padding: 0px;
    }

    .tile {
        margin: 20px 20px;
    }

    
    .tile, .tile.col1, .tile.col2, .tile.col3, tile.col4 {
        min-height: auto;
        float:none;
        width: calc(100% - 40px);
    }
    
    .tile.col1_2 {
        min-height: auto;
        float:left;
        width: calc(50% - 40px);
        min-width: calc(50% - 40px);  
    }
    
    
    .tile.highlighted .inner {
        min-height: 0px;
        overflow: visible;
    }
}

.tile img {
    width: 100% !important;
    height: auto !important;
    display: block;
}

@media (min-width: 601px) and (max-width: 800px) {
        
    .tile.col1, .tile.col1_2 {
        width: calc(50% - 3.3846em);
    }
}

@supports (display: flex) {

    .frontpageWrapper .row {
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
    }

    .tile {
        float: none;
        order: 1;
        display: flex;
    }

    .tile.right {
        float: none;
        order: 2;
    }

    .tile .padding {
        margin: 0px;
        height: 100%
    }

    .tile.highlighted .padding {
        background-color: #f6f6f6;
    }

    .tile.highlighted .inner {
       height: none;
    }
    
    @media (max-width: 480px) {
        .tile.right {
            order: 1;
        }
    }
}

.columnWrapper {
    display: table;
    width: 100%;
}

@media (max-width: 480px) {
    .columnWrapper {
        display: block;
    }
}



/* --- Secondary navigation --------------------------------------------------- */


.leftColumn {
    display: table-cell;
    width: 23%;
    min-width: 200px;
    max-width: 245px;
    background-color: #eaeaea;
    height: 100%;
    min-height: 500px;
    vertical-align: top;
}

.centerColumn {
    display: table-cell;
    padding: 45px 45px 45px 70px;
    height: 500px;
}

.rightColumn {
    width: 2%;
    min-width: 2px;
    max-width: 20px;
    display: table-cell;
    background-color: #eaeaea;
    min-height: 500px;
    vertical-align: top;
}

@media (min-width: 601px) and (max-width: 900px) {
    .centerColumn {
        padding-left: calc(20px + 25 * (0.33vw - 2px));
        padding-right: calc(20px + 25 * (0.33vw - 2px));
    }
}

@media (max-width: 600px) {
 
    .leftColumn {
        display: block;
        width: auto;
        min-width: inherit;
        max-width: inherit;
        height: auto;
        min-height: inherit;
        padding-left: 2.2em;
        padding-right: 1em;
    }
    
    .centerColumn {
        display: block;
        height: auto;
        margin: 0;
        padding: 2.2em 2.2em 1em 2.2em;
    }
    
    .rightColumn {
        display: none;
    }

}


/* --- Secondary navigation --------------------------------------------------- */


.greyBar {
    height: 45px;
    background-color: #919191;
    margin-top: 0px;
}


.leftColumn a {
    display: block;
    border-bottom: solid 1px #919191;
    color: #6a6565;
    line-height: 20px;
    margin-left: 18%;
    padding-bottom: 13px;
    padding-top: 12px;
    padding-left: 25px;
    padding-right: 10px;
}

.leftColumn a:last-child {
    margin-bottom: 50px;
}

.leftColumn a.selected {
    background-color: #ffffff;  
}

.leftColumn .parent {
    margin-left: 18%;
    height: 45px;
    line-height: 45px;
    border-bottom: solid 1px #919191;
    color: #919191;
    font-weight: 700;
}


@media (max-width: 600px) {
    
    .leftColumn a {
        display: inline;
        border-bottom: none;
        color: #6a6565;
        font-size: 1.3em;
        line-height: 1.8em;
        padding-bottom: 0px;
        padding-top: 0px;
        padding-left: 0px;
        margin: 0;
    }

    .leftColumn a:last-child {
        margin-bottom: 0px;
    }

    .leftColumn a.selected {
        background-color: transparent;
        font-weight: 700;
    }
    
    .leftColumn a:after {
        content: " | ";
        font-weight: 300;
        color: #919191;
    }
    
    .leftColumn a:last-child:after {
        content: " ";
        font-weight: 300;
    }

    .leftColumn a span {
        white-space: nowrap;
    }
    
    .greyBar,
    .leftColumn .parent {
        display: none;
    }
}

.leftColumn .parent a {
    color: #919191;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-left: 0px;
}


/* --- Footer ---------------------------------------------------------------- */


.footer {
    clear: both;
    text-align: center;
    padding: 30px 28px 30px 28px;
    color: #919191;
}

.frontpageWrapper + .footer {
    padding-top: 10px;
}

.footer .block1, .footer .block2, .footer .block1-1, .footer .block1-2, .footer .block2-1, .footer .block2-2 {
    white-space: nowrap;
    display: inline;
}

.linkedin {
    height: 15px;
    vertical-align: middle;
    filter: grayscale(1);
    -webkit-filter: grayscale(1); 
    opacity: 0.6;
}

.linkedin:hover {
    opacity: 1;
    filter: none;
    -webkit-filter: none;
}

@media (min-width: 481px) and (max-width: 1030px) {

    .footer .block1, .footer .block2 {
        display: block;
    }
    
    .footer .separator2 {
        display: none;
    }
}


@media (max-width: 480px) {

    .footer .block1, .footer .block2, .footer .block1-1, .footer .block1-2, .footer .block2-1, .footer .block2-2 {
        display: block;
    }
    
    .footer .separator1, .footer .separator2, .footer .separator3 {
        display: none;
    }
}


/* --- Page content ----------------------------------------------------------- */


.pageContent {
    line-height: 1.7em;
    max-width: 680px;
}

.pageContent table {
    border-spacing: 10px;
    border-collapse: collapse;
}

.pageContent table td {
    padding: 0px 20px 30px 0px;
}

.pageContent table td:last-of-type  {
    padding: 0px 0px 30px 0px !important;
}
.pageContent table td:last-of-type {
    padding: 0px 10px 0px 0px;
}

.pageContent table.border td,
.pageContent table.border th {
    border: solid 1px #ccc;
}

.pageContent table th {
    padding: 5px;
    font-weight: bold;
    background-color: #fca464;
}

@media (max-width: 480px) {
    
    .pageContent table.responsive tr td {
        display: block;
    } 
}


.pageContent img {
    max-width: 100%;
    height: auto !important;
}

.pageContent > img {
    margin-top: 20px;
    margin-bottom: 20px;
}


/* --- Page content: collapsible blocks --------------------------------------- */


.collapsible {
    background-color: transparent !important;
    overflow: hidden;
    margin-top: 10px;
    margin-bottom: 10px;
}

.collapsible h2 {
    cursor: pointer;
}

.collapsible h2::after { content: " (click to close)"; font-size: 1em; color: #919191; font-weight: 400; }
.collapsible.collapsed h2::after { content: " (click to expand)"; font-size: 1em; color: #919191; font-weight: 400; }


/* --- Forms ------------------------------------------------------------------ */


form {
    width: 100%;
    margin-top: 20px;
}

form > section {
    width: 100%;
    display: block;
    margin-bottom: 10px;
}

form label {
    display: flex;
    width: 100%;
    margin: 5px 0px;
    white-space: nowrap;
    align-items: flex-start;    
    align-content: stretch;
}

form label.textarea {
    align-items: flex-start;    
}

form div > * {
    display: inline-block;
} 

form label > * {
    display: inline-block;
}

form input[type="checkbox"] {
    min-width: 20px;
    width: 20px;
    margin: 0 10px 0 0;
    position: relative;
    top: calc(0.3em + 5px);
} 

form input[type="text"] {
    border: 1px solid #e0e0e0;
    font-family: "Open Sans",sans-serif;
    font-size: 1em;
    height: calc(1em + 6px);
    padding: 5px;
    width: 100%;
}

form label.datepicker input {
    width: 70px;
    text-align: center;
}

form label.datepicker div.datepicker_reset {
    width: 10px;
    height: calc(1em + 6px);
    border: 1px solid #e0e0e0;
    background: #e0e0e0;
    padding: 4px 4px 6px 4px;
    text-align: center;
    color: white;
    cursor: pointer;
}

form textarea {
    resize: none;
    height: 200px;
    border: 1px solid #e0e0e0;
    font-family: "Open Sans",sans-serif;
    font-size: 1em;
    padding: 5px;
    width: 100%;
}

form select {
    padding: 5px 33px 5px 5px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: solid 1px #919191;
    background: url(image/select.png) right center no-repeat #eaeaea;
    height: 30px;
    font-size: 1em;
    font-family: 'Open Sans', sans-serif;
}

form option {
     font-size: 1em;
    font-family: 'Open Sans', sans-serif;
}

form select::-ms-expand { 
    display: none;
}

form select:disabled {
    opacity: 0.5;
}

form label > span {
    min-width: 130px;
    white-space: nowrap;
    padding-right: 20px;
    padding-top: 5px;
    padding-bottom: 5px;
}

form label > span + span {
    min-width: auto;
    white-space: normal;
}


form label.indent > span {
    padding-left: 30px;
    min-width: 100px;
}

form label.full {
    display: block;
}

form label.full span {
    display: block;
}

form label > input + span {
    white-space: normal;
}

form .space_after {
    margin-bottom: 20px;
}

form .space_before {
    margin-top: 20px;
}

form .space_both {
    margin-top: 20px;
    margin-bottom: 20px;
}

form input[type="submit"] {
    margin-top: 20px;
    border: none;
    background-color: #f58234;
    color: white;
    font-size: 1.1em;
    padding: 5px 20px;
}


form label.disabled {
    pointer-events: none;
}

form label.hidden {
    display: none !important;
}

form label.disabled input,
form label.disabled textarea
{
    background-color: #f8f8f8 !important;
    color: #aaa;
}

form label.disabled select {
    opacity: 0.5;
}

form input[type=submit].disabled
{
    background-color: #f0f0f0 !important;
    color: #ddd;
    pointer-events: none;
}

form .dropzone {
    width: 100%;
    height: 100px;
    background: #f0f0f0;
    padding: 10px;
    outline: solid 1px #888;
    position: relative;
    cursor: pointer;
    box-sizing: border-box;
}

form .dropzone:after {
    content: "Drag & drop files here or click here to open file dialog";
    display: block;
    position: absolute;
    bottom: 5px;
    right: 5px;
    color: #aaa;
}

form .dropzone.dragging {
    outline: dashed 2px #f58234;
}

form .dropzone .upload {
    display: block;
}

form .dropzone .upload progress, 
form .dropzone .upload span.filename {
    display: inline-block;
    pointer-events: none;
}

form .dropzone .upload span.cancel {
    display: inline-block;
    cursor: pointer;
    margin-left: 10px;
    color: red;
    margin-right: 20px;
    width: 20px;
}

form .dropzone .upload span.error {
    display: inline-block;
    margin-left: 20px;
    color: red;
    background: transparent;
}


form p.h1 {
    color: #919191;
    font-size: 1.69em;;
    margin-bottom: 20px;
    font-weight: 700;
}


form p.h2 {
    color: #f58234;
    font-size: 1.23em;
    margin-top: 30px;
    margin-bottom: 10px;
    font-weight: 700;
}

form .error {
    background-color: #ffeecc;
}

form p.error {
    padding: 5px;
}


form.reseller label > span,
form.license label > span,
form.contact label > span {
    min-width: 240px;
}

form.license label.indent > span {
    min-width: 210px;
}

form.licensefile label > span {
    min-width: 180px;
}

form.licensefile input[type=text] {
    width: 150px;
}

form.reseller table {
    font-size: 1em;
}

form.reseller table tr:first-of-type {
    background: #f0f0f0;
}

form.reseller table td,
form.reseller table td:last-of-type
{
    padding: 5px 10px !important;
    border: solid 1px #ccc;
    line-height: 1.2em;
}


@media (max-width: 800px) {

    
    form label {
        display: block;
        width: 100%;
        margin: 5px 0px;
    }

    form label > span {
        display: block;
        white-space: normal;
        width: 100%;
        padding-right: 0px;
    }
    
    form label > input[type=checkbox] {
        vertical-align: top;
    }
    
    form label > input[type=checkbox] + span {
        display: inline-block;
        white-space: normal;
    }
    
    form label.indent > input,
    form label.indent > textarea {
        margin-left: 30px;
        max-width: calc(100% - 30px);
    }
}



form.form > section > div > *:first-child {
    white-space: nowrap;
    width: 1px;
    padding-right: 20px;
}

form.form > section > div.margin > span,
form.form > section > div.margin > label {
    padding-bottom: 20px !important;
}

form.form > div > span,
form.form > section > div > span {
    display: table-cell;
    vertical-align: top;
}

form.form > section > div > span:first-child,
form.form > section > div > span.label {
    padding-top: 5px;
}

form.form > section > div > label {
    display: table-cell;
    padding-top: 5px;
    padding-bottom: 10px;
    vertical-align: top;
    padding-right: 20px;
}

form.form > section > div > span hr,
form.form > section > div > label hr {
    width: 20em;
    height: 0px;
    border: none;
    background: none;
    margin: 0;
}


@media (max-width: 800px) {

    
    form.form > section > div.responsive_break {
        display: block;
        width: 100%;
        margin: 5px 0px;
    }

    form.form > section > div.responsive_break > *:first-child {
        white-space: normal;
        width: 100%;
        padding-right: 0px;
    }

    form.form > section > div.responsive_break > span {
        display: block;
    }

    form.form > section > div.responsive_break > label {
        display: block;
        padding-right: 00px;
    }

    form.form > section > div.responsive_break > span hr,
    form.form > section > div.responsive_break > label hr,
    form.form > section > div.responsive_small > span hr,
    form.form > section > div.responsive_small > label hr {
        width: 0px !important;
    }
    
}





form.form input[type=file] {
    font-size: 1em;
}



form.form.technical textarea {
    resize: none;
    height: 200px;
    border: 1px solid #e0e0e0;
    font-family: "Open Sans",sans-serif;
    font-size: 1em;
    padding: 5px;
}


form.form.contact textarea {
    resize: none;
    height: 150px;
    border: 1px solid #e0e0e0;
    font-family: "Open Sans",sans-serif;
    font-size: 1em;
    padding: 5px;
}

form.form > section .full {
    width: 100%;
}

form.form > section .full > input,
form.form > section .full > textarea {
    width: calc(100% - 12px);
}






.form.form table td {
    padding: 5px !important;
}


form.form.license section.select {
    //display: none;
    margin: 0px;
}

form.form.license input.textafter {
    width: calc(100% - 12px);
}

form.form.license > section.request_update_form,
form.form.license > section.request_update_form .request_update_msc,
form.form.license > section.change_mail_new {
    display: none;
}

form.form.license > section.request_update_form > div > span:first-child,
form.form.license > section.change_mail_new > div > span:first-child {
    width: 20px;
}


@media (max-width: 800px) {

    form.form.license > section.change_mail_new {
        margin-bottom: 20px;
        margin-top: -10px;
    }
    
    form.form.license > section.request_update_form > div > label,
    form.form.license > section.request_update_form > div > span,
    form.form.license > section.change_mail_new > div > label,
    form.form.license > section.change_mail_new > div > span {
        padding-left: 40px;
    }

}

form.form.license > section.evaluate > div > label hr,
form.form.license > section.licenseoptions > div > label hr,
form.form.license > section.request_update_form > div > label hr, 
form.form.license > section.change_mail_new > div > label hr {
    width: calc(21.5em - 40px);
}

form.form.license > section.evaluate {
    margin-top: 10px;
}

form.form.license > section.request_update_form label {
    white-space: nowrap;
}

form.form.license > section.request_update_form .request_update_msc label {
    padding-left: 25px;
}

form.form.license .change_server_form {
    margin-top: 30px;
}

form.form.license .change_server_form textarea {
    vertical-align: top;
    width: calc(100% - 140px);
    max-width: calc(100% - 140px);
    height: 50px;
}

form.form.exchange section > div,
form.form.license section > div {
    display: table-row;
}

form.form.echange label,
form.form.license label {
    white-space: normal;
}

form.form.license label[for="license_file"] {
    display: inline-block;
    margin-right: 20px;
    vertical-align: top;
    margin-top: 11px;
}

form.form.license .filedata {
    margin-bottom: 10px;
    padding: 5px 5px;
    position: relative;
    width: 270px;
    border: 1px solid #e0e0e0;
    display: inline-block;
}

@media (max-width: 80px) {
  
    form.form.license label[for="license_file"] {
        display: block;
    }

    form.form.license .filedata {
        display: block;
        width: 100%;
    }
    
}

form.form.license .dd_file {
    display: none;
}

form.form.license .clear_file {
    position: absolute;
    right: 5px;
    top: 5px;
    color: #f58234;
    cursor: pointer;
    display: none;
}

form.form.license .confirmation_code_form {
    margin-top: 5px;
}

form.form.license .confirmation_code_form label {
    margin-right: 10px;
}


form.form.license .confirmation_code_form input {
    width: 15em;
}

form.form.licensefile #licenseid {
    width: 150px;
}

form.form.newsletter label.radio {
    margin-right: 30px;
}

form.form.newsletter input[type="radio"] {
    vertical-align: text-bottom;
}

form.form.newsletter div.radiooptions {
    padding: 5px;
    width: 100%;   
}

form.form.newsletter div.radiooptions span {
    white-space: nowrap;
}

form.form.exchange .filedata {
    margin-left: 0px;
    margin-right: 20px;
    padding: 3px 5px;
    display: table-cell;
}

form.form.exchange .info {
    margin-top: 20px;
}

form.form.exchange input[type="text"] {
    width: 270px;
}

form.form.exchange .filedata.error {
    height: 50px;
}

form.form.exchange .filedata .errormsg {
    padding: 5px;
    display: none;
}

form.form.exchange .filedata.error .errormsg {
    display: block;
}

form.form span.error {
    color: #f58234;
}

span.cancel {
    cursor: pointer;
    margin-left: 10px;
    color: red;
}

a.button {
    border: none;
    background-color: #f58234;
    color: white;
    font-size: 1.1em;
    padding: 5px 20px;
}

.dropzone_full {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100vw;
    height: 100vh;
    display: none;
    z-index: 1000;
    background-color: rgba(0, 0, 0, 0.5);
}

div.download {
    overflow: hidden;
    width: 100%;
    height: 500px;
}

div.download iframe {
    border: none;
    width: 100% !important;
    height: 100% !important;
}

div.download_vtd {
    display: inline-block;
    background-color: #f58234;
    padding: 5px 20px;
    color: white;
    font-weight: bold;
    font-size: 1.2em;
}

div.download_vtd span { 
    display: block;
    font-size: 0.7em;
    font-weight: normal;
}

div.otherversions {
    padding-top: 10px;
    font-size: 0.7em;
    cursor: pointer;
}

ul.select_otherversions {
    display: none;
    margin-top: 5px;
    background-color: #eee;
    padding-top: 5px;
    padding-bottom: 5px;
}
