/* Respective Size Define

1200px or more
992px - 1199px		Space 207px, iPad Horizontal View.
768px - 991px		Space 223px, iPad Vertical View.
600px - 767px		Space 167px, Mobile Horizontal View.
480px - 599px		Space 119px
320px - 479px		Space 159px, Mobile Vertical View.
319px or below

*/

/*****************/
/***** Basic *****/
/*****************/

html, body { margin: 0; padding: 0; height: 100% }
body { background: #005a65; font-family: "Roboto", sans-serif }
h1, h2, h3, h4, h5, h6 { margin: 0 }
.section > .inside { margin: 0 auto; padding: 0 30px; max-width: 1140px }
.column-group { display: table; width: 100% }
.column-group > div { display: table-cell; vertical-align: middle }

@media (max-width: 767px) {
	.section > .inside { padding: 0 15px }
}

@keyframes fadein {
	from { opacity: 0 }
	to { opacity: 1 }
}

/******************/
/***** Header *****/
/******************/

.header { position: fixed; z-index: 10; top: 0; width: 100%; background: #fff; box-shadow: 0 2px 2px rgba(0,0,0,0.2) }
.header .menu { display: none; position: absolute; top: 30px; right: 28px; width: 40px }
.header .menu a { display: inline-block; padding: 8px 12px; border: solid 1px #ddd; border-radius: 3px; cursor: pointer }
.header .menu a:hover { background: #f0f0f0 }
.header .column-group > div { height: 100px }
.header .logo { width: 280px }
.header .logo a { display: block; height: 80px; background: url("../img/logo-capimize.svg") no-repeat center center; background-size: cover }
.header .slogan { font-size: 16px; font-weight: 300; line-height: 1.3; color: #777 }
.header .slogan span { white-space: nowrap }
.header .demo { padding-left: 10px; padding-right: 15px; text-align: right }
.header .demo .fa { color: #00b2ba }
.header .demo span { display: inline-table; margin-top: -12px; font-weight: 300; font-size: 30px; color: #777; text-align: center; white-space: nowrap }
.header .demo div { margin-bottom: 3px; font-weight: 500; font-size: 16px; color: #00b2ba; text-transform: uppercase; letter-spacing: 4px }

@media (max-width: 991px) {
	.header .demo span { font-size: 3.02vw }
	.header .demo div { font-size: 1.61vw }
}

@media (max-width: 767px) {
	.header { position: absolute }
	.header .logo { width: 260px }
	.header .menu { display: block }
	.header .slogan { padding-right: 60px; font-size: 16px }
	.header .demo { display: block; position: absolute; top: 100px; left: 0; right: 0; padding: 0; height: 60px !important; background: white; text-align: center; box-shadow: 0 2px 2px rgba(0,0,0,0.2) }
	.header .demo span { margin-top: 0; font-size: 28px }
	.header .demo div { float: left; margin-top: 8px; margin-right: 10px; font-size: 15px }
}

@media (max-width: 599px) {
	.header .column-group { display: block; padding-top: 10px }
	.header .column-group > div { display: block }
	.header .logo { height: auto !important }
	.header .slogan { margin-top: -10px; padding-right: 0; height: auto !important; line-height: 50px; text-align: center }
	.header .demo { position: initial; height: 80px !important; box-shadow: none }
	.header .demo span { display: block; margin: 0 auto; padding-top: 10px; max-width: 400px/*; border-top: solid 1px #eee*/ }
	.header .demo div { float: none; margin-top: 0; margin-right: 0; letter-spacing: 3px }
}

@media (max-width: 479px) {
	.header .column-group { padding-top: 5px }
	.header .logo { width: 250px }
	.header .menu { top: 25px; right: 23px }
	.header .slogan { font-size: 3.4vw; line-height: 45px }
	.header .demo { height: 70px !important }
	.header .demo span { margin-left: 3vw; margin-right: 3vw; font-size: 23px }
	.header .demo div { font-size: 12px; letter-spacing: 2px }
}

@media (max-width: 319px) {
	.header .logo { width: 68.75vw }
	.header .logo a { background-size: contain }
	.header .slogan { margin-top: -5px; height: 25px !important; line-height: 1.3 }
	.header .demo span { font-size: 7.18vw }
	.header .demo div { font-size: 3.75vw; letter-spacing: 0.62vw }
}

/**********************/
/***** Navigation *****/
/**********************/

.nav { position: fixed; z-index: 10; top: 100px; width: 100%; background: white; border-top: solid 1px #f3f3f3; box-shadow: 0 2px 2px rgba(0,0,0,0.2) }

.nav-menu, .nav-menu ul { margin: 0; padding: 0; list-style-type: none; font-weight: 300 }
.nav-menu { display: table; height: 50px }
.nav-menu > li { float: left }
.nav-menu > li > a { padding: 0 30px; line-height: 50px }
.nav-menu > li > ul { position: absolute }
.nav-menu > li > ul ul { float: right }
.nav-menu ul { visibility: hidden; position: absolute; z-index: 1; background: white; box-shadow: 0 2px 2px rgba(0,0,0,0.2) }
.nav-menu li:hover > ul { visibility: visible; animation-name: fadein; animation-duration: 0.5s }
.nav-menu li li a:before { content: "\f054"; margin-right: 5px; font: 300 14px FontAwesome; color: #ccc }
.nav-menu a { display: block; padding: 20px 30px; background: #fff; color: #777; text-decoration: none }
.nav-menu a:hover { background: #f6f6f6; color: #00b2ba }
.nav-menu a:hover:before { color: #00b2ba }
.nav-menu a.active { box-shadow: inset 0 2px 0 #00b2ba; color: #005a65 }

.nav .portal { display: block; float: right; margin: -65px 15px 0 0; padding: 15px 25px; background: white; border: solid 1px #ddd; border-radius: 50px; font: 400 16px Roboto; color: #005a65; text-decoration: none }
.nav .portal:hover { color: #00b2ba }

@media (max-width: 991px) {
	.nav-menu > li > a { padding: 0 3.02vw }
	.nav .portal { padding: 1.51vw 2.52vw; font-size: 1.61vw }
}

@media (max-width: 767px) {
	.nav { display: none; position: absolute; top: 160px }
	.nav .inside { padding: 0 }
	.nav-menu { display: block; height: auto }
	.nav-menu > li { float: none }
	.nav-menu > li:first-child { border: none }
	.nav-menu > li > a { padding: 15px 15px 15px 30px; line-height: initial }
	.nav-menu > li > ul { position: initial }
	.nav-menu li:hover > ul { animation-name: none }
	.nav-menu a { padding: 15px 15px 15px 30px }
	.nav-menu a.active { box-shadow: inset 5px 0 0 #00b2ba }
	.nav-menu ul { visibility: visible; box-shadow: none }
	.nav-menu li { border-top: solid 1px #eee }
	.nav .portal { display: table; float: none; margin: 10px auto 20px auto; padding: 11px 22px; font-size: 18px }
}

@media (max-width: 599px) {
	.nav { top: 210px }
}

@media (max-width: 479px) {
	.nav { top: 185px }
	.nav .portal { padding: 10px 21px; font-size: 16px }
}

@media (max-width: 319px) {
	.nav { top: 170px }
	.nav-menu { margin: 0 }
	.nav .portal { padding: 3.12vw 6.56vw; font-size: 5vw }
}

/***********************/
/***** Top Spacing *****/
/***********************/

.top-spacing { background: white; height: 150px }

@media (max-width: 767px) {
	.top-spacing { height: 160px }
}

@media (max-width: 599px) {
	.top-spacing { height: 210px }
}

@media (max-width: 479px) {
	.top-spacing  { height: 190px }
}

@media (max-width: 319px) {
	.top-spacing { height: 170px }
}

/*****************/
/***** Title *****/
/*****************/

.title { background: #00b2ba }
.title > div { margin: auto; padding: 60px; max-width: 1080px }
.title h1 { margin: 0; color: white; font-weight: 300; font-size: 44px; text-transform: uppercase }

@media (max-width: 767px) {
	.title > div { padding: 50px }
	.title h1 { font-size: 38px }
}

@media (max-width: 599px) {
	.title > div { padding: 45px }
	.title h1 { font-size: 34px }
}

@media (max-width: 479px) {
	.title > div { padding: 40px }
	.title h1 { font-size: 32px }
}

@media (max-width: 319px) {
	.title > div { padding: 35px 30px }
	.title h1 { font-size: 28px }
}

/*******************/
/***** Content *****/
/*******************/
.content > div { margin: auto; padding: 0 60px; max-width: 1080px }
.content h1 { font-weight: 300; font-size: 48px }

@media (max-width: 479px) {
	.content > div { padding: 0 40px }
}

@media (max-width: 319px) {
	.content > div { padding: 0 30px }
}

/******************/
/***** Footer *****/
/******************/

.footer { background: #005a65; color: white }
.footer > div { margin: auto; padding: 30px 50px; max-width: 1100px }
.footer .logo { margin-bottom: 10px; width: 180px; height: 60px; background: url("../img/logo-capimize-ft.svg") no-repeat center center; background-size: cover }
.footer ul { float: right; margin: -25px -15px 0 0; padding: 0; list-style: none }
.footer li { display: inline-block; padding: 0 15px; border-left: solid 1px #669ca3 }
.footer li:first-child { border-left: none }
.footer li a { display: block; font-size: 13px; color: white; text-decoration: none }
.footer li a:hover { color: #00b2ba }
.footer h1 { margin: 0; font-weight: 300; font-size: 20px; line-height: 1.3; text-transform: uppercase; letter-spacing: 1px }
.footer h2 { margin: 0; padding-top: 30px; font: normal 12px Arial; color: #00b2ba; line-height: 1.4; text-align: center }
.footer #cyear { display: inline-block }

@media (max-width: 991px) {
	.footer ul { float: none; margin: 20px 0 0 0; text-align: center }
	.footer h2 { padding-top: 25px }
	.footer h2 span { display: block }
}

@media (max-width: 767px) {
	.footer .logo { margin-left: auto; margin-right: auto }
	.footer h1 { text-align: center }
	.footer h1 span { display: block }
}

@media (max-width: 479px) {
	.footer > div { padding: 15px 30px 15px 30px }
	.footer ul { margin-top: 15px }
	.footer li { padding: 0 10px }
	.footer li a { font-size: 12px }
	.footer h1 { font-size: 16px }
	.footer h2 { padding-top: 15px; font-size: 10px }
	.footer h2 span { display: initial }
}

@media (max-width: 319px) {
	.footer > div { padding: 4.68vw 9.37vw 4.68vw 9.37vw }
	.footer ul { margin-top: 4.68vw }
	.footer li { padding: 0 3.12vw }
	.footer li a { font-size: 3.75vw }
	.footer h1 { font-size: 5vw }
	.footer h2 { padding-top: 4.68vw; font-size: 3.12vw }
}