/* BODY */
body { background: #fff; color: rgba(0,0,0,0.5); font-family: 'Open Sans', sans-serif; font-size: 14px; margin: 0; padding: 0; }
form { display: inline; margin: 0; padding: 0; }
fieldset { border: none; margin: 0; outline: 0; padding: 0; }
article, section, nav, header, footer { display: block; }
.article, .section { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; display: block; margin: 0 auto; overflow: visible; position: relative; text-align: left; width: 100%; }

/* ANCHOR */
a.active { cursor: default; }
.click { cursor: pointer; }

/* ALIGN */
.align-center { text-align: center !important; }
.align-left { text-align: left !important; }
.align-right { text-align: right !important; }
.align-bottom { vertical-align: bottom !important; }
.align-middle { vertical-align: middle !important; }
.align-top { vertical-align: top !important; }

/* IMAGE */
.image { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; display: block; overflow: visible; position: relative; text-align: center; width: 100%; }
.image img { border: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; display: block; margin: 0 auto; padding: 0; width: 100%; }
.image.large img { max-width: 480px; }
.image.small img { max-width: 240px; }
.image.xsmall img { max-width: 160px; }
.image.circle img { border-radius: 50%; }
.image.border img { background: #fff; box-shadow: 0 0 10px rgba(0,0,0,0.25), 0 0 0 1px rgba(0,0,0,0.1); padding: 20px; }

/* ICON */
.icon { display: block; font-family: 'Play', sans-serif; font-size: 14px; font-weight: bold; line-height: 20px; min-height: 30px; position: relative; text-decoration: none; text-transform: uppercase; width: 100%; }
.icon.icon-only { font-size: 0; width: 40px; }
.icon.icon-left { padding: 10px 0 0 50px; }
.icon.icon-right { padding: 10px 50px 0 0; }
.icon:before { background-color: #004080; background-position: 50% 50%; background-repeat: no-repeat; border-radius: 50%; box-shadow: inset 0 20px 20px -20px rgba(255,255,255,0.5); content: ''; display: block; height: 40px; left: 0; position: absolute; top: 0; width: 40px; }
a.icon:hover:before { background-color: #002040; }
span.icon:before { background-color: rgba(0,0,0,0.5); }
.icon-facebook:before { background-image: url(../asset/icon-facebook.png); }
.icon-linkedin:before { background-image: url(../asset/icon-linkedin.png); }
.icon-twitter:before { background-image: url(../asset/icon-twitter.png); }
.icon-blog:before { background-image: url(../asset/icon-blog.png); }
.icon-hamburger:before { background-image: url(../asset/icon-hamburger.png); }
.icon-next:before { background-image: url(../asset/icon-next.png); }
.icon-prev:before { background-image: url(../asset/icon-prev.png); }
.icon-up:before { background-image: url(../asset/icon-up.png); }
.icon-down:before { background-image: url(../asset/icon-down.png); }
.icon-document:before { background-image: url(../asset/icon-document.png); }
.icon-email:before { background-image: url(../asset/icon-email.png); }
.icon-link:before { background-image: url(../asset/icon-link.png); }

/* BUTTON */
.button { border: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; display: block; font-family: 'Play', sans-serif; font-size: 14px; font-weight: bold; height: 40px; line-height: 40px; margin: 0; overflow: hidden; padding: 0 10px; position: relative; text-align: center; text-decoration: none; text-transform: uppercase; } 
.button-strong { background-color:  #004080; box-shadow: inset 0 20px 20px -20px rgba(255,255,255,0.5); color: #fff; }
.button-strong:hover { background-color: #002040; color: #fff; }
.button-weak { background-color: #fff; box-shadow: inset 0 0 0 1px rgba(0,0,0,0.25), inset 0 -20px 20px -20px rgba(0,0,0,0.25); color: rgba(0,0,0,0.5); }
.button-weak:hover { background-color: #fff; box-shadow: inset 0 0 0 1px rgba(0,0,0,0.5), inset 0 -20px 20px -20px rgba(0,0,0,0.5); color: rgba(0,0,0,0.75); }
.button.wide { min-width: 160px; }
.button.narrow { min-width: 80px; }

/* NORMAL */
.normal-title { text-align: center; }
.normal-title h1 { color: #004080; font-size: 28px; font-family: 'Play', sans-serif; font-weight: bold; line-height: 40px; margin: 20px 0 0 0; text-transform: uppercase; }
.normal-title p { font-family: 'Courgette', sans-serif; font-size: 18px; line-height: 1.5em; margin: 5px 0 0 0; }

.normal-text { font-size: 14px; text-align: left; }
.normal-text h1 { color: rgba(0,0,0,0.75); font-size: 24px; font-family: 'Play', sans-serif; font-weight: bold; line-height: 1.25em; margin: 20px 0 0 0; text-transform: uppercase; }
.normal-text h2 { color: rgba(0,0,0,0.75); font-size: 18px; line-height: 1.25em; margin: 20px 0 0 0; }
.normal-text p { line-height: 1.5em; margin: 20px 0 0 0; }
.normal-text ul { list-style-type: none; margin: 20px 0 0 0; padding: 0; }
.normal-text ul li { line-height: 1.5em; list-style-type: none; margin: 5px 0 0 0; padding: 0 0 0 20px; position: relative; }
.normal-text ul li:before { background: #c0c0c0; content: ''; height: 5px; left: 0; position: absolute; top: 8px; width: 5px; }
.normal-text ol { counter-reset: counter; list-style-type: none; margin: 20px 0 0 0; padding: 0; }
.normal-text ol li { line-height: 1.5em; list-style-type: none; margin: 5px 0 0 0; padding: 0 0 0 20px; position: relative; }
.normal-text ol li:before { color: rgba(0,0,0,0.75); content: counter(counter)'.'; counter-increment: counter; font-weight: bold; left: 0; position: absolute; top: 0; }
.normal-text a { color:  #004080; cursor: pointer; }
.normal-text a:hover { color: #002040; }
.normal-text strong { color: rgba(0,0,0,0.75); }
.normal-text .image { margin: 20px 0 0 0; }
.normal-text .icon { margin: 20px 0 0 0; }
.normal-text .button { margin: 20px 0 0 0; }
.normal-text table { border-collapse: collapse; border-spacing: 0; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; line-height: 20px; margin: 20px 0 0 0; width: 100%; }
.normal-text table th { background: rgba(0,0,0,0.05); border: none; border-bottom: 1px solid rgba(0,0,0,0.25); border-top: 1px solid rgba(0,0,0,0.25); color: rgba(0,0,0,0.75); padding: 5px 10px; text-align: left; vertical-align: top; }
.normal-text table td { border: none; border-bottom: 1px solid rgba(0,0,0,0.25); border-top: 1px solid rgba(0,0,0,0.1); padding: 5px 10px; text-align: left; vertical-align: top; }

.normal-box { padding: 0 40px; }
.normal-width { max-width: 960px; }
.normal-width.narrow { max-width: 720px; }
.normal-width.xnarrow { max-width: 480px; }
.normal-section { padding-bottom: 20px; }
.normal-section.border { border-bottom: 1px dotted rgba(0,0,0,0.25); border-top: 1px dotted rgba(0,0,0,0.25); }
.normal-section.border-bottom { border-bottom: 1px dotted rgba(0,0,0,0.25); }
.normal-section.border-top { border-top: 1px dotted rgba(0,0,0,0.25); }
.normal-section.box { box-shadow: 0 0 10px rgba(0,0,0,0.25), 0 0 0 1px rgba(0,0,0,0.1); }
.normal-section.box-bottom { box-shadow: 0 10px 10px -10px rgba(0,0,0,0.25), 0 0 0 1px rgba(0,0,0,0.1); }
.normal-section.box-top { box-shadow: 0 -10px 10px -10px rgba(0,0,0,0.25), 0 0 0 1px rgba(0,0,0,0.1); }
.normal-section.relate-top { padding-top: 0 !important; }
.normal-section.relate-bottom { padding-bottom: 20px !important; }
.normal-section.relate { padding-bottom: 20px !important; padding-top: 0 !important; }

/* INVERT */
.invert { background-color: #202020; }
.invert .normal-title h1, .invert .normal-title p { color: #fff !important; }
.invert .normal-title:after { background-image: url(../asset/invert-normal-title.png); }
.invert .normal-text, invert h1, .invert h2, .invert p, .invert ol li:before { color: #fff !important; }
.invert .normal-text ul li:before { background: rgba(255,255,255,0.5); }
.invert .icon { color: #fff !important; }
.invert .icon:before { background-color: transparent; box-shadow: inset 0 0 0 1px #fff; }
.invert a.icon:hover:before { background-color: transparent; box-shadow: inset 0 0 0 2px #fff; }
.invert span.icon:before { background-color: transparent; }

/* MENU */
.menu, .menu ul { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; overflow: hidden; padding: 0; position: relative;  }
.menu li, .menu dt, .menu dd { background: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; line-height: normal; list-style-type: none; margin: 0; overflow: hidden; padding: 0; position: relative; }

/* MENU-SIDE */
.menu-side { border-bottom: 1px dotted rgba(0,0,0,0.25); margin: 20px 0 0 0; } 
.menu-side li { border-top: 1px dotted rgba(0,0,0,0.25); display: block; text-align: center; width: 100%; }
.menu-side li a { color:  #004080; display: block; font-family: 'Play', sans-serif; font-size: 14px; font-weight: bold; line-height: 20px; padding: 10px 0; text-decoration: none; text-transform: uppercase; width: 100%; }
.menu-side li a:hover { color: #002040; }
.menu-side li.active a { color: rgba(0,0,0,0.9); text-decoration: none; }

/* COLUMN */
.column { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; display: inline-block; font-size: 14px; overflow: visible; position: relative; vertical-align: top; width: 100%;  }
.column-left { float: left; }
.column-right { float: right; }
.column-33 { width: 33.3%; }
.column-50 { width: 50%; }
.column-66 { width: 66.7%; }

/* ROW */
.row { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; display: block; position: relative; width: 100%; }
.row-column { font-size: 0; text-align: center; }
.row-column:after { clear: both; content: ''; display: block; height: 0; width: 100%; }

/* ROW FIELD */
.row-field { font-size: 0; margin: 20px 0 0 0; text-align: left; }
.row-field + .row-field { margin: 10px 0 0 0; }
.row-field label { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; display: block; font-size: 14px; line-height: 20px; margin: 0; padding: 0; text-align: left; vertical-align: top; width: 100%; }
.row-field p.text-error { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; color: #e00000; display: block; font-family: 'Courgette', sans-serif; font-size: 14px; line-height: 20px; margin: 0; padding: 0; width: 100%; }
.row-field .field-text::-webkit-input-placeholder { color: #404040; opacity: 1; }
.row-field .field-text:-moz-placeholder { color: rgba(0,0,0,0.5); opacity: 1; }
.row-field .field-text::-moz-placeholder { color: rgba(0,0,0,0.5); opacity: 1; }
.row-field .field-text:-ms-input-placeholder { color: rgba(0,0,0,0.5); opacity: 1; }
.row-field .field-text { background: rgba(0,0,0,0.05); border: 1px solid rgba(0,0,0,0.25); box-shadow: inset 0 -40px 40px -40px #fff; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; color: rgba(0,0,0,0.5); display: block; font-family: 'Open Sans', sans-serif; font-size: 14px; height: 40px; margin: 0; max-width: 100%; padding: 10px; width: 100%; }
.row-field select.field-text { width: auto; }
@media screen and (-webkit-min-device-pixel-ratio:0) { .row-field select.field-text { background-image: url(../asset/field-select.png); background-position: 100% 50%; background-repeat: no-repeat; -moz-appearance: none; -webkit-appearance: none; padding-right: 40px; } }
.row-field .field-text:focus { border-color: rgba(0,0,0,0.5); }
.row-field .field-text.error { border-color: #e00000; }
.row-field .field-text.narrow { width: 50%; }
.row-field .field-text.wide { width: 100%; }
.row-field .field-text.short { height: 80px; }
.row-field .field-text.tall { height: 160px; }
.row-field .field-checkbox { display: inline-block; margin: 3px 0 0 0; }
.row-field .menu-checkbox { font-size: 0; margin: 10px 0 0 0; overflow: hidden; width: 100%; }
.row-field .menu-checkbox li { display: block; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0 0 0 24px; }
.row-field .menu-checkbox.inline li { display: inline-block; margin-right: 20px; }
.row-field .menu-checkbox.block li { width: 100%; }
.row-field .menu-checkbox .field-checkbox { float: left; margin: 3px 0 0 -24px; }
.menu-checkbox label.label { padding: 0 !important; width: auto !important; }

/* ROW BUTTON */
.row-button { text-align: center; }
.row-button .button { display: inline-block; margin: 20px 10px 0 10px; }

/* ROW PAGINATION */
.row-pagination { border-bottom: 1px dotted rgba(0,0,0,0.25); border-top: 1px dotted rgba(0,0,0,0.25); margin: 20px 0 0 0; overflow: hidden; padding-bottom: 5px; min-height: 40px; }
.row-pagination p { color: #404040; float: left; line-height: 20px; margin: 5px 0 0 0; padding: 10px; }
.row-pagination ul.menu-pagination { float: right; }
.row-pagination ul.menu-pagination li { float: left; margin: 5px 0 0 0; }
.row-pagination ul.menu-pagination li a { color:  #004080; float: left; font-weight: bold; line-height: 40px; text-align: center; text-decoration: none; width: 40px; }
.row-pagination ul.menu-pagination li a:hover { color: #002040; }
.row-pagination ul.menu-pagination li.active a { background:  #004080; border-radius: 50%; color: #fff !important; }

/* ROW BREADCRUMB */
.row-breadcrumb { font-size: 0; }
.row-breadcrumb a { border-right: 1px dotted #c0c0c0; display: inline-block; line-height: 20px; margin: 30px 10px 0 0; padding: 0 10px 0 0; }
.row-breadcrumb h1 { display: inline-block; }

@media screen and (max-width: 959px) {	
.image.border img { padding: 10px; }
}


@media screen and (max-width: 719px) {	
.image.large img { max-width: 320px; }
.image.small img { max-width: 160px; }
.image.xsmall img { max-width: 120px; }
.column { width: 100% !important; }
}
@media screen and (max-width: 479px) {	
.normal-title h1 { font-size: 24px; }
.normal-box { padding: 0 20px; }
.row-pagination p { padding-left: 0; }
}
@media screen and (min-width: 720px) {	
.normal-section { padding-top: 20px; padding-bottom: 40px; }
.row-field label.narrow { display: inline-block; min-height: 40px; padding: 10px 10px 0 0; text-align: right; width: 25%; }
.row-field label.wide { display: inline-block; min-height: 40px; padding: 10px 10px 0 0; text-align: right; width: 50%; }
.row-field label.narrow + .field + p.text-error, .row-field label.narrow + .menu + p.text-error { padding-left: 25%; }
.row-field label.wide + .field + p.text-error, .row-field label.wide + .menu + p.text-error { text-align: center; }
.row-field .field-text { display: inline-block; }
.row-field .field-text.narrow { width: 25%; }
.row-field .field-text.wide { width: 50%; }
.row-field .field-checkbox { margin-top: 13px; }
.row-field .menu-checkbox { display: inline-block; width: 75%; }

.row-columnleft:before { background: rgba(0,0,0,0.25); content: ''; display: block; height: 100%; left: 33%; position: absolute; top: 20px; width: 1px; }
.row-columnright:before { background: rgba(0,0,0,0.25); content: ''; display: block; height: 100%; position: absolute; right: 33%; top: 20px; width: 1px; }
}
@media screen and (min-width: 960px) {	
.normal-section.separate-top:not(:first-child), .normal-section.separate:not(:first-child) { padding-top: 60px; }
.normal-section.separate-top.invert, .normal-section.separate.invert { padding-top: 60px !important; }
.normal-section.separate-bottom:not(:last-child), .normal-section.separate:not(:last-child)  { padding-bottom: 80px; }
.normal-section.separate-bottom.invert, .normal-section.separate.invert  { padding-bottom: 80px !important; }
}
@media screen and (min-width: 1200px) {	
.normal-width.wide { max-width: 1200px; }
}/* MISSING CSS CLASSES FOR EXACT CONGRUENCE */

/* COLUMN LAYOUT EXTENSIONS */
.column-left { float: left; }
.column-right { float: right; }

/* ROW LAYOUT EXTENSIONS */
.row-columnleft .column:first-child { float: left; }
.row-columnright .column:first-child { float: right; }
.row-columnleft .column:last-child { float: right; }
.row-columnright .column:last-child { float: left; }

/* SECTION TITLE */
.section-title { background: transparent; border-bottom: none; border-top: none; overflow: visible; padding: 40px 0 0 0; position: relative; text-align: center; width: 100%; }
.section-title h1 { background: #fff; color: rgba(0,0,0,0.75); font-family: 'Play', sans-serif; font-size: 18px; font-weight: bold; line-height: 40px; margin: 0 auto; padding: 0 20px; text-transform: uppercase; }

/* MENU EXTENSIONS */
.menu-side { list-style: none; margin: 0; padding: 0; }
.menu-side li { border-top: 1px dotted rgba(0,0,0,0.25); display: block; margin: 0; padding: 0; }
.menu-side li:first-child { border-top: none; }
.menu-side li a { color: rgba(0,0,0,0.5); display: block; font-size: 14px; line-height: 20px; padding: 10px 0; text-decoration: none; }
.menu-side li a:hover { color: rgba(0,0,0,0.75); }
.menu-side li.active a { color: rgba(0,0,0,0.9); font-weight: bold; }

.menu-pagination { display: inline-block; font-size: 0; list-style: none; margin: 0; padding: 0; }
.menu-pagination li { display: inline-block; margin: 0 5px 0 0; }
.menu-pagination li a { background: rgba(0,0,0,0.1); color: rgba(0,0,0,0.5); display: block; font-size: 14px; line-height: 30px; padding: 0 10px; text-decoration: none; }
.menu-pagination li a:hover { background: rgba(0,0,0,0.25); color: rgba(0,0,0,0.75); }
.menu-pagination li.active a { background: #004080; color: #fff; }

.menu-checkbox { list-style: none; margin: 0; padding: 0; }
.menu-checkbox li { display: block; margin: 0 0 10px 0; padding: 0; }
.menu-checkbox input { margin: 0 10px 0 0; }

/* ROW EXTENSIONS */
.row-quote { margin: 0; padding: 0; position: relative; }
.row-quote p { font-family: 'Courgette', sans-serif; font-size: 18px; line-height: 1.5em; margin: 20px 0 0 0; }

.row-blog { border: 1px solid rgba(0,0,0,0.25); margin: 60px 0 0 0; overflow: visible; padding: 30px 20px 20px 20px; position: relative; }
.row-blog:before { background: #fff; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0,0,0,0.25); content: ''; display: block; height: 100px; left: 50%; margin: 0 0 0 -50px; position: absolute; top: -50px; width: 100px; }
.row-blog:after { background: #fff; content: ''; display: block; height: 51px; left: 50%; margin: 0 0 0 -60px; position: absolute; top: 0; width: 120px; }
.row-blog p.text-date { background: #004080; border-radius: 50%; color: #fff; height: 80px; left: 50%; margin: 0 0 0 -40px; position: absolute; text-align: center; text-transform: uppercase; top: -40px; width: 80px; z-index: 1; }
.row-blog p.text-date .text-day { display: block; font-size: 32px; font-weight: 800; line-height: 40px; padding: 5px 0 0 0; }
.row-blog p.text-date .text-month { display: block; font-size: 14px; font-weight: bold; line-height: 20px; }
.row-blog h1 { font-family: 'Courgette', sans-serif; font-size: 18px; font-weight: normal; line-height: 1.5em; text-transform: none; }

.row-button { margin: 20px 0; text-align: center; }

.row-field { margin: 20px 0; }
.row-field label { color: rgba(0,0,0,0.75); display: block; font-weight: bold; margin: 0 0 5px 0; }
.row-field input, .row-field textarea, .row-field select { background: #fff; border: 1px solid rgba(0,0,0,0.25); color: rgba(0,0,0,0.75); font-family: 'Open Sans', sans-serif; font-size: 14px; padding: 10px; width: 100%; }
.row-field input:focus, .row-field textarea:focus, .row-field select:focus { border-color: #004080; outline: none; }

.row-pagination { margin: 20px 0; text-align: center; }
.row-pagination p { color: rgba(0,0,0,0.5); font-size: 12px; margin: 0 0 10px 0; }

/* RESPONSIVE ADJUSTMENTS */
@media screen and (min-width: 960px) {
    .column-left { margin-right: 20px; }
    .column-right { margin-left: 20px; }
    .row-columnleft .column:first-child { margin-right: 20px; margin-left: 0; }
    .row-columnright .column:first-child { margin-left: 20px; margin-right: 0; }
}/* CORE MISSING LAYOUT CLASSES */

/* COLUMN LAYOUT */
.column-33 { width: 33.3%; }
.column-50 { width: 50%; }
.column-66 { width: 66.7%; }
.column-100 { width: 100%; }

/* SECTION BACKGROUND */
.section-background { overflow: hidden; padding-bottom: 40px; position: relative; }
.row-background { background-position: 50% 50%; background-repeat: no-repeat; background-size: cover; left: 0; min-height: 100%; position: absolute; top: 0; width: 100%; }
.row-background.animatein-background { padding: 66.7% 0 0 0; }
.section-background.box { border-bottom: 20px solid #fff; border-top: 20px solid #fff; }
.section-background.box-bottom { border-bottom: 20px solid #fff; }
.section-background.box-top { border-top: 20px solid #fff; }
.section-background.invert { background-color: #004080; color: #fff; }
.section-background.tall { min-height: 480px; }

/* WIDTH MODIFIERS */
.narrow { max-width: 600px !important; }
.wide { max-width: 1200px !important; }
.xnarrow { max-width: 400px !important; }

/* ROW MODIFICATIONS */
.row-column { display: block; overflow: hidden; }
.row-column .column { display: block; float: left; }

@media screen and (max-width: 959px) {
    .row-column .column { float: none; width: 100% !important; }
    .section-background { border-bottom-width: 10px; border-top-width: 10px; }
}

@media screen and (min-width: 960px) {
    .row-columnleft:before { background: rgba(0,0,0,0.25); content: ''; display: block; height: 100%; left: 33%; position: absolute; top: 20px; width: 1px; }
    .row-columnright:before { background: rgba(0,0,0,0.25); content: ''; display: block; height: 100%; position: absolute; right: 33%; top: 20px; width: 1px; }
}