/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 Normalize
2.0 Accessibility
3.0 Alignments
4.0 Clearings
5.0 Typography
6.0 Forms
7.0 Formatting
8.0 Lists
9.0 Tables
10.0 Links
11.0 Featured Image Hover
12.0 Navigation
13.0 Layout
   13.1 Header
   13.2 Regular Content
   13.3 Posts
   13.4 Pages
   13.5 Footer
   13.6 Visual Composer
   13.7 Pagination
14.0 Widgets / sidebars
   14.1 Sidebars
   14.2 Widgets
15.0 Media
   15.1 Galleries
16.0 SVGs Fallbacks
17.0 Media Queries
18.0 Print
--------------------------------------------------------------*/
@font-face {
    font-family: 'PP Nikkei Maru';
    src: url('assets/fonts/PPNikkeiMaru-Regular.eot');
    src: local('PP Nikkei Maru Regular'), local('PPNikkeiMaru-Regular'),
    url('assets/fonts/PPNikkeiMaru-Regular.eot?#iefix') format('embedded-opentype'),
    url('assets/fonts/PPNikkeiMaru-Regular.woff2') format('woff2'),
    url('assets/fonts/PPNikkeiMaru-Regular.woff') format('woff'),
    url('assets/fonts/PPNikkeiMaru-Regular.ttf') format('truetype'),
    url('assets/fonts/PPNikkeiMaru-Regular.svg#PPNikkeiMaru-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Nikkei Maru';
    src: url('assets/fonts/PPNikkeiMaru-Light.eot');
    src: local('PP Nikkei Maru Light'), local('PPNikkeiMaru-Light'),
    url('assets/fonts/PPNikkeiMaru-Light.eot?#iefix') format('embedded-opentype'),
    url('assets/fonts/PPNikkeiMaru-Light.woff2') format('woff2'),
    url('assets/fonts/PPNikkeiMaru-Light.woff') format('woff'),
    url('assets/fonts/PPNikkeiMaru-Light.ttf') format('truetype'),
    url('assets/fonts/PPNikkeiMaru-Light.svg#PPNikkeiMaru-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

body.page-color-blue {
    background-color: #F8FBFC;
}

body.page-color-green {
 background-color: #f5f7f3;
}

html, body {
    font-family: 'PP Nikkei Maru', sans-serif;
    font-size: 18px;
    color: #000;
    background-color: #fcf0e7;
    font-weight: 300;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'PP Nikkei Maru', sans-serif;
    font-weight: normal;
}

h1 {
    font-size: 50px;
    line-height: 1;
}

h2 {
    font-size: 40px;
    line-height: 1;
}

h3 {
    font-size: 30px;
    line-height: 1;
}

h4, h5, h6 {
    font-size: 20px;
    line-height: 30px;
}

p {
    font-size: 20px;
    padding: 0;
    margin: 0 0 30px 0;
    line-height: 30px; /* This should be the same as the margin bottom */
}

p:last-child {
    margin-bottom: 0;
}

.wrap {
    max-width: 1630px;
}

embed,
iframe,
object {
    width: 100%;
}

/*--------------------------------------------------------------
Custom Elements
--------------------------------------------------------------*/
.marginbottom-0px {
    margin-bottom: 0;
}

.marginbottom-15px {
    margin-bottom: 15px;
}


.marginbottom-30px {
    margin-bottom: 30px;
}

.marginbottom-60px {
    margin-bottom: 60px;
}

.filter-toggle {
    display: none;
}

.wpb_gallery.add-padding .wpb_image_grid .wpb_image_grid_ul img {
    padding: 10px;
}

.sd-spinner {
    width: 20px;
    margin-right: 10px;
    vertical-align: middle;
    color: #008000;
    animation: sd-spinner 2s linear infinite;
}

.sd-loading {
    display: flex;
    align-items: center;
    line-height: 1;
}

.sd-loading svg {
    height: 15px;
    width: 15px;
    margin-right: 5px;
}

.sd-loading circle {
    opacity: 0;
    -webkit-animation: sd-fade 1s linear infinite;
}

.sd-loading .dot1 {
    animation-delay: -875ms;
}

.sd-loading .dot2 {
    animation-delay: -750ms;
}

.sd-loading .dot3 {
    animation-delay: -625ms;
}

.sd-loading .dot4 {
    animation-delay: -500ms;
}

.sd-loading .dot5 {
    animation-delay: -375ms;
}

.sd-loading .dot6 {
    animation-delay: -250ms;
}

.sd-loading .dot7 {
    animation-delay: -125ms;
}

@keyframes sd-spinner {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn);
    }
}

@-webkit-keyframes sd-fade {
    0% {
        opacity: 1;
    }
    100% {
        opacity: .2;
    }
}

/*--------------------------------------------------------------
SD Tabs
--------------------------------------------------------------*/
.sd-tabs .sd-tabs-list {

}

.sd-tabs .sd-tabs-list > li {

}

.sd-tabs .sd-tabs-list > li.active {

}

.sd-tabs .sd-tabs-list > li:last-child {

}

.sd-tabs .sd-tabs-content > li {

}

.sd-tabs .sd-tabs-content > li.active {

}

/*--------------------------------------------------------------
6.0 Forms
--------------------------------------------------------------*/
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    font-size: 16px;
    color: #727272;
}

::-moz-placeholder { /* Firefox 19+ */
    font-size: 16px;
    color: #727272;
}

:-ms-input-placeholder { /* IE 10+ */
    font-size: 16px;
    color: #727272;
}

:-moz-placeholder { /* Firefox 18- */
    font-size: 16px;
    color: #727272;
}

.sd-form .mandatory_icon {

}

.wpcf7,
.sd-form {

}

.date-label {
    color: #fff;
    display: none;
}

input[type='week'],
input[type='url'],
input[type='time'],
input[type='password'],
input[type='number'],
input[type='color'],
input[type='month'],
input[type='date'],
input[type='datetime-local'],
input[type='text'],
input[type='email'],
input[type='tel'],
select,
textarea,
.date-label {
    font-family: 'PP Nikkei Maru', sans-serif;
    font-size: 16px;
}

input[type='week'],
input[type='url'],
input[type='time'],
input[type='password'],
input[type='number'],
input[type='color'],
input[type='month'],
input[type='date'],
input[type='datetime-local'],
input[type='text'],
input[type='email'],
input[type='tel'] {
    background: #FFF;
    border: 0 none;
    border-radius: 0;
    display: block;
    padding: 0 15px;
    height: 40px;
    width: 100%;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #FFF;
    border: 0 none;
    border-radius: 0;
    display: block;
    padding: 0 15px;
    height: 40px;
    width: 100%;
}

textarea {
    background: #FFF;
    border: 0 none;
    border-radius: 0;
    display: block;
    padding: 15px;
    height: 150px;
    width: 100%;
    resize: vertical;
}

button,
input[type='button'],
button[type='submit'],
input[type='submit'] {
    font-size: 20px;
    line-height: 43px;
    padding: 0 40px;
    transition: all .3s ease;
    text-align: center;
    font-weight: normal;
    color: #FCF0E7;
    background-color: #E58848;
    border: 1px solid #E58848;
    font-family: 'PP Nikkei Maru', sans-serif;
}

button:hover,
input[type='button']:hover,
button[type='submit']:hover,
input[type='submit']:hover {
    color: #E58848;
    background-color: transparent;
    transition: all .3s ease;
}

/* Start privacy checkbox */


.wpcf7 .wpcf7-checkbox .wpcf7-list-item,
.sd-form .SD-type-checkbox {
    padding: 0 0 0 20px;
    margin: 0;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item input,
.sd-form .SD-type-checkbox input {
    opacity: 0;
    position: absolute;
    display: block;
    left: 1px;
    top: 9px;
    z-index: -1;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label,
.sd-form .SD-type-checkbox label,
.wpcf7 .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label a,
.sd-form .SD-type-checkbox label a {
    position: relative;
    font-size: 18px;
    font-weight: normal;
    color: #FFF;
    cursor: pointer;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label a,
.sd-form .SD-type-checkbox label a {
    text-decoration: underline;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label a:hover,
.sd-form .SD-type-checkbox label a:hover {
    text-decoration: none;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label:before,
.sd-form .SD-type-checkbox label:before {
    content: '';
    height: 15px;
    width: 15px;
    position: absolute;
    left: -20px;
    top: 4px;
    background-color: #351313;
    border: 1px solid #FCF0E7;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label:hover:before,
.sd-form .SD-type-checkbox label:hover:before {
    background-color: #E58848;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item input:checked + .wpcf7-list-item-label:before,
.sd-form .SD-type-checkbox input:checked + label:before {
    background-color: #FCF0E7;
}
/* End privacy checkbox */

/* Start whitelabel CF7 */
.wpcf7 form .wpcf7-response-output {
    margin: 0;
    padding: 0;
}
/* End whitelabel CF7 */

/* Start success messages  */
.wpcf7 form.sent .wpcf7-response-output,
.sd-success-message-container {
    background-color: transparent;
    padding: 20px 43px 20px 20px;
    border-radius: 0;
    position: relative;
    border: 2px solid #FCF0E7;
    margin-bottom: 20px;
    color: #FCF0E7;
    margin-top: 20px;
}

.sd-success-message {
    font-weight: 200;
    font-size: 18px;
}

.sd-success-message::before {
    content: '';
    background-image: url('assets/icons/success.svg');
    color: #FFF;
    font-size: 30px;
    position: absolute;
    right: 15px;
    top: 7px;
}
/* End success messages  */

/* Start notification messages  */
.sd-notification-message::before {
    content: '';
    background-image: url('assets/icons/info.svg');
    color: #FFF;
    font-size: 30px;
    position: absolute;
    right: 15px;
    top: 7px;
}
/* End notification messages  */

/* Start error messages */
.wpcf7 .wpcf7-not-valid-tip {
    font-size: 16px;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted  .wpcf7-response-output,
.sd-error-message-container {
    background-color: transparent;
    padding: 20px 43px 20px 20px;
    border-radius: 0;
    position: relative;
    margin-bottom: 20px;
    margin-top: 20px;
    border: 2px solid #DD4847;
    color: #FCF0E7;
}

.sd-error-message-general {
    font-weight: 200;
    font-size: 18px;
}

.sd-error-message-general::before {
    content: '';
    background-image: url('assets/icons/error.svg');
    color: #FFF;
    font-size: 30px;
    position: absolute;
    right: 15px;
    top: 7px;
}
/* End error messages */

.wpcf7 .ajax-loader {
    vertical-align: middle;
}

/*--------------------------------------------------------------
12.0 Navigation
--------------------------------------------------------------*/
.widget_nav_menu .menu {
    list-style: none;
    margin-bottom: 0;
}

.main-navigation ul {
    text-align: center;
}

.main-navigation ul li {
}

.main-navigation .menu > li > a {
    display: inline-flex;
    align-items: center;
    color: #fcf0e7;
    line-height: 25px;
}

.main-navigation .menu > li:not(:last-child) > a:after {
    content: '';
    display: block;
    height: 18px;
    width: 1px;
    background-color: #E58848;
    margin: 0 10px 0 10px;
}

.page-color-blue .main-navigation .menu > li:not(:last-child) > a:after {
    background-color: #CCDFE8;
}

.page-color-green .main-navigation .menu > li:not(:last-child) > a:after {
    background-color: #BFCCAE;
}

.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-ancestor > a,
.main-navigation ul li.current-menu-item > a {
    text-decoration: underline;
}

.main-navigation ul li.menu-item-has-children.focus:before,
.main-navigation ul li.menu-item-has-children:hover:before,
.main-navigation ul li.menu-item-has-children.focus:after,
.main-navigation ul li.menu-item-has-children:hover:after,
.main-navigation ul li.page_item_has_children.focus:before,
.main-navigation ul li.page_item_has_children:hover:before,
.main-navigation ul li.page_item_has_children.focus:after,
.main-navigation ul li.page_item_has_children:hover:after {
    display: none;
}

.main-navigation ul li.menu-item-has-children {
    display: inline-flex;
    justify-content: center;
}

.main-navigation ul li:hover.menu-item-has-children:before {
    content: '';
    display: block;
    bottom: -18px;
    height: 20px;
    width: 100%;
    left: 0;
    right: 0;
    background-color: transparent;
    border: 0;
}

.main-navigation ul li:hover.menu-item-has-children:after {
    content: '';
    display: block;
    border-color: transparent transparent #E58848;
    border-width: 0 20px 20px;
    bottom: -19px;
    right: unset;
    margin-left: -18px;
}

/* Sub Menu */
.main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul {
    padding: 20px 30px;
    top: 43px;
    background: #E58848;
    left: 0;
    right: unset;
    border: 0;
}

.page-color-blue .main-navigation ul li:hover.menu-item-has-children:after {
    border-color: transparent transparent #CCDFE8;
}

.page-color-blue .main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul {
    background-color: #CCDFE8;
}

.page-color-green .main-navigation ul li:hover.menu-item-has-children:after {
    border-color: transparent transparent #BFCCAE;
}

.page-color-green .main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul {
    background-color: #BFCCAE;
}

.main-navigation ul ul.sub-menu li {

}

.main-navigation ul ul.sub-menu li a {
    white-space: nowrap;
    text-align: left;
    color: #351313;
    text-transform: uppercase;
}

.main-navigation ul ul.sub-menu li.current-menu-item > a {

}

/*--------------------------------------------------------------
13.1 Header
--------------------------------------------------------------*/
header.site-header.fixed {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 999;
    background-color: #351313;
    padding: 10px 0;
}

.page-color-blue header.site-header.fixed {
    background-color: #0D1633;
}

.page-color-green header.site-header.fixed {
    background-color: #273D3B;
}

.admin-bar header.site-header.fixed {
    top: 32px;
}

.header-topbar {

}

.header-middlebar {

}

.header-middlebar .header-middlebar-wrap-inner {
    display: grid;
    grid-template-columns: 300px 1fr 300px;
    align-items: center;
    padding: 0 15px;
}

.header-middlebar .header-middlebar-3 {
    text-align: right;
}

.header-bottombar {

}

/*--------------------------------------------------------------
13.2 Regular Content
--------------------------------------------------------------*/
.site-content-contain {
    margin-top: 80px;
}

/*--------------------------------------------------------------
13.5 Footer
--------------------------------------------------------------*/
footer {
    background-color: #351313;
    padding: 0;
}

.page-color-blue footer {
    background-color: #0D1633;
}

.page-color-green footer {
    background-color: #273D3B;
}

.site-footer,
.site-footer a {
    color: #FCF0E7;
    line-height: 30px;
    font-size: 18px;
}

.site-footer p {
    font-size: 18px;
    line-height: 30px;
}

.site-footer a:hover {
    text-decoration: underline;
}

.site-footer .widget_text a strong {
    font-size: 20px;
    line-height: 25px;
    font-weight: normal;
}

.footer-topbar {
    background-color: #E58848;
    padding: 20px 0;
}

.page-color-blue .footer-topbar {
    background-color: #CCDFE8;
}

.page-color-green .footer-topbar {
    background-color: #BFCCAE;
}

.footer-topbar .cta-text .textwidget p {
    color: #351313;
    font-weight: normal;
    font-size: 20px;
    line-height: 25px;
}

.page-color-blue .footer-topbar .cta-text .textwidget p {
    color: #0D1633;
}

.page-color-green .footer-topbar .cta-text .textwidget p {
    color: #273D3B;
}

.footer-topbar .footer-topbar-wrap-inner {
    display: grid;
    grid-template-columns: 1fr 260px;
    align-items: center;
    padding: 0 15px;
}

.footer-topbar .footer-topbar-2 {
    text-align: right;
}

.footer-middlebar {
    padding: 60px 0;
}

.footer-middlebar .footer-middlebar-wrap-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 0 15px;
}

.footer-middlebar .sitemap .menu {
    text-transform: uppercase;
    margin-bottom: 60px;
}

.footer-middlebar .sitemap .menu .sub-menu {
    display: none;
}

.footer-bottombar {
    padding-top: 20px;
    padding-bottom: 20px;
}

.footer-bottombar p,
.footer-bottombar a {
    font-size: 16px;
}

.footer-bottombar .footer-bottombar-wrap-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    padding: 0 15px;
}

.footer-bottombar .legal-menu .menu {
    display: flex;
    justify-content: flex-end;
}

.footer-bottombar .legal-menu .menu .menu-item a {
    font-size: 16px;
    line-height: 16px;
}

.footer-bottombar .legal-menu .menu .menu-item:not(:last-child) a {
    display: inline-flex;
    align-items: center;
}

.footer-bottombar .legal-menu .menu .menu-item:not(:last-child) a:after {
    content: '';
    display: inline-block;
    width: 1px;
    height: 16px;
    background-color: #FFF;
    margin: 0 20px;
}

/*--------------------------------------------------------------
13.6 Visual Composer
--------------------------------------------------------------*/
.vc_row-fluid:not(.vc_inner) {
    padding-top: 40px;
    padding-bottom: 40px;
}

.vc_row-fluid.vc_inner {
    padding-top: 0;
    padding-bottom: 0;
}

.vc_col-has-fill>.vc_column-inner,
.vc_row-has-fill+.vc_row-full-width+.vc_row>.vc_column_container>.vc_column-inner,
.vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner,
.vc_row-has-fill>.vc_column_container>.vc_column-inner {
    padding-top: 0;
}

.vc_row.vc_row-o-equal-height > .wpb_column > .vc_column-inner > .wpb_wrapper {
    height: 100%;
}

/*--------------------------------------------------------------
13.7 Pagination
--------------------------------------------------------------*/
.sd-pagination {
    margin-top: 30px;
    position: relative;
    text-align: center;
    font-size: 0;
    display: flex;
}

.sd-pagination .page-numbers {
    font-size: 18px;
    margin-right: 20px;
    color: #351313;
}

.sd-pagination .page-numbers.current {
    font-size: 18px;
    margin-right: 5px;
    color: #351313;
    text-decoration: underline;
}

.sd-pagination .page-numbers.prev {
    font-size: 16px;
}

.sd-pagination .page-numbers.next {
    font-size: 16px;
}

.sd-pagination .page-numbers.prev,
.sd-pagination .page-numbers.next {
    color: #351313;
    height: 44px;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    border: 1px solid #FCF0E7;
    cursor: pointer;
    transition: all .3s ease;
    border-radius: 0;
}

.sd-pagination .page-numbers.prev svg,
.sd-pagination .page-numbers.next svg {
    height: 10px;
    width: 7px;
}

.sd-pagination .page-numbers.prev:hover,
.sd-pagination .page-numbers.next:hover {
    transition: all .3s ease;
    background-color: #FCF0E7;
}

/*--------------------------------------------------------------
14.0 Widgets / sidebars
--------------------------------------------------------------*/
h3.widget-title {
    color: #FCF0E7;
    font-weight: normal;
    font-size: 20px;
    line-height: 30px;
}