/* Top-level containers */
html { height: 100%; }

body { display: -webkit-box; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; height: 100%; }

.layout-container { display: -webkit-box; display: flex; -webkit-box-flex: 1; flex: 1 0; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; min-height: 100%; }

.layout-container > * { flex-shrink: 0; }

/* Header */
.layout-header { background-color: #e5e5e5; background-image: url("../img/header-bg.png"), url("../img/content-bg.png"); background-position: center bottom; background-repeat: no-repeat, repeat; background-size: 2600px, auto; position: relative; }

.region-header { margin: 0 auto; max-width: 960px; }

/* Content */
.layout-main { background-color: #f1f1f1; background-image: url("../img/content-bg.png"); background-position: center top; background-repeat: repeat; -webkit-box-flex: 1; flex-grow: 1; overflow: hidden; position: relative; }

.layout-main::before { background-color: #f1f1f1; content: ''; display: block; height: 100%; max-width: 100%; position: absolute; top: 0; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); width: 960px; }

.layout-content { position: relative; }

.block-core, .block-system, .block-user { margin: 0 auto; max-width: 960px; padding: 0 15px; }

.region-content-top .block-block-content, .region-content-top .block-core:not(.block-page-title-block):not(.block-local-tasks-block), .region-content-top .block-system:not(.block-mainpagecontent), .region-content-top .block-user, .region-content .block-block-content, .region-content .block-core:not(.block-page-title-block):not(.block-local-tasks-block), .region-content .block-system:not(.block-mainpagecontent), .region-content .block-user, .region-content-bottom .block-block-content, .region-content-bottom .block-core:not(.block-page-title-block):not(.block-local-tasks-block), .region-content-bottom .block-system:not(.block-mainpagecontent), .region-content-bottom .block-user { background-color: white; border: 1px solid #e0e0e0; margin-left: auto; margin-right: auto; max-width: 930px; padding: 15px; width: calc(100% - 30px); }

.messages { margin: 0 auto; max-width: calc(960px - 53px); position: relative; left: 4px; width: calc(100% - 53px); }

/* Footer */
.layout-footer { background-color: #015790; color: white; margin-top: auto; }

.layout-footer a { color: white; }

.region-footer { margin: 0 auto; max-width: 960px; }
