/*--------------------------------------------------------------
>>> 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 Page builder
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: 'Avenir Next LT Pro';
    src: url('assets/fonts/AvenirNextLTPro-Bold.eot');
    src: local('Avenir Next LT Pro Bold'), local('AvenirNextLTPro-Bold'),
    url('assets/fonts/AvenirNextLTPro-Bold.eot?#iefix') format('embedded-opentype'),
    url('assets/fonts/AvenirNextLTPro-Bold.woff2') format('woff2'),
    url('assets/fonts/AvenirNextLTPro-Bold.woff') format('woff'),
    url('assets/fonts/AvenirNextLTPro-Bold.ttf') format('truetype'),
    url('assets/fonts/AvenirNextLTPro-Bold.svg#AvenirNextLTPro-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Avenir Next LT Pro';
    src: url('assets/fonts/AvenirNextLTPro-It.eot');
    src: local('Avenir Next LT Pro Italic'), local('AvenirNextLTPro-It'),
    url('assets/fonts/AvenirNextLTPro-It.eot?#iefix') format('embedded-opentype'),
    url('assets/fonts/AvenirNextLTPro-It.woff2') format('woff2'),
    url('assets/fonts/AvenirNextLTPro-It.woff') format('woff'),
    url('assets/fonts/AvenirNextLTPro-It.ttf') format('truetype'),
    url('assets/fonts/AvenirNextLTPro-It.svg#AvenirNextLTPro-It') format('svg');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Avenir Next LT Pro';
    src: url('assets/fonts/AvenirNextLTPro-Regular.eot');
    src: local('Avenir Next LT Pro Regular'), local('AvenirNextLTPro-Regular'),
    url('assets/fonts/AvenirNextLTPro-Regular.eot?#iefix') format('embedded-opentype'),
    url('assets/fonts/AvenirNextLTPro-Regular.woff2') format('woff2'),
    url('assets/fonts/AvenirNextLTPro-Regular.woff') format('woff'),
    url('assets/fonts/AvenirNextLTPro-Regular.ttf') format('truetype'),
    url('assets/fonts/AvenirNextLTPro-Regular.svg#AvenirNextLTPro-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* Aller */
@font-face {
    font-family: 'Aller';
    src: url('assets/fonts/Aller-Light.eot');
    src: local('Aller Light'), local('Aller-Light'),
    url('assets/fonts/Aller-Light.eot?#iefix') format('embedded-opentype'),
    url('assets/fonts/Aller-Light.woff2') format('woff2'),
    url('assets/fonts/Aller-Light.woff') format('woff'),
    url('assets/fonts/Aller-Light.ttf') format('truetype'),
    url('assets/fonts/Aller-Light.svg#Aller-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Aller';
    src: url('assets/fonts/Aller-Bold.eot');
    src: local('Aller Bold'), local('Aller-Bold'),
    url('assets/fonts/Aller-Bold.eot?#iefix') format('embedded-opentype'),
    url('assets/fonts/Aller-Bold.woff2') format('woff2'),
    url('assets/fonts/Aller-Bold.woff') format('woff'),
    url('assets/fonts/Aller-Bold.ttf') format('truetype'),
    url('assets/fonts/Aller-Bold.svg#Aller-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

html, body {
    font-family: 'Aller', sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 18px;
    background-color: #f2f2f2;
    color: #4f4f4f;
    overflow-x: hidden;
}

html:lang(zh-hant),
body:lang(zh-hant) {
    font-family: noto-sans-sc, sans-serif;
    text-align: justify !important;
}

body {
    border-left: 30px solid #f2f2f2;
    border-right: 30px solid #f2f2f2;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Aller', sans-serif;
    font-weight: normal;
    font-style: normal;
}

h1:lang(zh-hant),
h2:lang(zh-hant),
h3:lang(zh-hant),
h4:lang(zh-hant),
h5:lang(zh-hant),
h6:lang(zh-hant)  {
    font-family: noto-sans-sc, sans-serif;
    font-weight: 700;
}

h1 {
    font-size: 60px;
}

h2 {
    font-size: 30px;
}

h3 {
    font-size: 26px;
}

h4, h5, h6 {
    font-size: 20px;
}

p {
    color: #4f4f4f;
    line-height: 26px;
}

a {
    color: #4f4f4f;
    transition: all .3s ease;
}

a:hover {
    text-decoration: none;
    color: #5b9ad4;
    transition: all .3s ease;
}

.wrap {
    max-width: 1400px;
}

.site-content > .wrap {
    max-width: 1430px;
}

.highlight-row {
    overflow: visible !important;
    position: absolute !important;
    border: 0 none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -180px;
}

/*--------------------------------------------------------------
Custom Elements
--------------------------------------------------------------*/
.hide-on-mobile {
    display: block;
}

.hide-on-desktop {
    display: none;
}

header .header-middlebar-2 .menu-search,
header .header-middlebar-2 .close-menu {
    display: none;
}


.search-overlay {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 83px;
    height: calc(100% - 83px);
    width: 100%;
    background-color: rgba(0,0,0,0.5);
    padding: 300px 30px;
}

.search-overlay .search-input {
    text-align: center;
}

.search-overlay input[type="text"] {
    width: 200px;
    display: block;
    margin: 0 auto 20px auto;
    margin-top: 10px;
    border: 0;
    padding: 15px;
    font-family: 'Aller', sans-serif;
    font-weight: normal;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    font-size: 18px;
}

.search-overlay input[type="submit"] {
    margin-left: 15px;
    margin-top: 15px;
    display: inline-block;
    position: relative;
    max-width: 100%;
    font-size: 18px;
    background-color: #272a4a;
    color: #fff;
    font-weight: normal;
    padding: 10px 20px;
    -webkit-transition: ease-in .3s;
    -moz-transition: ease-in .3s;
    -ms-transition: ease-in .3s;
    -o-transition: ease-in .3s;
    transition: ease-in .3s;
}

.search-overlay input[type="submit"] {
    background-color: #272a4a;
}

/*--------------------------------------------------------------
6.0 Forms
--------------------------------------------------------------*/
/* Main Form Style */
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="password"],
form textarea {
    margin-top: 10px;
    border: 0;
    padding: 0 15px;
    font-family: 'Aller', sans-serif;
    font-weight: normal;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    font-size: 18px;
    background-color: #f2f2f2;
    height: 45px;
}

form textarea {
    min-height: 150px;
    padding: 15px;
}

form input[type="reset"] {
    background-color: transparent;
    margin: 0;
    padding: 0;
    font-weight: bold;
    color: #5b9ad4;
    text-align: right;
}

form input[type="reset"]:hover {
    background-color: transparent;
    color: #272a4a;
}

form label {
    font-weight: normal;
    color: #272a4a;
}

form .required {
    color: red;
}

.wpcf7-form {
    background-color: #fff;
    padding: 40px 20px;
    border-radius: 5px;
}

.wpcf7-form button {
    margin-left: 15px;
    margin-top: 15px;
    display: inline-block;
    position: relative;
    max-width: 100%;
    font-size: 18px;
    background-color: #272a4a;
    line-height: unset;
    color: #fff;
    font-weight: normal;
    padding: 10px 20px;
    -webkit-transition: ease-in .3s;
    -moz-transition: ease-in .3s;
    -ms-transition: ease-in .3s;
    -o-transition: ease-in .3s;
    transition: ease-in .3s;
    font-family: 'Aller', sans-serif;
    border-radius: 5px;
}

.wpcf7-form button:hover {
    background-color: #2aa0c6;
}

.wpcf7-form button::after {
    content: '>';
    display: inline-block;
    color: #5b9ad4;
    margin-left: 10px;
}

.wpcf7-form button:hover::after {
    color: #272a4a;
}

.wpcf7-form p:last-child {
    margin-bottom: 0;
}

/*--------------------------------------------------------------
12.0 Navigation
--------------------------------------------------------------*/
.main-navigation {
    display: inline-block;
    background-color: #272a4a;
    padding: 30px 40px;
}

.main-navigation ul li {
    margin-right: 40px;
}

.main-navigation ul li:last-child {
    margin-right: 0;
}

.main-navigation a {
    font-weight: bold;
    color: #fff;
    padding: 0 0 5px 0;
    border-bottom: 2px solid transparent;
    transition: all .3s ease;
}

.main-navigation a:hover {
    color: #fff;
    text-decoration: none;
    border-bottom: 2px solid #5b9ad4;
    transition: all .3s ease;
}

.main-navigation .current-menu-item > a {
    border-bottom: 2px solid #5b9ad4;
}

.main-navigation ul {
    text-align: right;
}

.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;
}

/* Sub Menu */
.main-navigation ul ul.sub-menu {
    padding: 10px;
}

.main-navigation ul ul.sub-menu li.current-menu-item > a {
    border-bottom: 2px solid #5b9ad4;
}

/*--------------------------------------------------------------
13.0 Layout
--------------------------------------------------------------*/
/*.vc_row[data-vc-full-width="true"] {*/
/*border-left: 30px solid #f2f2f2;*/
/*border-right: 30px solid #f2f2f2;*/
/*}*/

/*--------------------------------------------------------------
13.1 Header
--------------------------------------------------------------*/
header.site-header.fixed {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 999;
    background-color: transparent;
}

/*.admin-bar header.site-header.fixed {*/
/*top: 32px;*/
/*}*/

.header-topbar {
    background-color: #f2f2f2;
    padding: 10px 0;
}

.header-topbar-1 {
    display: flex;
    justify-content: flex-end;
    font-size: 15px !important;
}

.header-topbar-1 ul {
    list-style: none;
    display: flex;
    align-items: center;
    padding: 4px 0 0 0;
    margin: 0;
}

.header-topbar-1 ul li {
    margin-right: 20px;
    font-weight: bold;
}

.header-topbar-1 .header-searchbar h3.widget-title {
    display: none;
}

.header-topbar-1 .header-searchbar .search-form {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    height: 30px;
}

.header-topbar-1 .header-searchbar .search-form input {
    background: transparent;
    border: none;
    font-family: 'Aller', sans-serif;
    font-weight: bold;
}

.header-topbar-1 .header-searchbar .search-form .search-submit {
    position: unset;
    padding: 0;
    background: none;
}

.header-topbar-1 .header-searchbar .search-form .search-submit svg {
    color: #272a4a;
    height: 16px;
}

.header-topbar-1 .header-searchbar .search-form input::placeholder {
    color: #4f4f4f;
}

.header-middlebar {
    position: relative;
}

.header-middlebar-1 {
    padding-left: 0;
}

.header-middlebar-1 .header-logo {
    display: block;
    margin: 30px 0 0 30px;
}

.header-middlebar-1 .header-logo img {
    max-width: 300px;
}

.header-middlebar-2 {
    text-align: right;
    padding-right: 30px;
}

/*--------------------------------------------------------------
13.2 Regular Content
--------------------------------------------------------------*/
body.search .sd-user-case-block .vc_col-xs-10,
body.search .sd-single-team-block,
body.search .sd-single-news-block {
    margin-bottom: 15px;
}

.search .page-header {
    padding: 0 30px;
}

.search .search-form .search-submit {
    background-color: transparent;
    color: #272a4a;
    top: 3px;
    padding: 0;
    right: 20px;
}

.search .search-form input {
    /*margin-top: 10px;*/
    border: 0;
    /*padding: 15px;*/
    font-family: 'Aller', sans-serif;
    font-weight: normal;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    /*font-size: 18px;*/
    color: #4f4f4f;
}

.search .search-form input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    font-size: 18px;
    color: #272a4a;
    font-weight: 500;
}

.search .search-form input::-moz-placeholder { /* Firefox 19+ */
    font-size: 18px;
    color: #272a4a;
    font-weight: 500;
}

.search .search-form input:-ms-input-placeholder { /* IE 10+ */
    font-size: 18px;
    color: #272a4a;
    font-weight: 500;
}

.search .search-form input:-moz-placeholder { /* Firefox 18- */
    font-size: 18px;
    color: #272a4a;
    font-weight: 500;
}

/*--------------------------------------------------------------
13.5 Footer
--------------------------------------------------------------*/
.footer-middlebar {
    background-color: #272a4a;
    padding: 60px 0;
    color: #fff;
}

.footer-middlebar p,
.footer-middlebar a {
    color: #fff;
    transition: all .3s ease;
}

.footer-middlebar a:hover {
    color: #5b9ad4;
    transition: all .3s ease;
}

.footer-middlebar .footer-logo {
    margin-bottom: 20px;
}

.footer-middlebar .footer-socials svg {
    width: 30px;
    margin-right: 10px;
}

.footer-middlebar .footer-socials svg .social-icons {
    fill: #fff;
    transition: all .3s ease;
}

.footer-middlebar .footer-socials svg:hover .social-icons {
    fill: #5b9ad4;
    transition: all .3s ease;
}

.footer-middlebar-1 .widget_sd_logo_widget img {
    width: 300px;
}

.footer-middlebar .footer-middlebar-3 ul {
    list-style-type: none;
    margin-left: 0;
}

.footer-middlebar .footer-middlebar-3 ul li {
    position: relative;
    margin-bottom: 5px;
    margin-left: 20px;
}

.footer-middlebar .footer-middlebar-3 ul li:before {
    content: '>';
    color: #5b9ad4;
    position: absolute;
    left: -20px;
}

.footer-bottombar {
    background-color: transparent;
    padding: 10px 0;
    color: #4f4f4f;
    font-size: 15px !important;
}

.footer-bottombar-2 {
    text-align: right;
}

footer .footer-form .wpcf7-form {
    background-color: unset;
    padding: unset;
    margin: 0 -15px;
}

footer .footer-form form label {
    color: #fff;
}

footer .footer-form .wpcf7-form button {
    background-color: #5b9ad4;
}

footer .footer-form .wpcf7-form button::after {
    color: #272a4a;
}

/*--------------------------------------------------------------
13.6 Page Builder
--------------------------------------------------------------*/
.vc_row-fluid:not(.vc_inner) {
    padding-top: 100px;
    padding-bottom: 100px;
}

.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;
}

/*--------------------------------------------------------------
14.0 Widgets / sidebars
--------------------------------------------------------------*/
h3.widget-title {
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    margin: 0 0 25px 0;
}

.news-sidebar-section {
    background-color: #fff;
    padding: 20px;
    margin-bottom: 40px;
}

.news-sidebar-section h3.widget-title {
    color: #272a4a;
}

/*--------------------------------------------------------------
Cookie container
--------------------------------------------------------------*/
.cookie-notice-container {
    background-color: #272a4a;
    color: #fff !important;
    font-size: 18px;
    font-family: 'Aller', sans-serif;
    font-weight: normal;
    font-style: normal;
}

.cookie-notice-container a {
    color: #5b9ad4;
}

.cookie-notice-container a:hover {
    text-decoration: underline;
}

.cookie-notice-container #cn-accept-cookie {
    background-color: #5b9ad4 !important;
    font-size: 18px !important;
    padding: 0 25px !important;
    line-height: 40px !important;
    font-family: 'Avenir Next LT Pro', sans-serif !important;
    font-weight: normal !important;
    font-style: normal !important;
    border-radius: 0 !important;
}

.cookie-notice-container #cn-refuse-cookie {
    background-color: transparent !important;
    border-radius: 30px !important;
    font-size: 18px !important;
    padding: 0 !important;
    line-height: 40px !important;
    font-family: 'Avenir Next LT Pro', sans-serif !important;
    font-weight: normal !important;
    font-style: normal !important;
}

.cn-close-icon {
    opacity: 1 !important;
}

.cn-close-icon::after, .cn-close-icon::before {
    background-color: #fff !important;
}