@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400&display=swap');

/* common.css (start) */

.left { text-align: left !important; }
.center { text-align: center !important; }
.right, input.number, input.small-number, input.year { text-align: right !important; }
.justify { text-align: justify !important; }
.top { vertical-align: top !important; }
.middle { vertical-align: middle !important; }
.bottom { vertical-align: bottom !important; }

.float-left { float: left !important; }
.float-right { float: right !important; }
.float-clear { clear: both !important; }

.truncated { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.clearfix:before, .clearfix:after { content: ' '; display: table; clear: both; zoom: 1; }

.linethrough { text-decoration: line-through !important }

.icon { text-align: center; vertical-align: middle; }
.icon img { display: block; margin: auto; }

.nowrap { white-space: nowrap !important; }
.nomargin { margin: 0 !important; }
.nopad { padding: 0 !important; }
.noborder { border: 0 !important; }
.nobg { background: none !important; }

.inline { display: inline !important; }
.block { display: block !important; }
.inline-block { display: inline-block !important; vertical-align: top; }

.table, div.data { display: table; }
.table-row, div.data > div { display: table-row; }
.table-cell, div.data > div > div { display: table-cell; }

.lighter { opacity: .75; }
.light { opacity: .6; }
.superlight { opacity: .125; }

.superscript { position: relative; top: -0.3em; font-size: 90%; }

.uppercase { text-transform: uppercase; }
.lowercase { text-transform: lowercase; }

.monospace { font-family: monospace, monospace; }

.hidden { display: none; }
.invisible { visibility: hidden; }

.absolute { position: absolute !important; }
.fixed { position: fixed !important; }
.relative { position: relative !important; }

.hand { cursor: pointer; }
.noselect { user-select: none; }

.fullwidth { width: 100% !important; }
.fullheight { height: 100% !important; }
.autowidth { width: auto !important; }
.autoheight { height: auto !important; }

.pad-1 { padding: 1em !important; }
.pad-2 { padding: 2em !important; }

.mrg-1 { margin: 1em !important; }
.mrg-2 { margin: 2em !important; }

div { box-sizing: border-box; }

.curved { border-radius: 7px; }

.show-960, .show-640, .show-414, .show-320 { display: none; }

button, input.button { cursor: pointer; appearance: none; }

@media only screen and (max-width: 960px) { .show-960 { display: block !important; } .hide-960 { display: none !important; } }
@media only screen and (max-width: 640px) { .show-640 { display: block !important; } .hide-640 { display: none !important; } }
@media only screen and (max-width: 414px) { .show-414 { display: block !important; } .hide-414 { display: none !important; } }
@media only screen and (max-width: 320px) { .show-320 { display: block !important; } .hide-320 { display: none !important; } }

@media print { .noprint { display: none; } }

/* common.css (end) */

body, html { width: 100%; margin: 0; padding: 0; background-color: #fff; position: relative; }
body { font-family: 'Roboto', sans-serif; text-size-adjust: 100%; }
body, p, div { font-size: 100%; }

body, p { color: #111; }
h1 { font-weight: 700; }
h2 { font-weight: 500; }
h3 { font-weight: 400; }
a { text-decoration: none; }
hr { height: 1px; border: 0; border-bottom-width: 1px; border-bottom-style: solid; border-color: #ddd; box-sizing: content-box; -moz-box-sizing: content-box; }

.small { font-size: .8em !important; }
.smaller { font-size: .9em !important; }
.larger { font-size: 1.25em !important; }
.large { font-size: 1.5em !important; }

.normal { font-weight: 400 !important; }
.stronger { font-weight: 500 !important; }
.strong, strong, b { font-weight: 700 !important; }
.em { font-style: italic; }
.underline { border-bottom: 1pt inherit solid; }

/*
#app-header
	#app-header-main
	#app-header-menu -> #app-overlay-menu
#app-main
#app-footer
( .app-content-area defines content boundaries )
*/

/* Main area definition (start) */
div#app-header { width: 100%; }
div#top-blank { height: 0; background-color: #f2f2f2; }
/* div#app-main { width: 100%; } */
div#app-footer { padding: 1em; text-align: center; }
div.app-content-area { width: 1200px; padding: 1em 2em; margin: 0 auto; }
/* Main area definition (end) */

/* App header (start) */

div#app-header { background-color: #f2f2f2; z-index: 10; }
div#app-header-main { text-align: center; vertical-align: middle; width: 100%; position: relative; }
div#app-header-main span#app-header-overlay-switch { position: absolute; left: 0; top: 15%; }
div#app-header-main span#app-header-identity a { font-size: 2.25em; color: #545454; }
div#app-header-main span#app-header-lang-switch { position: absolute; right: 0; top: 25%; }
div#app-header-main span#app-header-identity img { height: 100px; }

div#app-header-menu { text-align: center; padding-bottom: .5em; }
div#app-header-menu a.menu-item { font-size: 1.2em; font-weight: 400; color: #525252; }
div#app-header-menu a.menu-item.active { font-weight: 700; color: #8b0000; }
div#app-header-menu span.sep { padding: 0 .5em; }

div#app-overlay-menu { display: none; position: fixed; top: 85px; width: 100%; background-color: #f5f5f5; padding: 2.5em 1em 5em 1em; z-index: 1000; }
div#app-overlay-menu a.menu-item { display: block; color: #232323; padding: .5em; border-bottom: 1px #ddd solid; }
div#app-overlay-menu a.menu-item.active { font-weight: 700; color: #8b0000; }
div#app-overlay-menu span.sep { display: none; }

/* App header (end) */

/* App main (start) */

div#app-main p { line-height: 1.5em; }
div#app-main a { font-weight: 700; color: #8b0000; }

/* App main (end) */

/* App footer (start) */

div#app-footer a { font-weight: 700; color: inherit; }

/* App footer (end) */

p, li { line-height: 1.5em; }

div#app-main div.app-content-area { background-color: #fff; }
div#app-main a { font-weight: 500; color: #d86500; }

div.product-box { display: inline-block; padding: 1em; width: 300px; margin: 2em; text-align: center; vertical-align: top; }
div.product-box img { display: block; width: 200px; margin: 1em auto; }

div.supplier-box { padding: .5em 0 .25em 0; border-bottom: 1px #ccc solid; }
div.supplier-box img { display: block; max-width: 275px; margin-top: 1.5em; }
div.supplier-box a { font-weight: 700; color: #2d5194 !important; }

img#main-product-img { max-width: 400px; max-height: 400px; }

/* Form styles (start) */
form label { display: block; margin: 1em 0 .5em .2em; }
form .form-value { margin-bottom: 1em; }
form input.text, form textarea { font-size: 1em; color: #333; width: 400px; border: 1px #ccc solid; padding: .5em; }
form select { font-family: 'Roboto', sans-serif; font-size: 1em; color: #333; border: 1px #ccc solid; padding: .5em; }
form textarea { font-family: 'Roboto', sans-serif; width: 400px; }
button, .button { font-size: 1em; font-family: 'Roboto', sans-serif; padding: .4em 1em; border: none; white-space: nowrap; }
.action-button { background-color: #a45857; color: #fff; }
form .invalid-input { background-color: #f1f1f1 !important; }
div.form-error-msg { font-weight: 700; font-size: .9em; color: #7a4338; margin: .5em 0 .5em .2em; }
/* Form styles (end) */

/* Operation result (start) */
div.op-result-success, div.op-result-error, div.op-result-warning, div.op-result-info { padding: .5em 1em; white-space: normal; }
div.op-result-success { color: black; background-color: #e3efd6; }
div.op-result-error { color: white; background-color: #a32e1c; }
div.op-result-warning, .warning { color: #bc79a1 !important; background-color: #f1dede !important; }
div.op-result-info { color: #333; background-color: #fcdf98; }
/* Operation result (end) */

span#company-statement {
	font-weight: 700; font-size: 2em; color: white; text-shadow: 5px 5px #000000;
	position: absolute; bottom: 20px; left: 20px; z-index: 1000;
}

@media only screen and (max-width: 1200px) {
	div.app-content-area { width: 100%; }
}

@media only screen and (max-width: 960px) {
	div.app-content-area { padding: 1em 1em !important; }
}

@media only screen and (max-width: 640px) {
	div#app-header { position: fixed; overflow: hidden; top: 0; left: 0; z-index: 9999; border-bottom: 1px #ccc solid; }
	div#app-header div.app-content-area { padding: .25em 1em !important; }
	div#top-blank { height: 70px; }
	input.text { width: 96%; }
	div#app-header-main span#app-header-identity img { height: 60px !important; }
	span#company-statement { font-size: 1.5em; left: 10px; bottom: 10px; }
}

@media only screen and (max-width: 414px) {
	form input.text, form textarea { width: 90%; }
	span#company-statement { font-size: 1em; }
	img#main-product-img { max-width: 90%; }
	form input.text, form textarea { width: 90%; }
}

/* Plugin CSS */
.rslides { position: relative; list-style: none; overflow: hidden; width: 100%; padding: 0; margin: 0; }
.rslides li { backface-visibility: hidden; -webkit-backface-visibility: hidden; position: absolute; display: none; width: 100%; left: 0; top: 0; }
.rslides li:first-child { position: relative; display: block; float: left; }
.rslides img { display: block; height: auto; float: left; width: 100%; border: 0; }
