body {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    background-color: #FFFFFF;
    font-size: 14px;
    margin: 0;
}

* {
    box-sizing: border-box;
}

/* div */
/*div { 
   border: 1px solid green;
}*/
div.row {  /* main div with limited width */
    margin: auto;
    width: 95%;
    max-width: 1100px;
    min-width: 370px;
    /*border: 1px solid blue;*/
}
div.row::after {  /* css-trick for main div */
    content: "";
    clear: both;
    display: block;
}
div.ribbon { 
    background-color: #333333; 
    min-width: 370px;
    padding-top: 1px; 
    padding-bottom: 1px;
}
div.menu {
    width: 50%; 
    display: inline-block;
    vertical-align: top;
    padding-right: 12px;
}
div.em {
    background-color: #F2F2F2;
    min-width: 370px;
}
div.modulehead {  /* module name */
    padding-left: 42px; 
    font-size: 150%; 
}
.w2l {  /* module color */
    padding-top: 5px; 
    padding-bottom: 5px;
    background-color: #2A579A;
}
.l2w {  /* module color */
    padding-top: 5px; 
    padding-bottom: 5px;
    background-color: #B7472A;
}
.m2e {  /* module color */
    padding-top: 7px; 
    padding-bottom: 7px;
    background-color: #217346;
}
.e2e {  /* module color */
    padding-top: 7px; 
    padding-bottom: 7px;
    background-color: #7719AA;
}
.imgshadow {  /* show fine images */
    float: left;
    max-width: 100%;
    margin: 1px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.display-big {  /* display on big screens only */
}
.display-small {  /* display on small screens only */
    display: none;
}

[class*="col-"] {  /* optimized for small screen: from x% to 100% */
    float: left;
    padding: 15px;
    margin: auto;
}
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}

/* p */
p { 
    font-size: 14px;
    color: #333333;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 0px;
    margin-right: 0px;
    /*border: 1px solid gray;*/
}
p.title {  
    font-size: 250%; 
    font-weight: normal;
    margin-top: 85px;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-right: 0px;
}
p.subtitle {  
    font-size: 100%; 
    font-weight: bold;
    margin-top: 0px;
    margin-bottom: 80px;
    margin-left: 0px;
    margin-right: 0px;
}
p.section {
    font-size: 250%;
    font-weight: normal;
    margin-top: 50px;
    margin-bottom: 50px;
    margin-left: 0;
    margin-right: 0;
}
p.subsection {
    font-size: 125%;
    font-weight: bold;
    margin-top: 2em;
    margin-bottom: 1em;
    margin-left: 0;
    margin-right: 0;
}
p.notes {
    font-size: 80%;
}
p.marker {  
    background-color: #EBEBEB;
    margin-top: 20px;
    margin-bottom: 10px;
    margin-left: 0;
    margin-right: 25%;
    padding: 5px;
}
p.wrn {
    color: #FDAD18;
    font-weight: bold;
}
p.module {  /* inside table, describing modules */
    margin-top: 20px;
    margin-bottom: 20px;
}
p.list { 
    margin-top: 10px;
    margin-bottom: 10px;
}
p.toppart{  /* top part, like img (top) with caption (bottom) */
    margin-bottom: 0;
}
p.bottompart{  /* bottom part, like img (top) with caption (bottom) */
    margin-top: 0;
}
p.ribbon { 
    width: 100%;
    margin-top: 7px;
    margin-bottom: -6px;
    font-size: 90%;
    text-align: justify; 
}
p.menuhead {
    font-size: 90%;
    margin-bottom: 0px;
    font-weight: bold;
}
p.menu { 
    font-size: 75%;
    margin-top: 15px;
    margin-bottom: 15px;
}
p.pricehead {  
    color: #FFFFFF;
    font-size: 125%; 
    margin: 5px;
}
p.copyright {
    font-size: 70%;
}

li.wide {    
}

/* span */
span.reg {  /* button REGISTER */
    display: inline-block;
    border-style: solid;
    border-width: 1px;
    border-color: #2A579A;
    background-color: #2A579A;    
    padding: 10px;
    margin: 10px;
}
span.trial {  /* empty button TRIAL */
    display: inline-block;
    border-style: solid;
    border-width: 1px;
    border-color: #2A579A;
    padding: 10px;
    margin: 10px;
}

/* tables */
/*table, th, td { 
   border: 1px solid red;
}*/
table { 
    font-size: 14px;
    border-spacing: 0; 
    padding: 0; 
    margin: 0; 
    text-align: left;  
}
table.shortcuts {  /* block with main shortcuts */
    width: 100%; 
    text-align: center;
}
table.prod {  /* blocks with products */
    width: 100%; 
    text-align: center;
    padding: 30px;
    margin-bottom: 5px;
}
table.latestver {  /* line with the latest version */
    width:75%; 
    background-color: #EBEBEB;
    padding-left:5px;
}
table.price {  /* show prices */
    font-size: 90%;
    border-style: solid;
    border-width: 1px;
    border-color: #2A579A;
    border-collapse: collapse;
}

tr {    
    vertical-align: top;
}
tr.gui {  /* for img of GUI */ 
    vertical-align: middle;
}
tr.latestver {  /* line with the latest version */ 
    vertical-align: middle;
}
tr.price {  /* show prices */
    vertical-align: middle;
}
td.half-100 {  /* cell optimized for small screen: from 50% to 100% */ 
    width: 50%;
}
td.half-0 {  /* cell optimized for small screen: from 50% to 0% */
    width: 50%;
}
td.left-0 {  /* cell optimized for small screen: from small padding to 0 */
    padding-left: 15px;
}
td.right-0 {  /* cell optimized for small screen: from small padding to 0 */
    padding-right: 15px;
}
td.imgtitle {  /* for img of title */ 
    padding: 5px;
    vertical-align: middle;
    text-align:center; 
}
td.prodtxt {  /* products text */ 
    width: 66.66%;
}
td.prodimg {  /* products img */ 
    width: 33.33%;
    vertical-align: middle;
}
td.price {  /* show prices */
    padding: 5px;
    border-style: solid;
    border-width: 1px;
    border-color: #2A579A; 
}
td.pricemarker {  /* add marker to prices */
    background-color: #EBEBEB; 
}

/* links */
a {
    font-size: 100%;
    color: #4270C9;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

a.ribbon {  /* regular ribbon link */
    color: #FFFFFF; 
}
a.ribbon:hover {
    color: #B8B8B8;
    text-decoration: none;
}

a.ribbonact {  /* active ribbon link */
    color: #B8B8B8;
}
a.ribbonact:hover {
    color: #B8B8B8;
    text-decoration: none;
}

a.menu {
    color: #333333;
}

a.modulehead {  /* module link from table heading */
    color: #FFFFFF;
    display: block;
    width: 100%; 
}
a.modulehead:hover {
    color: #B8B8B8;
    text-decoration: none;
}

a.utilhead {  /* util link from table heading */
    color: #333333;
    display: block;
    width: 100%;
}
a.utilhead:hover {
    color: #000000;
    text-decoration: none;
}

img.module { 
    margin-right: 10px; 
    margin-top: 5px; 
    float: left;
}

/* small screen optimization */
@media only screen and (max-width: 768px) {
    [class*="col-"] {
        width: 100%;
    }
        
    td.half-100 {width: 100%;}
    td.half-0 {width: 0%;}
    td.left-0 {padding-left: 0;}
    td.right-0 {padding-right: 0;}
   
    .display-big {
        display: none;
    }
    
    div.display-small {
        display: block; 
    }
    
    span.display-small {
        display: inline; 
    }
    
    p.pricehead {  
        font-size: 110%; 
    }
    
    li.wide {
        margin: 20px;
    }
}

/* progressbar */
DIV.sidebartext {
position: relative;
padding-top: 1px;
padding-right: 5px;
padding-left: 5px;
padding-bottom: 1px;
cursor: hand;
background-color: #FFFFDD; 
}

fieldset {
    border: 0;
}

#progress_container {
	width: 300px; 
	height: 25px; 
	border: 1px solid #CCCCCC; 
	background-color:#EBEBEB;
	display: block; 
	/*margin:20px 0px 20px 20px; */
}

#progress_bar {
	position: relative; 
	height: 25px; 
	background-color: #F3631C; 
	width: 0%; 
	z-index:10; 
}

#progress_completed {
	font-size:12px; 
	z-index:40; 
	line-height:25px; 
	padding-left:10px; 
	color:#FFFFFF;
}