/** RESET **/
* { padding: 0; margin: 0; font-size: 100%; line-height: 1; border: 0; -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; }

html { box-sizing: border-box; }

h2, h3, h4 { font-weight: normal; }

/** ABSTRACTS **/
@font-face { font-family: "gotham_bookregular"; src: url("fonts/gotham-book-webfont.eot"); src: url("fonts/gotham-book-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/gotham-book-webfont.woff") format("woff"), url("fonts/gotham-book-webfont.ttf") format("truetype"), url("fonts/gotham-book-webfont.svg#gotham_bookregular") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: "gotham_boldregular"; src: url("fonts/gotham-bold-webfont.eot"); src: url("fonts/gotham-bold-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/gotham-bold-webfont.woff") format("woff"), url("fonts/gotham-bold-webfont.ttf") format("truetype"), url("fonts/gotham-bold-webfont.svg#gotham_boldregular") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: "gotham_lightregular"; src: url("fonts/gotham-light-webfont.eot"); src: url("fonts/gotham-light-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/gotham-light-webfont.woff") format("woff"), url("fonts/gotham-light-webfont.ttf") format("truetype"), url("fonts/gotham-light-webfont.svg#gotham_lightregular") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: "gotham_mediumregular"; src: url("fonts/gotham-medium-webfont.eot"); src: url("fonts/gotham-medium-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/gotham-medium-webfont.woff") format("woff"), url("fonts/gotham-medium-webfont.ttf") format("truetype"), url("fonts/gotham-medium-webfont.svg#gotham_mediumregular") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: "open_sansbold"; src: url("fonts/opensans-bold.eot"); src: url("fonts/opensans-bold.eot?#iefix") format("embedded-opentype"), url("fonts/opensans-bold.woff") format("woff"), url("fonts/opensans-bold.ttf") format("truetype"), url("fonts/opensans-bold.svg#open_sansbold") format("svg"); font-weight: normal; font-style: normal; }
.regular, body, p { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Hand_Of_Sean', sans-serif; }

.light { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'gotham_lightregular', sans-serif; }

.medium, footer .footer-links, #menu ul li, .home-banner .subtitle, .maple-leaf-difference-section .outstanding, .about-our-plants .outstanding, h4 { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'gotham_mediumregular', sans-serif; font-weight: bold; }

.bold, .home-banner h1, .featured-thumbs-section .read-more-link, .our-pillars .pillar .read-more-link, h1, h2, h3 { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'gotham_boldregular', sans-serif; font-weight: bold; }

.bold-sans, .bottom-articles a, .sub-banner p + a, .btn, .tc img + * a, .tc > a + * a { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "open_sansbold",sans-serif; -webkit-font-smoothing: antialiased; font-weight: normal; font-weight: 700; }

@-moz-keyframes scale { 0% { -moz-transform: scale(0, 0); -o-transform: scale(0, 0); -ms-transform: scale(0, 0); -webkit-transform: scale(0, 0); transform: scale(0, 0); }
  70% { -moz-transform: scale(1.1, 1.1); -o-transform: scale(1.1, 1.1); -ms-transform: scale(1.1, 1.1); -webkit-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); }
  100% { -moz-transform: scale(1, 1); -o-transform: scale(1, 1); -ms-transform: scale(1, 1); -webkit-transform: scale(1, 1); transform: scale(1, 1); } }
@-webkit-keyframes scale { 0% { -moz-transform: scale(0, 0); -o-transform: scale(0, 0); -ms-transform: scale(0, 0); -webkit-transform: scale(0, 0); transform: scale(0, 0); }
  70% { -moz-transform: scale(1.1, 1.1); -o-transform: scale(1.1, 1.1); -ms-transform: scale(1.1, 1.1); -webkit-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); }
  100% { -moz-transform: scale(1, 1); -o-transform: scale(1, 1); -ms-transform: scale(1, 1); -webkit-transform: scale(1, 1); transform: scale(1, 1); } }
@-o-keyframes scale { 0% { -moz-transform: scale(0, 0); -o-transform: scale(0, 0); -ms-transform: scale(0, 0); -webkit-transform: scale(0, 0); transform: scale(0, 0); }
  70% { -moz-transform: scale(1.1, 1.1); -o-transform: scale(1.1, 1.1); -ms-transform: scale(1.1, 1.1); -webkit-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); }
  100% { -moz-transform: scale(1, 1); -o-transform: scale(1, 1); -ms-transform: scale(1, 1); -webkit-transform: scale(1, 1); transform: scale(1, 1); } }
@keyframes scale { 0% { -moz-transform: scale(0, 0); -o-transform: scale(0, 0); -ms-transform: scale(0, 0); -webkit-transform: scale(0, 0); transform: scale(0, 0); }
  70% { -moz-transform: scale(1.1, 1.1); -o-transform: scale(1.1, 1.1); -ms-transform: scale(1.1, 1.1); -webkit-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); }
  100% { -moz-transform: scale(1, 1); -o-transform: scale(1, 1); -ms-transform: scale(1, 1); -webkit-transform: scale(1, 1); transform: scale(1, 1); } }
@-moz-keyframes bounce { 0% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  25% { -moz-transform: translate3d(0, 5px, 0); -o-transform: translate3d(0, 5px, 0); -ms-transform: translate3d(0, 5px, 0); -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }
  50% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  75% { -moz-transform: translate3d(0, 5px, 0); -o-transform: translate3d(0, 5px, 0); -ms-transform: translate3d(0, 5px, 0); -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }
  100% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@-webkit-keyframes bounce { 0% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  25% { -moz-transform: translate3d(0, 5px, 0); -o-transform: translate3d(0, 5px, 0); -ms-transform: translate3d(0, 5px, 0); -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }
  50% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  75% { -moz-transform: translate3d(0, 5px, 0); -o-transform: translate3d(0, 5px, 0); -ms-transform: translate3d(0, 5px, 0); -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }
  100% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@-o-keyframes bounce { 0% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  25% { -moz-transform: translate3d(0, 5px, 0); -o-transform: translate3d(0, 5px, 0); -ms-transform: translate3d(0, 5px, 0); -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }
  50% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  75% { -moz-transform: translate3d(0, 5px, 0); -o-transform: translate3d(0, 5px, 0); -ms-transform: translate3d(0, 5px, 0); -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }
  100% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
@keyframes bounce { 0% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  25% { -moz-transform: translate3d(0, 5px, 0); -o-transform: translate3d(0, 5px, 0); -ms-transform: translate3d(0, 5px, 0); -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }
  50% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  75% { -moz-transform: translate3d(0, 5px, 0); -o-transform: translate3d(0, 5px, 0); -ms-transform: translate3d(0, 5px, 0); -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }
  100% { -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } }
/* BASE STYLES */
html, body { height: 100%; }

body { background: #fefefe; min-height: 400px; }

main { display: block; }

p { font-size: 1.125em; margin-top: 28px; }

a { color: inherit; }

hr { display: block; width: 70px; height: 4px; background: rgba(0, 0, 0, 0.1); margin: 10px auto; border: 0; }

sup, sub { font-size: 50%; vertical-align: baseline; position: relative; top: -0.70em; left: 0.05em; }

sub { top: 0.4em; }

img { max-width: 100%; }

ul { padding-left: 20px; }
ul li { margin-top: 10px; }

.alignright { float: right; margin-left: 40px; margin-bottom: 40px; }

.alignleft { float: left; margin-right: 40px; margin-bottom: 40px; }

.text-right { text-align: right; }

ul.bullets { margin: 0; padding: 0; }
ul.bullets li { padding-left: 30px; list-style: none; background: transparent url("../img/bullet.png") no-repeat 0 0; background-size: 20px; line-height: 1.5em; }

@media (max-width: 980px) { html, body { height: auto; } }
@media (max-width: 768px) { hr { height: 1px; width: 90%; }
  .alignright, .alignleft { margin-left: 0; margin-right: 0; float: none; width: 100%; height: auto; } }
.grid.row50:after { content: " "; display: table; clear: both; }

.underlines:after { -webkit-transition: width 0.5s ease; -moz-transition: width 0.5s ease; -o-transition: width 0.5s ease; transition: width 0.5s ease; display: block; position: relative; content: ''; width: 0; background: #CCC; margin: 2px auto -2px; height: 1px; }
.underlines:hover:after, .underlines:focus:after { -webkit-transition: width 0.5s ease; -moz-transition: width 0.5s ease; -o-transition: width 0.5s ease; transition: width 0.5s ease; width: 100%; }

/** LAYOUT **/
.container { position: relative; max-width: 1280px; margin: 0 auto; padding: 0 10px; }
.container.center { text-align: center; }
.container.extended { max-width: 1255px; }

@media screen and (max-width: 1300px) { .container { /*max-width: 100%;*/ /*padding: 0 1.5%;*/ } }
@media screen and (max-width: 1275px) { .container.extended { /*max-width: 100%;*/ /*padding: 0 1.5%;*/ } }
/** Owl Carousel v2.2.1 Copyright 2013-2017 David Deutsch Licensed under  () */
.owl-carousel, .owl-carousel .owl-item { -webkit-tap-highlight-color: transparent; position: relative; }

.owl-carousel { display: none; width: 100%; z-index: 1; }

.owl-carousel .owl-stage { position: relative; -ms-touch-action: pan-Y; -moz-backface-visibility: hidden; }

.owl-carousel .owl-stage:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }

.owl-carousel .owl-stage-outer { position: relative; overflow: hidden; -webkit-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item, .owl-carousel .owl-wrapper { -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item { min-height: 1px; float: left; -webkit-backface-visibility: hidden; -webkit-touch-callout: none; }

.owl-carousel .owl-item img { display: block; width: 100%; }

.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled { display: none; }

.no-js .owl-carousel, .owl-carousel.owl-loaded { display: block; }

.owl-carousel .owl-dot, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev { cursor: pointer; cursor: hand; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

.owl-carousel.owl-loading { opacity: 0; display: block; }

.owl-carousel.owl-hidden { opacity: 0; }

.owl-carousel.owl-refresh .owl-item { visibility: hidden; }

.owl-carousel.owl-drag .owl-item { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

.owl-carousel.owl-grab { cursor: move; cursor: grab; }

.owl-carousel.owl-rtl { direction: rtl; }

.owl-carousel.owl-rtl .owl-item { float: right; }

.owl-carousel .animated { animation-duration: 1s; animation-fill-mode: both; }

.owl-carousel .owl-animated-in { z-index: 0; }

.owl-carousel .owl-animated-out { z-index: 1; }

.owl-carousel .fadeOut { animation-name: fadeOut; }

@keyframes fadeOut { 0% { opacity: 1; }
  100% { opacity: 0; } }
.owl-height { transition: height .5s ease-in-out; }

.owl-carousel .owl-item .owl-lazy { opacity: 0; transition: opacity .4s ease; }

.owl-carousel .owl-item img.owl-lazy { transform-style: preserve-3d; }

.owl-carousel .owl-video-wrapper { position: relative; height: 100%; background: #000; }

.owl-carousel .owl-video-play-icon { position: absolute; height: 80px; width: 80px; left: 50%; top: 50%; margin-left: -40px; margin-top: -40px; background: url(owl.video.play.png) no-repeat; cursor: pointer; z-index: 1; -webkit-backface-visibility: hidden; transition: transform .1s ease; }

.owl-carousel .owl-video-play-icon:hover { -ms-transform: scale(1.3, 1.3); transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-play-icon, .owl-carousel .owl-video-playing .owl-video-tn { display: none; }

.owl-carousel .owl-video-tn { opacity: 0; height: 100%; background-position: center center; background-repeat: no-repeat; background-size: contain; transition: opacity .4s ease; }

.owl-carousel .owl-video-frame { position: relative; z-index: 1; height: 100%; width: 100%; }

footer { background: #144A8A; color: #FFF; border-top: 5px solid #B89F7A; text-align: center; padding: 50px 0 20px; position: relative; }
footer:before { content: ' '; background: url(../img/maple-leaf-foods-logo.png?v3) no-repeat 0 0; background-size: contain; filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.4)); position: absolute; top: -40px; left: 50%; -moz-transform: translate3d(-50%, 0, 0); -o-transform: translate3d(-50%, 0, 0); -ms-transform: translate3d(-50%, 0, 0); -webkit-transform: translate3d(-50%, 0, 0); transform: translate3d(-50%, 0, 0); display: block; width: 80px; height: 80px; }
footer ul li { display: inline; }
footer .footer-links { text-transform: uppercase; margin: 0 auto 20px auto; font-size: 14px; }
footer .footer-links li { padding: 0 20px; }
footer .footer-social { margin: 25px 0 15px; }
footer .footer-social li { margin: 0 10px; }
footer .icon-sprite { display: inline-block; text-indent: -9999px; }
footer .icon-sprite.facebook { width: 14px; height: 20px; background-position: -32px 0; }
footer .icon-sprite.twitter { width: 21px; height: 20px; background-position: -4px 0; }
footer .icon-sprite.instagram { width: 18px; height: 20px; background-position: -51px 0; }
footer a { color: #FFF; text-decoration: none; font-weight: normal; border: 1px solid rgba(255, 255, 255, 0); outline: 1px solid; outline-color: rgba(255, 255, 255, 0); outline-offset: 0px; text-shadow: none; transition: all 1250ms cubic-bezier(0.19, 1, 0.22, 1); }
footer a:hover, footer a:focus { border: 1px solid rgba(255, 255, 255, 0); outline-color: rgba(255, 255, 255, 0.5); outline-offset: 10px; text-shadow: 1px 1px 2px #427388; }
footer #copyright { font-size: 12px; }

@media (max-width: 768px) { footer ul li { display: block; margin-bottom: 20px; }
  footer .footer-links { text-align: left; }
  footer .footer-social { position: absolute; top: 0; right: 0; margin: 0; }
  footer .footer-social li { margin-bottom: 14px; } }
.grid.row50 > .column { width: 46%; float: left; }
.grid.row50 > .column:first-child { margin-right: 4%; }
.grid.row50 > .column:first-child + .column { width: 50%; }

.grid-flex { display: flex; }
.grid-flex > * { flex: 1; }

@media (max-width: 768px) { .grid.row50 > .column { width: 90%; float: none; margin: 0 auto; }
  .grid.row50 > .column:first-child { margin-right: auto; }
  .grid.row50 > .column:first-child + .column { width: 90%; } }
#top-menu { background: #FFF; padding: 5px 0; height: 28px; }
#top-menu ul { float: right; }
#top-menu ul li { display: inline; padding: 0 8px; }
#top-menu ul li a { color: #444; text-decoration: none; font-size: 13px; }
#top-menu ul li a:hover { color: #f3292d; }
#top-menu .icon-sprite { display: inline-block; text-indent: -9999px; -moz-transform: scale(0.8); -o-transform: scale(0.8); -ms-transform: scale(0.8); -webkit-transform: scale(0.8); transform: scale(0.8); position: relative; top: -3px; }
#top-menu .icon-sprite.facebook { width: 14px; height: 20px; background-position: -32px -24px; }
#top-menu .icon-sprite.facebook:hover { background-position: -32px bottom; }
#top-menu .icon-sprite.twitter { width: 21px; height: 20px; background-position: -4px -24px; }
#top-menu .icon-sprite.twitter:hover { background-position: -4px bottom; }
#top-menu .icon-sprite.instagram { width: 18px; height: 20px; background-position: -51px -24px; }
#top-menu .icon-sprite.instagram:hover { background-position: -51px bottom; }

#menu { background: #144A8A; padding: 20px 0; height: 56px; }
#menu ul { float: left; margin-left: 67px; }
#menu ul li { display: inline; margin: 0; text-transform: uppercase; }
#menu ul li a { padding: 8px; color: #FFF; margin: 0 14px; text-decoration: none; font-size: 12px; -webkit-transition: background 0.2s ease-in-out; -moz-transition: background 0.2s ease-in-out; -o-transition: background 0.2s ease-in-out; transition: background 0.2s ease-in-out; }
#menu ul li a.has-submenu { padding: 8px 24px 8px 8px; position: relative; }
#menu ul li a.has-submenu:after { content: ' '; position: absolute; right: 7px; top: 11px; background: url(../img/sprite.png) no-repeat -82px -31px; width: 9px; height: 6px; }
#menu ul li a:hover, #menu ul li a:focus { background: #EE2E25; }
#menu .searchForm { float: right; position: relative; top: -9px; right: 2px; overflow: hidden; }
#menu .searchForm input { padding: 8px; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; display: inline-block; vertical-align: middle; background: #103f77; color: white; font-size: 12px; }
#menu .searchForm .to-search { background: url(../img/sprite.png) no-repeat -53px -51px; width: 33px; height: 33px; display: inline-block; vertical-align: middle; -moz-transform: scale(0.7); -o-transform: scale(0.7); -ms-transform: scale(0.7); -webkit-transform: scale(0.7); transform: scale(0.7); -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }
#menu .searchForm .to-search:hover, #menu .searchForm .to-search:focus { -moz-transform: scale(0.9); -o-transform: scale(0.9); -ms-transform: scale(0.9); -webkit-transform: scale(0.9); transform: scale(0.9); }
#menu .to-menu-mobile { display: none; }

#logo { position: relative; top: -45px; width: 115px; display: block; float: left; z-index: 8; }
#logo img { -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.4)); position: relative; width: 100%; z-index: 8; }
#logo:hover img { filter: drop-shadow(1px 1px 10px rgba(255, 0, 0, 0.4)); }

#search.error { background: #f3292d !important; }

@media all and (max-width: 1220px) { #menu .searchForm #search { display: none; }
  #menu .searchForm .to-search { -moz-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); -webkit-transform: scale(1); transform: scale(1); }
  #menu .searchForm.active { overflow: visible; }
  #menu .searchForm.active #search { position: absolute; display: block; right: 40px; top: 2px; width: 22vw; } }
nav > h2 { display: none; }

@media all and (max-width: 1024px) { #wpadminbar { display: none; }
  #logo { position: absolute; left: 50%; -moz-transform: translate3d(-50%, 0, 0); -o-transform: translate3d(-50%, 0, 0); -ms-transform: translate3d(-50%, 0, 0); -webkit-transform: translate3d(-50%, 0, 0); transform: translate3d(-50%, 0, 0); }
  #top-menu, #menu { position: fixed; width: 100%; z-index: 7; }
  #top-menu { top: 0; }
  #menu { top: 28px; }
  #menu .navigation-menu { position: fixed; display: none; height: 100%; background: rgba(50, 50, 50, 0.9); width: 100%; left: 0; margin-left: 0; border: 15px solid #FFF; padding-top: 74px; top: 56px; z-index: 6; }
  #menu .navigation-menu.active { display: block; }
  #menu .navigation-menu li { display: block; text-align: center; margin-bottom: 27px; }
  #menu .navigation-menu li a { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'gotham_boldregular', sans-serif; font-size: 20px; position: relative; }
  #menu .navigation-menu li a:before { -webkit-transition: width 0.5s ease; -moz-transition: width 0.5s ease; -o-transition: width 0.5s ease; transition: width 0.5s ease; display: block; position: absolute; content: ''; width: 0; background: #fff; margin: 2px auto -2px; height: 4px; top: 61px; left: 50%; -moz-transform: translate3d(-50%, 0, 0); -o-transform: translate3d(-50%, 0, 0); -ms-transform: translate3d(-50%, 0, 0); -webkit-transform: translate3d(-50%, 0, 0); transform: translate3d(-50%, 0, 0); }
  #menu .navigation-menu li a:hover, #menu .navigation-menu li a:focus { background: none; /*&:before {
	@include effect(width, 0.5s, ease);
	width: 100%;
}*/ }
  #menu .navigation-menu li a.has-submenu { padding: 8px 24px 8px 20px; }
  #menu .navigation-menu li a.has-submenu:after { background-position: -79px -7px; width: 14px; height: 10px; top: 31px; right: -14px; }
  #menu .to-search { -moz-transform: scale(1); -o-transform: scale(1); -ms-transform: scale(1); -webkit-transform: scale(1); transform: scale(1); }
  #menu .to-menu-mobile { display: block; float: left; width: 40px; height: 33px; position: relative; top: -9px; left: 2px; -moz-transform: scale(0.8); -o-transform: scale(0.8); -ms-transform: scale(0.8); -webkit-transform: scale(0.8); transform: scale(0.8); -webkit-transition: transform 0.2s ease-in-out; -moz-transition: transform 0.2s ease-in-out; -o-transition: transform 0.2s ease-in-out; transition: transform 0.2s ease-in-out; }
  #menu .to-menu-mobile.to-open { background: url(../img/sprite.png) no-repeat -5px -50px; }
  #menu .to-menu-mobile.to-close { background: url(../img/sprite.png) no-repeat -92px -50px; }
  #menu .to-menu-mobile:hover, #menu .to-menu-mobile:focus { -moz-transform: scale(0.8); -o-transform: scale(0.8); -ms-transform: scale(0.8); -webkit-transform: scale(0.8); transform: scale(0.8); } }
@media (max-width: 768px) { #logo { top: -7px; width: 60px; }
  #top-menu { -webkit-transition: height 500ms ease-in-out; -moz-transition: height 500ms ease-in-out; -o-transition: height 500ms ease-in-out; transition: height 500ms ease-in-out; }
  #menu { -webkit-transition: top 500ms ease-in-out; -moz-transition: top 500ms ease-in-out; -o-transition: top 500ms ease-in-out; transition: top 500ms ease-in-out; }
  .hideMobileTopBar #top-menu { height: 0; }
  .hideMobileTopBar #menu { top: 0; }
  .hideMobileTopBarOnMenuOpen #top-menu { height: 0 !important; }
  .hideMobileTopBarOnMenuOpen #menu { top: 0 !important; } }
@media screen and (min-width: 769px) and (max-width: 1024px) { #menu .navigation-menu { top: 83px; } }
/** PAGES **/
body.page-child #main-container { margin: 0; }
body.page-child #main-container h2.n-header, body.page-child #main-container h3 { margin: 30px 0 20px; font-size: 30px; }
body.page-child #main-container h2.n-header-m0-bk { margin: 0 0; font-size: 30px; color: #000; }
body.page-child #main-container h3.first-header, body.page-child #main-container h2.first-header { margin-top: 0; font-size: 30px; }
@media (max-width: 768px) { body.page-child #main-container h3.first-header { margin-top: 20px; } }
body.page-child #main-container ul { margin-left: 22px; margin-top: 22px; }
body.page-child #main-container ul li { margin-bottom: 20px; }
body.page-child #main-container table { margin: 20px 0; border-left: solid 1px #EEE; border-top: solid 1px #EEE; }
body.page-child #main-container table th { padding: 6px; background-color: #EEE; }
body.page-child #main-container table td { padding: 6px; border-right: solid 1px #EEE; border-bottom: solid 1px #EEE; }
body.page-child .header { margin: 40px auto 20px auto; }
body.page-child .header .back { float: right; }
body.page-child .header + * { clear: both; }
body.page-child footer { margin-top: 50px; }
body.page-child #main-container h2.sp-header, body.page-template-page-our-pigs h2.sp-header { line-height: 1.5; font-size: 1.125em; display: inline; margin-bottom: 0px; color: #000; font-weight: normal; text-transform: unset; }
body.page-child #main-container div.p-parag, body.page-template-page-our-pigs div.p-parag { line-height: 1.5; font-size: 1.125em; display: inline; }

.columns-2 { column-count: 2; column-gap: 40px; }
.columns-2 img { width: 100%; height: auto; }
.columns-2 > p:first-child { margin-top: 0; }
.columns-2 > p { line-height: 1.5; }

body.page-template-page-about-us-parent H1.about-us { text-transform: uppercase; margin: 30px 0 20px; 20px; }
body.page-template-page-sustainability-child footer, body.page-template-page-about-us-child footer, body.page-template-page-about-us-child-childs footer { margin-top: 0; }

@media (max-width: 768px) { body.page-child #main-container { margin-bottom: 0; padding-bottom: 50px; /*margin-top: 100px;*/ }
  body.page-child .columns-2 { column-count: 1; column-gap: 0; }
  body.page-child .banner { margin-top: 50px; } }
body.error404 .msg { margin-top: 75px; }
body.error404 .msg > div:first-child { background: #ee2e24; color: #fff; float: left; height: 300px; position: relative; text-align: center; width: 48%; }
body.error404 .msg > div:first-child:after { display: block; position: absolute; content: ''; top: 0px; right: 0px; width: 0; height: 0; border-top: 133px solid transparent; border-bottom: 133px solid transparent; border-left: 20px solid #ee2e24; right: -20px; }
body.error404 .msg > div:first-child strong { width: 100%; display: block; font-size: 180px; line-height: 200px; margin-top: 16px; }
body.error404 .msg > div:first-child b { display: block; font-size: 45px; position: relative; }
body.error404 .msg > div:first-child + div { height: 300px; width: 50%; background: #004b8d; color: #fff; float: left; padding-left: 2%; }
body.error404 .msg > div:first-child + div p { padding-top: 17%; padding: 10px 20px; padding: 1rem 2rem; text-align: left; font-size: 20px; color: #fff; }
body.error404 .msg > div:first-child + div p a { color: white; display: inline-block; margin-top: 10px; }
body.error404 .our-pillars { clear: both; padding-top: 50px; }

@media (max-width: 768px) { body.error404 .msg > div:first-child strong { font-size: 85px; line-height: 100px; margin-top: 76px; }
  body.error404 .msg > div:first-child b { font-size: 20px; } }
body.page-template-page-our-pigs .sub-banner img { margin-top: -100px; }
body.page-template-page-our-plants-single-plant .sub-banner h1, body.page-template-page-our-pigs .sub-banner h1 { margin: 30px 0 20px; text-transform: uppercase; }
body.page-template-page-sustainability-child #main-container h1, body.page-template-page-about-our-history #main-container h1 { margin: 30px 0 20px; }

body.search .sustainability-banner { margin-bottom: 40px; }

body.page-template-page-our-plants-single-plant footer { margin-top: 0; }

body.page-template-page-our-pigs-child h1 { margin: 30px 0; }

body.page-template-page-contact-us h1 { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Montserrat', sans-serif; font-size: 38px; line-height: 1.2; text-transform: uppercase; padding: 0; margin-top: 80px; }
body.page-template-page-contact-us h3 { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Montserrat', sans-serif; font-weight: 700; color: #2d2d2d; font-size: 26px; line-height: 26px; text-transform: uppercase; padding: 0; margin-top: 80px; }
body.page-template-page-contact-us p { font-size: 1.05em; line-height: 1.5; }
body.page-template-page-contact-us p a { font-weight: bold; font-style: italic; text-decoration: none; }
body.page-template-page-contact-us input.error + label { font-weight: bold; color: red; }
body.page-template-page-contact-us input.error + label:before { border-bottom: 4px solid red; }
body.page-template-page-contact-us #thankyou { display: none; background: #eee; font-size: 30px; text-align: center; padding: 80px; color: #f3292d; }

body.page-template-page-sitemap .container { font-size: 0; }
body.page-template-page-sitemap h1, h2 { margin: 30px 0; }
body.page-template-page-sitemap div.parent { font-size: 20px; display: inline-block; width: 100%; font-size: 16px; vertical-align: top; margin-bottom: 30px; }
body.page-template-page-sitemap div.parent a { text-decoration: none; display: inline-block; }
body.page-template-page-sitemap div.parent > a { margin-bottom: 10px; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'gotham_boldregular', sans-serif; font-weight: bold; color: #b30900; }
body.page-template-page-sitemap div.parent > a:hover { color: #f7615a; }
body.page-template-page-sitemap div.parent > div { margin-bottom: 6px; line-height: 1.5em; }
body.page-template-page-sitemap div.parent > div:before { content: ''; display: inline-block; vertical-align: middle; width: 30px; height: 1px; background: #AAA; }
body.page-template-page-sitemap div.parent > div > a { margin-left: 10px; vertical-align: middle; max-width: 80%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.page-template-page-sitemap div.parent > div:hover a { color: #144a8a; }
body.page-template-page-sitemap div.parent > div:hover:before { background: #144a8a; }
@media (max-width: 768px) { body.page-template-page-sitemap div.parent { width: 100%; } }

@media (max-width: 768px) { body.page-id-205 .banner, body.page-id-175 .banner { margin-top: 50px; }
  body.page-template-page-contact-us .sustainability-banner { background-position: 37% 0; }
  body.page-template-page-contact-us form { margin-top: 30px; } }
body.page-template-page-our-products h2 { text-transform: uppercase; margin-top: 30px; margin-bottom: 50px; }
body.page-template-page-our-products .hd2 { text-transform: uppercase; margin-top: 30px; margin-bottom: 50px; font-size: 36px; font-weight: bold; color: #144A8A; }
body.page-template-page-our-products .hd3 { font-weight: bold; }
body.page-template-page-our-products main { margin-bottom: 40px; }
body.page-template-page-our-products .tc { margin-top: 0; margin-bottom: 20px; }
body.page-template-page-our-products .tc img, body.page-template-page-our-products .tc div { display: inline-block; vertical-align: middle; }
body.page-template-page-our-products .tc a { height: 220px; display: inline-block; max-width: 40%; }
body.page-template-page-our-products .tc a img { width: auto; max-width: 100%; height: 80%; }
@media (max-width: 768px) { body.page-template-page-our-products .tc a img { height: auto; } }
@media (max-width: 768px) { body.page-template-page-our-products .tc a { height: auto; margin-bottom: 30px; } }
@media (max-width: 768px) { body.page-template-page-our-products .tc { margin-bottom: 10px; }
  body.page-template-page-our-products .tc img + * p, body.page-template-page-our-products .tc > a + * p { font-size: 13px; } }
body.page-template-page-our-products .sub-banner img + * { margin-left: 0; }
@media (max-width: 768px) { body.page-template-page-our-products .sustainability-banner, body.page-template-page-our-products .ourpeople-banner, body.page-template-page-our-products .ourplants-banner { background-position: center center !important; }
  body.page-template-page-our-products .sub-banner h2 { font-size: 8vw; margin-top: 0px; margin-bottom: 30px; }
  body.page-template-page-our-products h2 { margin-top: 0px; margin-bottom: 30px; font-size: 20px; } }

body.page-template-page-our-products-child .back-button-container { margin-top: 40px; }
body.page-template-page-our-products-child #main-container { position: relative; }
body.page-template-page-our-products-child #main-container .product-image { max-width: 50%; float: right; margin-bottom: 70px; }
@media (max-width: 768px) { body.page-template-page-our-products-child #main-container .product-image { max-width: 100%; float: none; margin: 0 auto 20px; display: block; } }
@media (max-width: 768px) { body.page-template-page-our-products-child #main-container { padding-top: 60px; padding-bottom: 140px !important; } }
body.page-template-page-our-products-child #main-container .product-details .prod-cap { margin-top: 0; font-size: 22px; color: #747474; text-transform: capitalize; font-weight: bold; line-height: 1.2; }
body.page-template-page-our-products-child #main-container .product-details h1 { text-transform: uppercase; }
body.page-template-page-our-products-child #main-container .product-details h2 { margin-top: 30px; font-size: 22px; text-transform: uppercase; }
body.page-template-page-our-products-child #main-container .product-details h3 { margin-top: 0; font-size: 22px; color: #747474; }
body.page-template-page-our-products-child #main-container .product-details:after { content: ''; display: inline; clear: both; }
body.page-template-page-our-products-child #main-container .thumb { background-position: center center !important; }
@media (max-width: 768px) { body.page-template-page-our-products-child #main-container { padding-bottom: 0; } }
body.page-template-page-our-products-child .prevProduct, body.page-template-page-our-products-child .nextProduct { width: 40px; position: absolute; top: 50%; -moz-transform: translate3d(0px, -50%, 0); -o-transform: translate3d(0px, -50%, 0); -ms-transform: translate3d(0px, -50%, 0); -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -ms-transition: all 0.5s ease; -o-transition: all 0.5s ease; }
body.page-template-page-our-products-child .prevProduct:hover *, body.page-template-page-our-products-child .nextProduct:hover * { stroke: #f3292d !important; }
@media all and (max-width: 1300px) { body.page-template-page-our-products-child .prevProduct, body.page-template-page-our-products-child .nextProduct { top: inherit; bottom: 30px; } }
body.page-template-page-our-products-child .prevProduct { left: 1.5%; }
@media all and (max-width: 1430px) { body.page-template-page-our-products-child .prevProduct { left: 2%; } }
body.page-template-page-our-products-child .nextProduct { right: 1.5%; }
@media all and (min-width: 768px) and (max-width: 1430px) { body.page-template-page-our-products-child .nextProduct { left: 30%; right: inherit; } }
body.page-template-page-our-products-child footer { margin-top: 0; }

@media screen and (min-width: 1430px) { body.page-template-page-our-products-child #main-container { min-height: calc(100vh - 205px); } }
@media screen and (min-width: 769px) and (max-width: 1024px) { body.page-template-page-our-products-child #main-container { margin-top: 100px; } }
@media screen and (min-width: 1025px) { body.page-template-page-our-products-child .back-button-container { margin-top: 15px; } }
@media (max-width: 768px) { body.page-template-page-our-products-child .prevProduct, body.page-template-page-our-products-child .nextProduct { width: 24px; }
  body.page-template-page-our-products-child .prevProduct { left: 10%; }
  body.page-template-page-our-products-child .nextProduct { right: 10%; } }
@media all and (min-width: 768px) and (max-width: 1430px) { body.page-template-page-our-products-child #main-container { padding-bottom: 16px; margin-bottom: 45px; }
  body.page-template-page-our-products-child .prevProduct, body.page-template-page-our-products-child .nextProduct { top: auto; bottom: -30px; } }
@media all and (min-width: 768px) and (max-width: 1140px) { body.page-template-page-our-products-child #main-container { padding-bottom: 100px; margin-bottom: 80px; } }
/** HELPERS **/
.srt { clip: rect(1px, 1px, 1px, 1px); position: absolute; margin: 0; padding: 0; }

.srt:focus { background-color: #ccc; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto; color: #000000; display: block; font-size: 14px; font-weight: bold; height: auto; line-height: normal; padding: 15px 23px 14px; position: absolute; left: 5px; top: 5px; text-decoration: none; text-transform: none; width: auto; z-index: 10; }

@media (max-width: 768px) { #skip-link { display: none; } }
.just-mobile { display: none !important; }

.just-ipad { display: none !important; }

@media (max-width: 980px) { .just-ipad { display: block !important; }
  .hide-portrait { display: none !important; } }
@media (max-width: 768px) { .just-mobile { display: block !important; }
  .hide-mobile { display: none !important; } }
.hidden { display: none !important; }

.clear { display: block; clear: both; }

.capitalize { text-transform: capitalize; }

input[type="checkbox"] { -webkit-appearance: checkbox; }

input { -webkit-appearance: none; border-radius: 0; }

/** SECTIONS **/
.home-banner { background-color: #B89F7A; background-size: cover; background-position: center bottom; height: 670px; width: 100%; position: relative; }
.home-banner:after { content: ' '; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.3); z-index: 2; }
.home-banner .content { position: absolute; top: 140px; left: 50%; text-align: center; -moz-transform: translate3d(-50%, 0, 0); -o-transform: translate3d(-50%, 0, 0); -ms-transform: translate3d(-50%, 0, 0); -webkit-transform: translate3d(-50%, 0, 0); transform: translate3d(-50%, 0, 0); z-index: 3; }
.home-banner .hd1, .home-banner h1 { color: #FFF; font-size: 97px; font-size: 5.2vw; line-height: 0.9; font-weight: bold; }
.home-banner .subtitle { color: #FFF; width: 505px; max-width: 90%; margin: 25px auto; line-height: 1.2; letter-spacing: -0.5px; font-weight: normal; font-size: 20px; font-size: 1.04vw; }
.home-banner a { font-size: 15px; font-size: 0.78vw; }

@media (max-width: 768px) { .home-banner { height: 575px; }
  .home-banner .content { width: 100%; }
  .home-banner .hd1, .home-banner h1 { font-size: 40px; }
  .home-banner .subtitle { font-size: 4vw; }
  .home-banner a { font-size: 3.5vw; } }
.featured-thumbs-section { margin-top: -68px; font-size: 0; position: relative; z-index: 3; }
.featured-thumbs-section .container { padding: 0; }
.featured-thumbs-section.negative-margin { margin-top: -68px; position: relative; z-index: 3; }
.featured-thumbs-section .column { background: #2D2D2D; width: 50%; float: left; height: 250px; overflow: hidden; position: relative; }
.featured-thumbs-section .column > * { width: 50%; float: left; }
.featured-thumbs-section .img-container { overflow: hidden; height: 100%; background-size: cover; background-position: center center; height: 250px; }
.featured-thumbs-section .img-container a { display: block; height: 100%; }
.featured-thumbs-section .img-container img { width: auto; height: 100%; }
.featured-thumbs-section .shine { display: inline-block; height: 100%; }
.featured-thumbs-section .body { background: #2D2D2D; height: 100%; font-size: 14px; overflow: auto; }
.featured-thumbs-section .body h2 { text-transform: uppercase; color: #B89F7A; margin: 20px 14px 12px; line-height: 1; letter-spacing: -1px; font-size: 1.4583vw; }
.featured-thumbs-section .body .hd2 {  text-transform: uppercase; color: #B89F7A; margin: 20px 14px 12px; line-height: 1; letter-spacing: -1px; font-size: 20px; font-weight: bold; }
.featured-thumbs-section .body p { margin: 0 14px 0 15px; display: block; font-size: 1em; color: #FFF; line-height: 1.5; }
.featured-thumbs-section .read-more-link { color: #FFF; position: absolute; bottom: 28px; right: 43px; text-decoration: none; font-size: 10px; text-transform: uppercase; letter-spacing: 2px; }
.featured-thumbs-section .read-more-link:after { content: ' '; background: url(../img/sprite.png) no-repeat -103px -3px; width: 10px; height: 13px; position: absolute; right: -21px; top: -3px; transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); }
.featured-thumbs-section .read-more-link:hover:after { right: -30px; }
.featured-thumbs-section .read-more-link:before { content: ' '; background-color: #B89F7A; width: 180px; height: 2px; position: absolute; top: 3px; left: -200px; }

@media (max-width: 768px) { .featured-thumbs-section { margin-top: 0; }
  .featured-thumbs-section .body .hd2, .featured-thumbs-section .body h2 { font-size: 18px; height: 70px; }
  .featured-thumbs-section .body p { display: none; }
  .featured-thumbs-section .body a { left: 14px; font-size: 14px; }
  .featured-thumbs-section .body a:before { display: none; }
  .featured-thumbs-section.negative-margin { margin-top: 0px; }
  .featured-thumbs-section .container { padding: 0; font-size: 0; }
  .featured-thumbs-section .column { height: auto; float: none; display: inline-block; }
  .featured-thumbs-section .column > * { width: 100%; float: none; }
  .featured-thumbs-section .column .body { padding-bottom: 40px; }
  .featured-thumbs-section .img-container { /*height: auto;*/ }
  .featured-thumbs-section .img-container img { width: 100%; height: auto; }
  .featured-thumbs-section .read-more-link { position: relative; bottom: -20px; right: auto; -moz-transform: translate3d(-50%, 0, 0); -o-transform: translate3d(-50%, 0, 0); -ms-transform: translate3d(-50%, 0, 0); -webkit-transform: translate3d(-50%, 0, 0); transform: translate3d(-50%, 0, 0); left: 50%; } }
@media (max-width: 559px) { .featured-thumbs-section .img-container { height: 150px; } }
.maple-leaf-difference-section, .about-our-plants { margin-top: 60px; }
.maple-leaf-difference-section .grid > .column:first-child, .about-our-plants .grid > .column:first-child { text-align: center; }
.maple-leaf-difference-section h1, .about-our-plants h1 { margin: 17px 0; color: #000; font-size: 38px; }
.maple-leaf-difference-section h2, .about-our-plants h2 { margin: 17px 0; color: #000; font-size: 27px; }
.maple-leaf-difference-section .paragraph, .about-our-plants .paragraph { margin-bottom: 23px; font-size: 1em; line-height: 1.2; }
.maple-leaf-difference-section .outstanding, .about-our-plants .outstanding { font-size: 22px; font-style: italic; line-height: 1.2; }
.maple-leaf-difference-section .grid.row50 > .column.left, .about-our-plants .grid.row50 > .column.left { width: 25%; margin-right: 6.25%; }
.maple-leaf-difference-section .grid.row50 > .column.left img, .about-our-plants .grid.row50 > .column.left img { width: 100%; }
.maple-leaf-difference-section .grid.row50 > .column.right, .about-our-plants .grid.row50 > .column.right { padding: 30px 0 0; width: 68.75%; }

.maple-leaf-difference-section .paragraph { padding-right: 100px; line-height: 1.5em; }

@media (max-width: 768px) { .maple-leaf-difference-section .paragraph { padding-right: 0; } }
.our-pillars { margin-top: 75px; }
.our-pillars h2 { font-size: 38px; margin: 20px 0; color: #144A8A; text-transform: uppercase; }
.our-pillars .subtitle { margin: 14px auto; width: 830px; max-width: 90%; font-size: 15px; line-height: 1.2; }
.our-pillars .body { margin-top: 30px; padding: 20px 20px 70px; background-color: #F4F4F4; text-align: center; }
.our-pillars .body .container { display: flex; padding: 0; }
.our-pillars .body .container > * { margin-right: auto; }
.our-pillars .body .container > *:last-child { margin-right: 0; }
.our-pillars .pillar { display: inline-block; width: auto; text-align: center; position: relative; padding-bottom: 30px; height: 204px; min-width: 120px; }
.our-pillars .pillar .icon-pillar { background: url(../img/pillars.jpg) no-repeat 0 0; width: 105px; height: 105px; margin: 0 auto; -moz-transform: scale(0.9); -o-transform: scale(0.9); -ms-transform: scale(0.9); -webkit-transform: scale(0.9); transform: scale(0.9); }
.our-pillars .pillar#sustainability-pillar .icon-pillar { background-position: 0 0; }
.our-pillars .pillar#our-people-pillar .icon-pillar { background-position: -100px 0; }
.our-pillars .pillar#our-pigs-pillar .icon-pillar { background-position: -210px 0; }
.our-pillars .pillar#our-plants-pillar .icon-pillar { background-position: -320px 0; }
.our-pillars .pillar#our-products-pillar .icon-pillar { background-position: -431px 0; width: 120px; }
.our-pillars .pillar h3 { color: #EE2E25; margin: 23px 0 20px; font-size: 18px !important; text-transform: uppercase; }
.our-pillars .pillar hr { height: 2px; background: #DADADA; width: 60%; }
.our-pillars .pillar p { font-size: 13px; line-height: 1.3; margin-top: 10px; padding: 0; position: absolute; }
.our-pillars .pillar .read-more-link { position: absolute; bottom: 0; color: #144A8A; text-decoration: none; font-size: 10px; text-transform: uppercase; letter-spacing: 2px; left: 50%; -moz-transform: translate3d(-50%, 0, 0); -o-transform: translate3d(-50%, 0, 0); -ms-transform: translate3d(-50%, 0, 0); -webkit-transform: translate3d(-50%, 0, 0); transform: translate3d(-50%, 0, 0); white-space: nowrap; }
.our-pillars .pillar .read-more-link:after { content: ' '; background: url(../img/sprite.png) no-repeat -115px -3px; transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); width: 10px; height: 13px; position: absolute; right: -20px; top: -4px; }
.our-pillars .pillar .read-more-link:hover:after { right: -30px; }

@media (max-width: 768px) { .our-pillars h2 { font-size: 38px; }
  .our-pillars .pillar { width: 100%; position: relative; height: auto; margin: 0; text-align: left; padding-bottom: 0; }
  .our-pillars .pillar h3 { margin: 23px 0 0; }
  .our-pillars .pillar:after { display: none; }
  .our-pillars .pillar hr { display: none; }
  .our-pillars .pillar p { display: none; }
  .our-pillars .pillar .icon-pillar { float: left; margin: 0 20px 0 0; -moz-transform: scale(0.7); -o-transform: scale(0.7); -ms-transform: scale(0.7); -webkit-transform: scale(0.7); transform: scale(0.7); margin-right: 10px; margin-left: 7px; }
  .our-pillars .pillar .read-more-link { position: relative; left: 0; top: 10px; -moz-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  .our-pillars .pillar#our-products-pillar .icon-pillar { margin-right: 4px; margin-left: 0; }
  .our-pillars .body .container { display: block; } }
.owl-carousel .owl-item img { max-width: 100%; width: auto; display: inline; }
.owl-carousel .owl-nav .owl-prev, .owl-carousel .owl-nav .owl-next { width: 18px; height: 39px; background-image: url("../img/sprite.png"); font-size: 0; position: absolute; top: calc(50% - 19px); }
.owl-carousel .owl-nav .owl-prev.owl-prev, .owl-carousel .owl-nav .owl-next.owl-prev { background-position: 0 -88px; left: 0; }
.owl-carousel .owl-nav .owl-prev.owl-next, .owl-carousel .owl-nav .owl-next.owl-next { background-position: -18px -88px; right: 0; }
.owl-carousel .owl-nav .owl-prev.disabled, .owl-carousel .owl-nav .owl-next.disabled { opacity: 0.5; }

.sustainability-banner, .ourpeople-banner, .ourplants-banner { background-color: #B89F7A; background-size: cover; background-position: right center; height: 45vh; width: 100%; position: relative; }

.sustainability-box .inner, .ourpeople-box .inner { /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#282828+0,000000+100 */ background: #282828; /* Old browsers */ background: -moz-linear-gradient(top, #282828 0%, #000000 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, #282828 0%, #000000 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, #282828 0%, #000000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#282828', endColorstr='#000000',GradientType=0 ); /* IE6-9 */ font-size: 0; margin: -72px 0 0; }
.sustainability-box .left, .sustainability-box .right, .ourpeople-box .left, .ourpeople-box .right { display: inline-block; vertical-align: bottom; }
.sustainability-box .left, .ourpeople-box .left { width: 31.25%; }
.sustainability-box .right, .ourpeople-box .right { width: 68.75%; padding: 0 50px; font-size: 20px; }
.sustainability-box .bottom, .ourpeople-box .bottom { display: none; }
.sustainability-box img, .ourpeople-box img { margin: -124px 0 0; max-width: 100%; }
.sustainability-box h2, .ourpeople-box h2 { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Montserrat', sans-serif; font-weight: 700; color: #b99e7e; font-size: 45px; line-height: 45px; text-transform: uppercase; padding: 30px 0 0; }
.sustainability-box p, .ourpeople-box p { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Open Sans', sans-serif; font-weight: 600; font-style: italic; color: #FFF; font-size: 1.35em; line-height: 1.5; padding: 30px 0 30px; margin: 0; }
.sustainability-box.ourpeople-box p, .ourpeople-box.ourpeople-box p { font-size: 1em; line-height: 1.5; }
.sustainability-box h3, .ourpeople-box h3 { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Montserrat', sans-serif; font-weight: 600; color: #b99e7e; font-size: 22px; line-height: 22px; padding: 30px 0 0; }
.sustainability-box h4, .ourpeople-box h4 { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Open Sans', sans-serif; font-weight: 400; color: #FFF; font-size: 13px; line-height: 13px; padding: 5px 0 30px; }
.sustainability-box h3, .sustainability-box h4, .ourpeople-box h3, .ourpeople-box h4 { position: relative; }
.sustainability-box h3:before, .sustainability-box h4:before, .ourpeople-box h3:before, .ourpeople-box h4:before { content: ""; position: relative; width: 20%; height: 1px; background: #b99e7e; display: inline-block; vertical-align: middle; }
.sustainability-box h3 span, .sustainability-box h4 span, .ourpeople-box h3 span, .ourpeople-box h4 span { display: inline-block; vertical-align: middle; width: 80%; padding: 0 0 0 16px; line-height: inherit; }
.sustainability-box h4:before, .ourpeople-box h4:before { background: transparent; }
.sustainability-box h1, .ourpeople-box h1 { font-weight: 700; color: #b99e7e; font-size: 45px; line-height: 45px; text-transform: uppercase; padding: 30px 0 0; padding-top: 30px; }
.sustainability-box div.hd3, .ourpeople-box div.hd3 { font-weight: 600; color: #b99e7e; font-size: 22px; line-height: 22px; padding: 30px 0 0; }
.sustainability-box div.hd4, .ourpeople-box div.hd4 { font-weight: 400; color: #FFF; font-size: 13px; line-height: 13px; padding: 5px 0 30px; }
.sustainability-box div.hd3::before, .sustainability-box div.hd4::before, .ourpeople-box div.hd3::before, .ourpeople-box div.hd4::before { content: ""; position: relative; width: 20%; height: 1px; background: #b99e7e; display: inline-block; vertical-align: middle; }
.sustainability-box div.hd4::before, .ourpeople-box div.hd4::before { background: transparent; }

.sustainability-box .left, .sustainability-box .right { vertical-align: middle; }
.sustainability-box .right h2 { margin-top: 0; padding-top: 0; }
.sustainability-box .right p { padding-bottom: 0; }

.sustainability-items .inner, .sustainability-items .item { font-size: 0; }
.sustainability-items .item, .sustainability-items .left, .sustainability-items .right { display: inline-block; vertical-align: top; }
.sustainability-items .item { width: 50%; padding: 64px 0 0; }
.sustainability-items .left { width: 37.5%; }
.sustainability-items .right { width: 62.5%; padding: 0 20px; }
.sustainability-items img { width: 100%; }
.sustainability-items h3 { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Montserrat', sans-serif; font-weight: 700; color: #2d2d2d; font-size: 26px; line-height: 26px; text-transform: uppercase; padding: 0 0 20px; }
.sustainability-items p { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Open Sans', sans-serif; font-weight: 400; color: #3e3e3e; font-size: 17px; line-height: 21px; padding: 0 0 20px; margin: 0; }
.sustainability-items a { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Open Sans', sans-serif; font-weight: 700; color: #f3292d; font-size: 13px; line-height: 13px; text-decoration: none; text-transform: uppercase; }

.ourpeople-testimonials { background-color: #F4F4F4; margin: 45px 0 0; }
.ourpeople-testimonials .slide { font-size: 0; padding: 40px 0; }
.ourpeople-testimonials .left, .ourpeople-testimonials .right { display: inline-block; vertical-align: middle; }
.ourpeople-testimonials .left { width: 25%; margin: 0 0 0 6.25%; padding: 0 15px 0 0; text-align: right; }
.ourpeople-testimonials .right { width: 62.5%; margin: 0 6.25% 0 0; padding: 0 0 0 15px; }
.ourpeople-testimonials h3 { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Montserrat', sans-serif; font-weight: 600; color: #2d2d2d; font-size: 22px; line-height: 22px; padding: 0 0 6px; }
.ourpeople-testimonials h4 { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Open Sans', sans-serif; font-weight: 400; color: #2d2d2d; font-size: 13px; line-height: 13px; padding: 0 0 20px; }
.ourpeople-testimonials p { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Open Sans', sans-serif; font-weight: 600; font-style: italic; color: #3e3e3e; font-size: 25px; line-height: 30px; margin: 0; }

.ourpeople-article .inner { font-size: 0; padding: 60px 0 120px; }
.ourpeople-article .left, .ourpeople-article .right { display: inline-block; vertical-align: top; }
.ourpeople-article .left { width: 62.5%; padding: 0 40px 0 0; font-size: 17px; }
.ourpeople-article .right { width: 37.5%; }
.ourpeople-article img { width: 100%; }
.ourpeople-article h3 { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Montserrat', sans-serif; font-weight: 700; color: #2d2d2d; font-size: 26px; line-height: 26px; text-transform: uppercase; padding: 0 0 30px; }
.ourpeople-article p { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Open Sans', sans-serif; font-weight: 400; color: #3e3e3e; font-size: 1em; line-height: 1.5; margin: 0 0 30px 0; }
.ourpeople-article div.quote { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 'Open Sans', sans-serif; font-weight: 600; font-style: italic; color: #004d88; font-size: 25px; line-height: 30px; padding: 40px 70px; }

@media (max-width: 1300px) { .sustainability-box h2, .ourpeople-box h2 { font-size: 38px; line-height: 38px; }
  .sustainability-box p, .ourpeople-box p { font-size: 20px; line-height: 27px; }
  .sustainability-box.ourpeople-box p, .ourpeople-box.ourpeople-box p { font-size: 18px; line-height: 25px; }
  .sustainability-items h3 { font-size: 24px; line-height: 24px; padding: 0 0 15px; }
  .sustainability-items p { font-size: 15px; line-height: 19px; padding: 0 0 15px; } }
@media (min-width: 981px) and (max-width: 1024px) { .sustainability-box h2, .ourpeople-box h2 { font-size: 36px; line-height: 36px; } }
@media (max-width: 980px) { .sustainability-box h2, .ourpeople-box h2 { font-size: 26px; line-height: 26px; padding: 20px 0 0; }
  .sustainability-box p, .ourpeople-box p { font-size: 14px; line-height: 21px; padding: 20px 0 0; }
  .sustainability-box.ourpeople-box p, .ourpeople-box.ourpeople-box p { font-size: 13px; line-height: 20px; }
  .sustainability-box h3, .ourpeople-box h3 { font-size: 18px; line-height: 22px; padding: 20px 0 0; }
  .sustainability-box h4, .ourpeople-box h4 { font-size: 11px; line-height: 11px; padding: 2px 0 20px; }
  .sustainability-items .item { display: block; vertical-align: initial; padding: 50px 0 0; width: 100%; }
  .sustainability-items h3 { font-size: 28px; line-height: 28px; padding: 0 0 20px; }
  .sustainability-items p { font-size: 19px; line-height: 23px; padding: 0 0 20px; } }
@media (max-width: 768px) { .ourpeople-article .left { width: 100%; padding: 0; }
  .ourpeople-article .right { width: 100%; }
  .ourpeople-article div.quote { font-size: 17px; line-height: 1.2em; padding: 0; margin-bottom: 30px; }
  .ourpeople-article img { margin-bottom: 20px; }
  .about-our-plants .column.left { margin: 0 !important; width: 100% !important; }
  .about-our-plants .column.right { width: 90% !important; }
  .ourpeople-testimonials { margin: 0; }
  .ourpeople-testimonials p { font-size: 14px; line-height: 1.2em; }
  .ourpeople-testimonials .slide { text-align: center; }
  .ourpeople-testimonials .left { width: 100%; text-align: center; margin: 0; }
  .ourpeople-testimonials .left img { margin-bottom: 20px; max-width: 40%; }
  .sustainability-box .container, .ourpeople-box .container { padding: 0; }
  .sustainability-box .inner, .ourpeople-box .inner { margin: 10px 0 0; background: #2d2d2d; padding-top: 25px; }
  .sustainability-box .left, .ourpeople-box .left { display: none; }
  .sustainability-box .right, .ourpeople-box .right { display: block; vertical-align: initial; width: 100%; padding: 0; }
  .sustainability-box .top, .ourpeople-box .top { display: none; }
  .sustainability-box .bottom, .ourpeople-box .bottom { display: block; font-size: 0; padding: 30px 0 0; }
  .sustainability-box .left2, .sustainability-box .right2, .ourpeople-box .left2, .ourpeople-box .right2 { display: inline-block; vertical-align: top; }
  .sustainability-box .left2, .ourpeople-box .left2 { width: 25%; }
  .sustainability-box .right2, .ourpeople-box .right2 { width: 75%; }
  .sustainability-box img, .ourpeople-box img { margin: 0; }
  .sustainability-box h2, .ourpeople-box h2 { font-size: 45px; line-height: 45px; padding: 30px 30px 0; }
  .sustainability-box p, .ourpeople-box p { font-size: 32px; line-height: 42px; padding: 30px 30px 0; }
  .sustainability-box.ourpeople-box p, .ourpeople-box.ourpeople-box p { font-size: 30px; line-height: 40px; }
  .sustainability-box h3, .ourpeople-box h3 { font-size: 32px; line-height: 32px; padding: 0 30px 0 0; }
  .sustainability-box h4, .ourpeople-box h4 { font-size: 25px; line-height: 35px; padding: 10px 30px 30px 0; }
  .sustainability-box h3:before, .sustainability-box h4:before, .ourpeople-box h3:before, .ourpeople-box h4:before { content: unset; }
  .sustainability-items .container { padding: 0; }
  .sustainability-items .inner { padding: 30px 0 0; }
  .sustainability-items .item { display: block; vertical-align: initial; padding: 50px 0 0; width: 100%; }
  .sustainability-items .left { width: 31.25%; margin: 0 0 0 6.25%; }
  .sustainability-items .right { width: 50%; padding: 0; margin: 0 6.25%; }
  .sustainability-items h3 { font-size: 34px; line-height: 34px; }
  .sustainability-items p { display: none; }
  .sustainability-items a { font-size: 22px; line-height: 22px; }
  .page-template-page-our-people .sustainability-banner { top: 38px; background-position: 83% 0; }
  .page-template-page-our-pigs .sustainability-banner { background-position: 42% 0; } }
@media (max-width: 559px) { .sustainability-box h2, .ourpeople-box h2 { font-size: 30px; line-height: 30px; padding: 20px 20px 0; }
  .sustainability-box p, .ourpeople-box p { font-size: 16px; line-height: 1.5; padding: 20px 20px 0; }
  .sustainability-box.ourpeople-box p, .ourpeople-box.ourpeople-box p { font-size: 16px; line-height: 1.5; }
  .sustainability-box h3, .ourpeople-box h3 { font-size: 24px; line-height: 24px; padding: 0 20px 0 0; }
  .sustainability-box h4, .ourpeople-box h4 { font-size: 16px; line-height: 26px; padding: 5px 20px 20px 0; }
  .sustainability-items .left, .sustainability-items .right { display: block; vertical-align: initial; width: 87.5%; margin: 0 6.25%; }
  .sustainability-items h3 { padding-top: 20px; } }
.bottom-articles { background: #f4f4f4; clear: both; margin-top: 40px; padding: 40px; }
.bottom-articles h3 { color: #2d2d2d; margin-top: 20px; margin-bottom: 10px; line-height: 1em; text-transform: uppercase; font-size: 22px !important; font-size: 1.4vw !important; min-height: 20px; }
.bottom-articles a { font-size: 13px; color: #a9002d; text-decoration: none; text-transform: uppercase; }
.bottom-articles .grid-flex > div { padding-left: 10px; padding-right: 10px; max-width: 33.333%; padding-bottom: 12px; }
.bottom-articles .grid-flex > div.active { background: white; }
.bottom-articles img { width: 100%; height: auto; }
.bottom-articles .thumb { display: block; height: 220px; }
.bottom-articles .extend { display: none; padding: 30px; background: white; line-height: 1.4; }

#peers .owl-stage { margin: 0 auto; }
#peers .owl-item { width: 24%; padding: 0 0.5%; }
#peers .owl-prev { left: -80px; background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgZGF0YS1uYW1lPSJMaXZlbGxvIDEiIGlkPSJMaXZlbGxvXzEiIHZpZXdCb3g9IjAgMCAyMC41NyAzOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6IzE0NEE4QTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjRweDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlLz48cG9seWxpbmUgY2xhc3M9ImNscy0xIiBwb2ludHM9IjE4LjU0IDIgMiAxOC44NiAxOC41NyAzNiIvPjwvc3ZnPg=="); }
@media (min-width: 768px) and (max-width: 1500px) { #peers .owl-prev { left: -44px; } }
#peers .owl-next { right: -80px; background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgZGF0YS1uYW1lPSJMaXZlbGxvIDEiIGlkPSJMaXZlbGxvXzEiIHZpZXdCb3g9IjAgMCAyMC41NyAzOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6IzE0NEE4QTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjRweDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlLz48cG9seWxpbmUgY2xhc3M9ImNscy0xIiBwb2ludHM9IjIuMDMgMzYgMTguNTcgMTkuMTQgMiAyIi8+PC9zdmc+"); }
@media (min-width: 768px) and (max-width: 1500px) { #peers .owl-next { right: -44px; } }
#peers .owl-prev, #peers .owl-next { position: absolute; top: 50%; display: inline-block; width: 40px; background-size: contain; background-position: center center; background-repeat: no-repeat; -moz-transform: translate3d(0px, -50%, 0); -o-transform: translate3d(0px, -50%, 0); -ms-transform: translate3d(0px, -50%, 0); -webkit-transform: translate3d(0px, -50%, 0); transform: translate3d(0px, -50%, 0); }
@media (max-width: 768px) { #peers h3 { font-size: 22px !important; }
  #peers .thumb { margin-bottom: 20px; } }

@media (min-width: 768px) { .bottom-articles .mobile { display: none !important; } }
@media (max-width: 768px) { .bottom-articles { padding: 20px 10px; }
  .bottom-articles h3 { font-size: 14px !important; margin-top: 0 !important; }
  .bottom-articles img { max-width: 40%; vertical-align: top; }
  .bottom-articles .grid-flex { display: block; }
  .bottom-articles .grid-flex > div { margin-bottom: 20px; max-width: 100%; }
  .bottom-articles .grid-flex > div > div { display: inline-block; max-width: 100%; vertical-align: top; margin-left: 5%; margin-top: 20px; }
  .bottom-articles .extend { max-width: 100%; padding: 10px 0; }
  .bottom-articles .extend img { max-width: 100%; }
  .bottom-articles .expandable { background-size: contain !important; background-repeat: no-repeat !important; } }
/** COMPONENTS **/
.banner { height: 450px; height: 45vh; background-size: cover; background-repeat: no-repeat; background-position: center center; }

.sub-banner { top: -100px; position: relative; margin-bottom: -100px; }
.sub-banner h2 { margin-bottom: 20px; font-size: 40px; font-size: 2vw; text-transform: uppercase; }
.sub-banner a { color: inherit; }
.sub-banner p + a { background-color: #f3292d; color: white; display: inline-block; margin-top: 30px; padding: 18px 38px; text-decoration: none; text-transform: uppercase; }
.sub-banner p { line-height: 1.5; font-size: 17px; font-size: 1.3vw; }
.sub-banner img { max-width: 100%; display: inline-block; vertical-align: middle; }
.sub-banner img + * { display: inline-block; margin-bottom: 40px; margin-left: 5%; margin-top: 100px; padding-top: 20px; vertical-align: middle; width: 55%; }

@media all and (max-width: 1500px) { .sub-banner img { max-width: 25%; } }
@media (max-width: 768px) { .banner { height: 150px; margin-top: 50px; }
  .sub-banner { top: 0; margin-bottom: 0; }
  .sub-banner h2 { font-size: 6vw; }
  .sub-banner p { font-size: 15px; }
  .sub-banner img { display: none; }
  .sub-banner img + * { width: 90%; margin-top: 0; } }
.btn { background-color: #a4292d; color: white; display: inline-block; margin-top: 30px; padding: 18px 38px; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.btn.btn-main { background: #EE2E25; color: #FFF; }
.btn.btn-arrow { padding: 12px 40px 12px 25px; position: relative; }
.btn.btn-arrow:after { content: ' '; background: url(../img/sprite.png) no-repeat -103px -3px; width: 10px; height: 13px; position: absolute; right: 14px; top: 13px; }

.btn.back { margin-top: 0; margin-bottom: 20px; }
.btn.back:after { -moz-transform: rotate(180deg); -o-transform: rotate(180deg); -ms-transform: rotate(180deg); -webkit-transform: rotate(180deg); transform: rotate(180deg); left: 20px; position: absolute; top: 20px; }

.arrow:after { transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); content: ' '; background-image: url('data:image/svg+xml;utf8,<svg x="0px" y="0px" viewBox="0 0 14.2 31.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="enable-background:new 0 0 14.2 31.2;"><polygon fill="red" points="0.8,30.7 0,30 13.1,15.6 0,1.2 0.8,0.5 14.5,15.6"/></svg>'); top: -1px; position: relative; left: 10px; width: 5px; height: 11px; display: inline-block; vertical-align: middle; }
.arrow:hover:after { left: 20px; }
.arrow.white:after { background-image: url('data:image/svg+xml;utf8,<svg x="0px" y="0px" viewBox="0 0 14.2 31.2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="enable-background:new 0 0 14.2 31.2;"><polygon fill="white" points="0.8,30.7 0,30 13.1,15.6 0,1.2 0.8,0.5 14.5,15.6"/></svg>'); }

.arrow.white { overflow: hidden; position: relative; }
.arrow.white span { z-index: 20; }
.arrow.white:before { background: #fff; content: ""; height: 155px; left: -75px; opacity: .2; position: absolute; top: -50px; transform: rotate(35deg); transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); width: 50px; z-index: 10; }
.arrow.white:hover:before { left: 120%; transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); }

.shine { overflow: hidden; position: relative; transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); }
.shine:before { background: #fff; content: ""; height: 140%; left: -50%; opacity: .2; position: absolute; top: -50px; transform: rotate(35deg); transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); width: 50px; z-index: 10; }
.shine:hover:before { left: 120%; transition: all 550ms cubic-bezier(0.19, 1, 0.22, 1); }

/* Hoshi */
.input { position: relative; z-index: 1; display: block; width: 100%; vertical-align: top; }

.input__field { position: relative; display: block; float: right; padding: 0.8em; width: 60%; border: none; border-radius: 0; background: #f0f0f0; color: #aaa; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-appearance: none; /* for box shadows to show on iOS */ }

.input__field:focus { outline: none; }

.input__label { display: inline-block; float: right; padding: 0 1em; width: 40%; color: #3e3e3e; font-size: 70.25%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

.input__label-content { position: relative; display: block; width: 100%; padding: 14px 0; }

.input--hoshi { overflow: hidden; }

.input__field--hoshi { margin-top: 1em; padding: 20px 4px; width: 100%; background: transparent; color: #595F6E; }

.input__label--hoshi { position: absolute; bottom: 0; left: 0; padding: 0 4px; width: 100%; height: calc(100% - 1em); text-align: left; pointer-events: none; font-size: 15px; }

.input__label-content--hoshi { position: absolute; }

.input__label--hoshi::before, .input__label--hoshi::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: calc(100% - 10px); border-bottom: 1px solid #8b7c6c; }

.input__label--hoshi::after { margin-top: 0; border-bottom: 4px solid #8b7c6c; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); -webkit-transition: -webkit-transform 0.3s; transition: transform 0.3s; }

.input__label--hoshi-color-1::after { border-color: #8b7c6c; }

.input__field--hoshi:focus + .input__label--hoshi::after, .input--filled .input__label--hoshi::after { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.input__field--hoshi:focus + .input__label--hoshi .input__label-content--hoshi, .input--filled .input__label-content--hoshi { -webkit-animation: anim-1 0.3s forwards; animation: anim-1 0.3s forwards; }

.input--filled .input__label--hoshi { color: #8b7c6c; font-weight: bold; }

@-webkit-keyframes anim-1 { 50% { opacity: 0; -webkit-transform: translate3d(1em, 0, 0); transform: translate3d(1em, 0, 0); }
  51% { opacity: 0; -webkit-transform: translate3d(-1em, -40%, 0); transform: translate3d(-1em, -40%, 0); }
  100% { opacity: 1; -webkit-transform: translate3d(0, -40%, 0); transform: translate3d(0, -40%, 0); } }
@keyframes anim-1 { 50% { opacity: 0; -webkit-transform: translate3d(1em, 0, 0); transform: translate3d(1em, 0, 0); }
  51% { opacity: 0; -webkit-transform: translate3d(-1em, -40%, 0); transform: translate3d(-1em, -40%, 0); }
  100% { opacity: 1; -webkit-transform: translate3d(0, -40%, 0); transform: translate3d(0, -40%, 0); } }
.tc-wrap { font-size: 0; max-width: 100%; }

.tc { display: inline-block; margin-top: 68px; vertical-align: top; width: 50%; position: relative; }
.tc img { width: 240px; display: inline-block; vertical-align: top; max-width: 40%; height: auto; /*min-height: 175px;*/ }
.tc h3 { margin-top: 0 !important; }
.tc img + *, .tc > a + * { display: inline-block; padding-left: 20px; padding-right: 20px; text-align: left; width: 400px; max-width: 60%; }
.tc img + * > *:first-child, .tc > a + * > *:first-child { color: #2d2d2d; font-size: 26px; line-height: 1em; /*min-height: 62px;*/ text-transform: uppercase; }
.tc img + * p, .tc > a + * p { font-size: 17px; margin: 14px 0 30px 0; min-height: 50px; text-align: justify; }
.tc img + * a, .tc > a + * a { color: #f3292d; display: inline-block; font-size: 13px; text-decoration: none; text-transform: uppercase; position: absolute; bottom: 10px; }

@media (max-width: 768px) { .tc { width: 100%; margin-top: 30px; }
  .tc img { height: auto; }
  .tc img + * p { font-size: 14px; }
  .tc img + * > *:first-child { font-size: 18px !important; min-height: 0; } }
.icon-sprite { background: url(../img/sprite.png?v2) no-repeat 0 0; }

h1, h2, h3 { color: #144A8A; font-size: 38px; line-height: 1.2; }

h4 { font-size: 20px; line-height: 1; }

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2017 Daniel Eden
 */
.animated { animation-duration: 1s; animation-fill-mode: both; }

.animated.infinite { animation-iteration-count: infinite; }

.animated.hinge { animation-duration: 2s; }

.animated.flipOutX, .animated.flipOutY, .animated.bounceIn, .animated.bounceOut { animation-duration: .75s; }

@keyframes bounce { from, 20%, 53%, 80%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); transform: translate3d(0, 0, 0); }
  40%, 43% { animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); transform: translate3d(0, -30px, 0); }
  70% { animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); transform: translate3d(0, -15px, 0); }
  90% { transform: translate3d(0, -4px, 0); } }
.bounce { animation-name: bounce; transform-origin: center bottom; }

@keyframes flash { from, 50%, to { opacity: 1; }
  25%, 75% { opacity: 0; } }
.flash { animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse { from { transform: scale3d(1, 1, 1); }
  50% { transform: scale3d(1.05, 1.05, 1.05); }
  to { transform: scale3d(1, 1, 1); } }
.pulse { animation-name: pulse; }

@keyframes rubberBand { from { transform: scale3d(1, 1, 1); }
  30% { transform: scale3d(1.25, 0.75, 1); }
  40% { transform: scale3d(0.75, 1.25, 1); }
  50% { transform: scale3d(1.15, 0.85, 1); }
  65% { transform: scale3d(0.95, 1.05, 1); }
  75% { transform: scale3d(1.05, 0.95, 1); }
  to { transform: scale3d(1, 1, 1); } }
.rubberBand { animation-name: rubberBand; }

@keyframes shake { from, to { transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% { transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% { transform: translate3d(10px, 0, 0); } }
.shake { animation-name: shake; }

@keyframes headShake { 0% { transform: translateX(0); }
  6.5% { transform: translateX(-6px) rotateY(-9deg); }
  18.5% { transform: translateX(5px) rotateY(7deg); }
  31.5% { transform: translateX(-3px) rotateY(-5deg); }
  43.5% { transform: translateX(2px) rotateY(3deg); }
  50% { transform: translateX(0); } }
.headShake { animation-timing-function: ease-in-out; animation-name: headShake; }

@keyframes swing { 20% { transform: rotate3d(0, 0, 1, 15deg); }
  40% { transform: rotate3d(0, 0, 1, -10deg); }
  60% { transform: rotate3d(0, 0, 1, 5deg); }
  80% { transform: rotate3d(0, 0, 1, -5deg); }
  to { transform: rotate3d(0, 0, 1, 0deg); } }
.swing { transform-origin: top center; animation-name: swing; }

@keyframes tada { from { transform: scale3d(1, 1, 1); }
  10%, 20% { transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% { transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to { transform: scale3d(1, 1, 1); } }
.tada { animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble { from { transform: none; }
  15% { transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% { transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% { transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% { transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% { transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to { transform: none; } }
.wobble { animation-name: wobble; }

@keyframes jello { from, 11.1%, to { transform: none; }
  22.2% { transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% { transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% { transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% { transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% { transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% { transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% { transform: skewX(-0.19531deg) skewY(-0.19531deg); } }
.jello { animation-name: jello; transform-origin: center; }

@keyframes bounceIn { from, 20%, 40%, 60%, 80%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
  20% { transform: scale3d(1.1, 1.1, 1.1); }
  40% { transform: scale3d(0.9, 0.9, 0.9); }
  60% { opacity: 1; transform: scale3d(1.03, 1.03, 1.03); }
  80% { transform: scale3d(0.97, 0.97, 0.97); }
  to { opacity: 1; transform: scale3d(1, 1, 1); } }
.bounceIn { animation-name: bounceIn; }

@keyframes bounceInDown { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { opacity: 0; transform: translate3d(0, -3000px, 0); }
  60% { opacity: 1; transform: translate3d(0, 25px, 0); }
  75% { transform: translate3d(0, -10px, 0); }
  90% { transform: translate3d(0, 5px, 0); }
  to { transform: none; } }
.bounceInDown { animation-name: bounceInDown; }

@keyframes bounceInLeft { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% { opacity: 0; transform: translate3d(-3000px, 0, 0); }
  60% { opacity: 1; transform: translate3d(25px, 0, 0); }
  75% { transform: translate3d(-10px, 0, 0); }
  90% { transform: translate3d(5px, 0, 0); }
  to { transform: none; } }
.bounceInLeft { animation-name: bounceInLeft; }

@keyframes bounceInRight { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from { opacity: 0; transform: translate3d(3000px, 0, 0); }
  60% { opacity: 1; transform: translate3d(-25px, 0, 0); }
  75% { transform: translate3d(10px, 0, 0); }
  90% { transform: translate3d(-5px, 0, 0); }
  to { transform: none; } }
.bounceInRight { animation-name: bounceInRight; }

@keyframes bounceInUp { from, 60%, 75%, 90%, to { animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from { opacity: 0; transform: translate3d(0, 3000px, 0); }
  60% { opacity: 1; transform: translate3d(0, -20px, 0); }
  75% { transform: translate3d(0, 10px, 0); }
  90% { transform: translate3d(0, -5px, 0); }
  to { transform: translate3d(0, 0, 0); } }
.bounceInUp { animation-name: bounceInUp; }

@keyframes bounceOut { 20% { transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% { opacity: 1; transform: scale3d(1.1, 1.1, 1.1); }
  to { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); } }
.bounceOut { animation-name: bounceOut; }

@keyframes bounceOutDown { 20% { transform: translate3d(0, 10px, 0); }
  40%, 45% { opacity: 1; transform: translate3d(0, -20px, 0); }
  to { opacity: 0; transform: translate3d(0, 2000px, 0); } }
.bounceOutDown { animation-name: bounceOutDown; }

@keyframes bounceOutLeft { 20% { opacity: 1; transform: translate3d(20px, 0, 0); }
  to { opacity: 0; transform: translate3d(-2000px, 0, 0); } }
.bounceOutLeft { animation-name: bounceOutLeft; }

@keyframes bounceOutRight { 20% { opacity: 1; transform: translate3d(-20px, 0, 0); }
  to { opacity: 0; transform: translate3d(2000px, 0, 0); } }
.bounceOutRight { animation-name: bounceOutRight; }

@keyframes bounceOutUp { 20% { transform: translate3d(0, -10px, 0); }
  40%, 45% { opacity: 1; transform: translate3d(0, 20px, 0); }
  to { opacity: 0; transform: translate3d(0, -2000px, 0); } }
.bounceOutUp { animation-name: bounceOutUp; }

@keyframes fadeIn { from { opacity: 0; }
  to { opacity: 1; } }
.fadeIn { animation-name: fadeIn; }

@keyframes fadeInDown { from { opacity: 0; transform: translate3d(0, -100%, 0); }
  to { opacity: 1; transform: none; } }
.fadeInDown { animation-name: fadeInDown; }

@keyframes fadeInDownBig { from { opacity: 0; transform: translate3d(0, -2000px, 0); }
  to { opacity: 1; transform: none; } }
.fadeInDownBig { animation-name: fadeInDownBig; }

@keyframes fadeInLeft { from { opacity: 0; transform: translate3d(-100%, 0, 0); }
  to { opacity: 1; transform: none; } }
.fadeInLeft { animation-name: fadeInLeft; }

@keyframes fadeInLeftBig { from { opacity: 0; transform: translate3d(-2000px, 0, 0); }
  to { opacity: 1; transform: none; } }
.fadeInLeftBig { animation-name: fadeInLeftBig; }

@keyframes fadeInRight { from { opacity: 0; transform: translate3d(100%, 0, 0); }
  to { opacity: 1; transform: none; } }
.fadeInRight { animation-name: fadeInRight; }

@keyframes fadeInRightBig { from { opacity: 0; transform: translate3d(2000px, 0, 0); }
  to { opacity: 1; transform: none; } }
.fadeInRightBig { animation-name: fadeInRightBig; }

@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 100%, 0); }
  to { opacity: 1; transform: none; } }
.fadeInUp { animation-name: fadeInUp; }

@keyframes fadeInUpBig { from { opacity: 0; transform: translate3d(0, 2000px, 0); }
  to { opacity: 1; transform: none; } }
.fadeInUpBig { animation-name: fadeInUpBig; }

@keyframes fadeOut { from { opacity: 1; }
  to { opacity: 0; } }
.fadeOut { animation-name: fadeOut; }

@keyframes fadeOutDown { from { opacity: 1; }
  to { opacity: 0; transform: translate3d(0, 100%, 0); } }
.fadeOutDown { animation-name: fadeOutDown; }

@keyframes fadeOutDownBig { from { opacity: 1; }
  to { opacity: 0; transform: translate3d(0, 2000px, 0); } }
.fadeOutDownBig { animation-name: fadeOutDownBig; }

@keyframes fadeOutLeft { from { opacity: 1; }
  to { opacity: 0; transform: translate3d(-100%, 0, 0); } }
.fadeOutLeft { animation-name: fadeOutLeft; }

@keyframes fadeOutLeftBig { from { opacity: 1; }
  to { opacity: 0; transform: translate3d(-2000px, 0, 0); } }
.fadeOutLeftBig { animation-name: fadeOutLeftBig; }

@keyframes fadeOutRight { from { opacity: 1; }
  to { opacity: 0; transform: translate3d(100%, 0, 0); } }
.fadeOutRight { animation-name: fadeOutRight; }

@keyframes fadeOutRightBig { from { opacity: 1; }
  to { opacity: 0; transform: translate3d(2000px, 0, 0); } }
.fadeOutRightBig { animation-name: fadeOutRightBig; }

@keyframes fadeOutUp { from { opacity: 1; }
  to { opacity: 0; transform: translate3d(0, -100%, 0); } }
.fadeOutUp { animation-name: fadeOutUp; }

@keyframes fadeOutUpBig { from { opacity: 1; }
  to { opacity: 0; transform: translate3d(0, -2000px, 0); } }
.fadeOutUpBig { animation-name: fadeOutUpBig; }

@keyframes flip { from { transform: perspective(400px) rotate3d(0, 1, 0, -360deg); animation-timing-function: ease-out; }
  40% { transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); animation-timing-function: ease-out; }
  50% { transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); animation-timing-function: ease-in; }
  80% { transform: perspective(400px) scale3d(0.95, 0.95, 0.95); animation-timing-function: ease-in; }
  to { transform: perspective(400px); animation-timing-function: ease-in; } }
.animated.flip { -webkit-backface-visibility: visible; backface-visibility: visible; animation-name: flip; }

@keyframes flipInX { from { transform: perspective(400px) rotate3d(1, 0, 0, 90deg); animation-timing-function: ease-in; opacity: 0; }
  40% { transform: perspective(400px) rotate3d(1, 0, 0, -20deg); animation-timing-function: ease-in; }
  60% { transform: perspective(400px) rotate3d(1, 0, 0, 10deg); opacity: 1; }
  80% { transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to { transform: perspective(400px); } }
.flipInX { -webkit-backface-visibility: visible !important; backface-visibility: visible !important; animation-name: flipInX; }

@keyframes flipInY { from { transform: perspective(400px) rotate3d(0, 1, 0, 90deg); animation-timing-function: ease-in; opacity: 0; }
  40% { transform: perspective(400px) rotate3d(0, 1, 0, -20deg); animation-timing-function: ease-in; }
  60% { transform: perspective(400px) rotate3d(0, 1, 0, 10deg); opacity: 1; }
  80% { transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to { transform: perspective(400px); } }
.flipInY { -webkit-backface-visibility: visible !important; backface-visibility: visible !important; animation-name: flipInY; }

@keyframes flipOutX { from { transform: perspective(400px); }
  30% { transform: perspective(400px) rotate3d(1, 0, 0, -20deg); opacity: 1; }
  to { transform: perspective(400px) rotate3d(1, 0, 0, 90deg); opacity: 0; } }
.flipOutX { animation-name: flipOutX; -webkit-backface-visibility: visible !important; backface-visibility: visible !important; }

@keyframes flipOutY { from { transform: perspective(400px); }
  30% { transform: perspective(400px) rotate3d(0, 1, 0, -15deg); opacity: 1; }
  to { transform: perspective(400px) rotate3d(0, 1, 0, 90deg); opacity: 0; } }
.flipOutY { -webkit-backface-visibility: visible !important; backface-visibility: visible !important; animation-name: flipOutY; }

@keyframes lightSpeedIn { from { transform: translate3d(100%, 0, 0) skewX(-30deg); opacity: 0; }
  60% { transform: skewX(20deg); opacity: 1; }
  80% { transform: skewX(-5deg); opacity: 1; }
  to { transform: none; opacity: 1; } }
.lightSpeedIn { animation-name: lightSpeedIn; animation-timing-function: ease-out; }

@keyframes lightSpeedOut { from { opacity: 1; }
  to { transform: translate3d(100%, 0, 0) skewX(30deg); opacity: 0; } }
.lightSpeedOut { animation-name: lightSpeedOut; animation-timing-function: ease-in; }

@keyframes rotateIn { from { transform-origin: center; transform: rotate3d(0, 0, 1, -200deg); opacity: 0; }
  to { transform-origin: center; transform: none; opacity: 1; } }
.rotateIn { animation-name: rotateIn; }

@keyframes rotateInDownLeft { from { transform-origin: left bottom; transform: rotate3d(0, 0, 1, -45deg); opacity: 0; }
  to { transform-origin: left bottom; transform: none; opacity: 1; } }
.rotateInDownLeft { animation-name: rotateInDownLeft; }

@keyframes rotateInDownRight { from { transform-origin: right bottom; transform: rotate3d(0, 0, 1, 45deg); opacity: 0; }
  to { transform-origin: right bottom; transform: none; opacity: 1; } }
.rotateInDownRight { animation-name: rotateInDownRight; }

@keyframes rotateInUpLeft { from { transform-origin: left bottom; transform: rotate3d(0, 0, 1, 45deg); opacity: 0; }
  to { transform-origin: left bottom; transform: none; opacity: 1; } }
.rotateInUpLeft { animation-name: rotateInUpLeft; }

@keyframes rotateInUpRight { from { transform-origin: right bottom; transform: rotate3d(0, 0, 1, -90deg); opacity: 0; }
  to { transform-origin: right bottom; transform: none; opacity: 1; } }
.rotateInUpRight { animation-name: rotateInUpRight; }

@keyframes rotateOut { from { transform-origin: center; opacity: 1; }
  to { transform-origin: center; transform: rotate3d(0, 0, 1, 200deg); opacity: 0; } }
.rotateOut { animation-name: rotateOut; }

@keyframes rotateOutDownLeft { from { transform-origin: left bottom; opacity: 1; }
  to { transform-origin: left bottom; transform: rotate3d(0, 0, 1, 45deg); opacity: 0; } }
.rotateOutDownLeft { animation-name: rotateOutDownLeft; }

@keyframes rotateOutDownRight { from { transform-origin: right bottom; opacity: 1; }
  to { transform-origin: right bottom; transform: rotate3d(0, 0, 1, -45deg); opacity: 0; } }
.rotateOutDownRight { animation-name: rotateOutDownRight; }

@keyframes rotateOutUpLeft { from { transform-origin: left bottom; opacity: 1; }
  to { transform-origin: left bottom; transform: rotate3d(0, 0, 1, -45deg); opacity: 0; } }
.rotateOutUpLeft { animation-name: rotateOutUpLeft; }

@keyframes rotateOutUpRight { from { transform-origin: right bottom; opacity: 1; }
  to { transform-origin: right bottom; transform: rotate3d(0, 0, 1, 90deg); opacity: 0; } }
.rotateOutUpRight { animation-name: rotateOutUpRight; }

@keyframes hinge { 0% { transform-origin: top left; animation-timing-function: ease-in-out; }
  20%, 60% { transform: rotate3d(0, 0, 1, 80deg); transform-origin: top left; animation-timing-function: ease-in-out; }
  40%, 80% { transform: rotate3d(0, 0, 1, 60deg); transform-origin: top left; animation-timing-function: ease-in-out; opacity: 1; }
  to { transform: translate3d(0, 700px, 0); opacity: 0; } }
.hinge { animation-name: hinge; }

@keyframes jackInTheBox { from { opacity: 0; transform: scale(0.1) rotate(30deg); transform-origin: center bottom; }
  50% { transform: rotate(-10deg); }
  70% { transform: rotate(3deg); }
  to { opacity: 1; transform: scale(1); } }
.jackInTheBox { animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn { from { opacity: 0; transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to { opacity: 1; transform: none; } }
.rollIn { animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollOut { from { opacity: 1; }
  to { opacity: 0; transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }
.rollOut { animation-name: rollOut; }

@keyframes zoomIn { from { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
  50% { opacity: 1; } }
.zoomIn { animation-name: zoomIn; }

@keyframes zoomInDown { from { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomInDown { animation-name: zoomInDown; }

@keyframes zoomInLeft { from { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomInLeft { animation-name: zoomInLeft; }

@keyframes zoomInRight { from { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomInRight { animation-name: zoomInRight; }

@keyframes zoomInUp { from { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomInUp { animation-name: zoomInUp; }

@keyframes zoomOut { from { opacity: 1; }
  50% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
  to { opacity: 0; } }
.zoomOut { animation-name: zoomOut; }

@keyframes zoomOutDown { 40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); transform-origin: center bottom; animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomOutDown { animation-name: zoomOutDown; }

@keyframes zoomOutLeft { 40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to { opacity: 0; transform: scale(0.1) translate3d(-2000px, 0, 0); transform-origin: left center; } }
.zoomOutLeft { animation-name: zoomOutLeft; }

@keyframes zoomOutRight { 40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to { opacity: 0; transform: scale(0.1) translate3d(2000px, 0, 0); transform-origin: right center; } }
.zoomOutRight { animation-name: zoomOutRight; }

@keyframes zoomOutUp { 40% { opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to { opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); transform-origin: center bottom; animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomOutUp { animation-name: zoomOutUp; }

@keyframes slideInDown { from { transform: translate3d(0, -100%, 0); visibility: visible; }
  to { transform: translate3d(0, 0, 0); } }
.slideInDown { animation-name: slideInDown; }

@keyframes slideInLeft { from { transform: translate3d(-100%, 0, 0); visibility: visible; }
  to { transform: translate3d(0, 0, 0); } }
.slideInLeft { animation-name: slideInLeft; }

@keyframes slideInRight { from { transform: translate3d(100%, 0, 0); visibility: visible; }
  to { transform: translate3d(0, 0, 0); } }
.slideInRight { animation-name: slideInRight; }

@keyframes slideInUp { from { transform: translate3d(0, 100%, 0); visibility: visible; }
  to { transform: translate3d(0, 0, 0); } }
.slideInUp { animation-name: slideInUp; }

@keyframes slideOutDown { from { transform: translate3d(0, 0, 0); }
  to { visibility: hidden; transform: translate3d(0, 100%, 0); } }
.slideOutDown { animation-name: slideOutDown; }

@keyframes slideOutLeft { from { transform: translate3d(0, 0, 0); }
  to { visibility: hidden; transform: translate3d(-100%, 0, 0); } }
.slideOutLeft { animation-name: slideOutLeft; }

@keyframes slideOutRight { from { transform: translate3d(0, 0, 0); }
  to { visibility: hidden; transform: translate3d(100%, 0, 0); } }
.slideOutRight { animation-name: slideOutRight; }

@keyframes slideOutUp { from { transform: translate3d(0, 0, 0); }
  to { visibility: hidden; transform: translate3d(0, -100%, 0); } }
.slideOutUp { animation-name: slideOutUp; }

/** PRINT **/
.just-print { display: none !important; }

/** I18N **/
/** SHAME **/
.wow { visibility: hidden; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { .input__field--hoshi:focus + .input__label--hoshi .input__label-content--hoshi, .input--filled .input__label-content--hoshi { -webkit-animation: none; animation: none; opacity: 1; -webkit-transform: translate3d(0, -40%, 0); transform: translate3d(0, -40%, 0); } }
/** MEDIA QUERIES **/