body {
    font-family: "Montserrat",
        "Helvetica Neue",
        "Microsoft YaHei",
        "黑体",
        "文泉驛正黑",
        "WenQuanYi Zen Hei",
        "儷黑 Pro",
        "LiHei Pro",
        "黑體-繁",
        "Heiti TC",
        "微軟正黑體",
        "Microsoft JhengHei",
        "Helvetica",
        "Lexend",
        sans-serif;
}

#topbar {
    background: #7C6C5C;
}

#topbar a i {
    color: #e8c699;
}

.topbar-widget i {
    font-size: 18px;
}

.topbar-widget.tb-social a {
    letter-spacing: .05rem;
    font-weight: 300;
}

header {
    top: 40px;
}

#mainmenu {
    font-family: "Lexend";
    font-size: 17px;
    margin: 0 auto;
    float: none;
}

#mainmenu a {
    padding: 30px 15px;
    letter-spacing: 0;
}

.h-phone {
    font-size: 21px;
    color: #111;
}

.h-phone a {
    color: #111;
}

@media (max-width: 769px) {
    .slogan h3 {
        font-size: 20px;
    }

    .slogan h1 {
        font-size: 40px;
    }
}

a.btn-custom,
a.btn-custom:active,
a.btn-custom:focus,
a.btn-custom:visited,
.btn-custom {
    font-weight: 400;
    padding: 16px 48px;
    min-width: 200px;
    font-size: 22px;
}

#menu-btn:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0c9";
    font-size: 20px;
    font-weight: 600;
}

#mainmenu>li.menu-item-has-children>a {
    margin-right: 15px;
}

#mainmenu>li.menu-item-has-children>a:after {
    font-family: "Font Awesome 5 Free";
    right: 0;
    font-weight: 600;
    color: rgba(0, 0, 0, .5);
}

#mainmenu li li {
    font-size: 16px;
}

a.btn-border.btn-invert,
.small-border,
.icon-box {
    border-color: var(--secondary-color);
}


.mask .cover {
    height: 50px;
    padding: 15px;
    margin-top: -50px;
    background-color: var(--secondary-color);
}

.mask .cover h3 {
    font-size: 22px;
}

.mask .cover a.btn-custom {
    margin-bottom: 10px;
    padding: 5px 10px;
    font-size: 16px;
    letter-spacing: 0;
    transition: .5s;
}

.mask .cover a.btn-custom:hover {
    background-color: var(--tertiary-color);
}

/* #subheader h1 {
    margin-top: 0px;
} */

#subheader ol {
    /* margin-top: 10px; */
    padding-left: 0;
}

#subheader ol * {
    color: #fff;
}


#subheader ol li {
    display: inline;
}


#subheader ol li:last-child a span {
    opacity: .6;
    cursor: default;
}


#subheader ol span {
    margin-right: 10px;
}

.p-tagline {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0px;
    line-height: 18px;
    margin-bottom: 5px;
}

.p-tagline a {
    margin-right: 10px;
    color: #7C6C5C;
}

.ul-style-2 li:before,
.ul-style-2 li:after {
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    margin-right: 10px;
    background: transparent;
    padding: 0px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
    color: var(--secondary-color);
}

.ul-style-2.icon-paperclip li:before,
.ul-style-2.icon-paperclip li:after {
    color: var(--primary-color);
}

.ul-style-2.icon-paperclip li a {
    content: "\f0c1";
}

.ul-style-2.primary li:before,
.ul-style-2.primary li:after {
    color: var(--primary-color);
}

.ul-style-2.primary li {
    font-size: 17px;
    font-weight: 500;
    color: #262626;
}

.ul-style-2.icon-paperclip li a:hover {
    color: #111;
}

@media (max-width: 769px) {
    .ul-style-2.primary li {
        font-size: 14px;
    }
}

.widget-post.download li a {
    padding-left: 8px;
    display: block;
    text-decoration: none;
    color: #111111;
}

.widget-post.download li a:hover {
    color: var(--primary-color);
}

.widget-post .date {
    margin-top: 8px;
    padding: 0px 5px;
    line-height: 12px;
}





.download-icon,
.contact-icon {
    background-color: #f2f2f2;
    border-radius: 50%;
    width: 80px;
    text-align: center;
    margin-right: 15px;
    height: 80px;
    line-height: 80px;
}

.download-icon span,
.contact-icon span {
    line-height: 80px;
}

.download-icon span i,
.contact-icon span i {
    padding-top: 24px;
    font-size: 32px;
    color: var(--primary-color);
}

.download-title,
.contact-title {
    padding-top: 12px;
}

.download-title a,
.contact-title a {
    color: #494949;
}

.download-title a:hover,
.contact-title a:hover {
    color: var(--primary-color);
}










.form-border input[type="text"],
.form-border textarea,
.form-underline input[type="email"],
.form-border input[type="password"],
.form-border select {
    padding: 8px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    background: rgba(255, 255, 255, .8);
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    height: auto;
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    color: #111;
}

.form-border input[type=text]:focus,
.form-border textarea:focus,
.form-border input[type=email]:focus,
.form-border select:focus {
    color: #111;
    background: #a1a1a1;
}










.google-map__contact {
    display: block;
    width: 100%;
    height: 560px;
    border: none;
    outline: none;
}









/* CSS for responsive iframe */
/* ========================= */

/* outer wrapper: set max-width & max-height; max-height greater than padding-bottom % will be ineffective and height will = padding-bottom % of max-width */
#Iframe-Master-CC-and-Rs {
    max-width: 640px;
    max-height: 100%;
    overflow: hidden;
}

/* inner wrapper: make responsive */
.responsive-wrapper {
    position: relative;
    height: 0;
    /* gets height from padding-bottom */

    /* put following styles (necessary for overflow and scrolling handling on mobile devices) inline in .responsive-wrapper around iframe because not stable in CSS:
    -webkit-overflow-scrolling: touch; overflow: auto; */

}

.responsive-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;
    border: none;
}

/* padding-bottom = h/w as % -- sets aspect ratio */
/* YouTube video aspect ratio */
.responsive-wrapper-wxh-572x612 {
    padding-bottom: 107%;
}

/* general styles */
/* ============== */
.set-border {
    border: 5px inset #4f4f4f;
}

.set-box-shadow {
    -webkit-box-shadow: 4px 4px 14px rgba(0, 0, 0, .4);
    -moz-box-shadow: 4px 4px 14px rgba(0, 0, 0, .4);
    box-shadow: 4px 4px 14px rgba(0, 0, 0, .4);
}

.set-padding {
    padding: 40px;
}

.set-margin {
    margin: 30px;
}

.center-block-horiz {
    margin-left: auto !important;
    margin-right: auto !important;
}















.with-line {
    color: var(--tertiary-color);
    text-align: center;
    position: relative;
}

.with-line span {
    background: #fff;
    display: inline-block;
    padding: 0 30px;
    position: relative;
}

.with-line:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 1px;
    background-color: var(--secondary-color);
    content: " ";
    width: 100%;
    z-index: 0;
}








.feature-box .btn-custom {
    padding: 10px 20px;
    font-size: 16px;
    background-color: var(--secondary-color);
}

/* .feature-box.f-boxed:hover {
    background-color: var(--secondary-color);
}

*/
.feature-box.style-3 .text.text-center {
    position: static;
    z-index: 10;
}

.feature-box.style-3 i.wm {
    z-index: 0;
}

.tab-pane ol li {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 12px;
}

.tab-pane ol li span {
    color: #a7a7a7;
}







.steps-vertical {
    margin: 1em;
    width: 100%;
    counter-reset: stepCount;
}

.steps-vertical,
.steps-vertical *::before,
.steps-vertical *::after {
    box-sizing: border-box;
    font-family: arial;
}

.step {
    display: flex;
    align-items: flex-start;
    flex: 1;
    flex-direction: column;
    position: relative;
}

.step.active~.step {
    background-color: gray;
}

.step.active~.step::before {
    background-color: #4285f4 !important;
}

.step-info {
    text-align: center;
    align-self: flex-start;
    line-height: 3rem;
    display: flex;
    position: relative;
}

.step-info::before {
    counter-increment: stepCount;
    content: counter(stepCount);
    text-align: center;
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    color: #fff;
    transform: translateX(50%);
    border-radius: 50%;
    background: var(--secondary-color);
    width: 3em;
    height: 3em;
}

.step-info.checked::before {
    font-family: 'Font Awesome 5 Free';
    content: '\f00c';
    font-weight: 600;
    color: #fff;
}

.step-label {
    font-weight: 600;
    display: inline-block;
    color: rgba(0, 0, 0, 0.87);
    flex-flow: column nowrap;
    order: 2;
    margin-left: 6rem;
    margin-top: 0.1rem;
    font-size: 21px;
}

.step-content {
    display: block;
    margin-left: 6rem;
    margin-bottom: 1rem;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: #a7a7a7;
    /* padding: 0.87rem; */
}

.steps-vertical>.step:not(:last-child):after {
    content: "";
    position: absolute;
    width: 2px;
    height: calc(100% - 0.75rem);
    left: 2.95rem;
    top: 2.9rem;
    background-color: var(--secondary-color);
}

.steps-vertical>.step.active-step~.step .step-info::before,
.steps-vertical>.step.active-step~.step::after,
.steps-vertical>.step.active-step::after {
    background-color: #f06a28;
}

.steps-vertical>.step.active-step~.step .step-content {
    visibility: hidden;
    height: 1rem;
}

@media (max-width: 479px) {
    .steps-vertical {
        margin-left: 0;
    }

    .step-label {
        margin-top: .75rem;
        font-size: 21px;
        line-height: 1.2;
        text-align: left;
    }
}








.submit_btn {
    color: #fff;
    font-size: 16px;
    line-height: 36px;
    padding: auto 30px;
    width: 28%;
    border: 1px solid var(--primary-color);
    background-color: var(--primary-color);
    border: none;
}

.keyword-list {
    background-color: #f2f2f2;
}

.keyword-list ul,
.keyword-list li {
    list-style: none;
    margin: 0;
    padding: 0;
}


.keyword-list li {
    text-shadow: none;
    display: inline-block;
    margin-right: 3px;
}

.keyword-list li a {
    font-size: 14px;
    text-decoration: none;
    margin-bottom: 5px;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border: 1px solid var(--secondary-color);
    color: var(--primary-color);
    background-color: #fff;
    padding: 5px 7px;
}

.keyword-list li a:hover {
    background-color: var(--secondary-color) !important;
    color: #fff;
}











.post-navigation {}

ul.nav-links {
    display: flex;
    justify-content: space-between;
    padding-left: 0;
}

ul.nav-links li {
    display: block;
    width: 90%;
    margin-right: 30px;
    border-radius: 5px;
    border-bottom: 3px solid #d9d9d9;
}

ul.nav-links li:last-child {
    margin-right: 0;
}

ul.nav-links a {
    display: block;
    padding: 24px 32px;
    color: #333;
    background-color: #f2f2f2;
    transition: all 0.5s;
}

ul.nav-links a:hover {
    color: #fff;
    background-color: #333;
}


.flat_btn01 {
    display: inline-block;
    margin-bottom: 5px;
    padding: 0 2.5em;
    height: 50px;
    line-height: 50px;
    font-size: 100%;
    text-decoration: none;
    color: #fff;
    background: #2a2a2a;
    border-bottom: 3px solid rgba(0, 0, 0, 0.1);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}























footer {
    background-color: var(--primary-color);
}

footer .id-color {
    color: var(--secondary-color);
    ;
}

footer a:hover {
    color: var(--secondary-color) !important;
    ;
}

.subfooter {
    border-top: solid 1px rgba(255, 255, 255, .3);
    margin-top: 10px;
}
