@font-face {
    font-family: 'icomoon';
    src: url("../fonts/icomoon/icomoon.eot?srf3rx");
    src: url("../fonts/icomoon/icomoon.eot?srf3rx#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.ttf?srf3rx") format("truetype"), url("../fonts/icomoon/icomoon.woff?srf3rx") format("woff"), url("../fonts/icomoon/icomoon.svg?srf3rx#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
}

/* =======================================================
*
* 	Template Style
*	Edit this section
*
* ======================================================= */
body {
    font-family: "Quicksand", Arial, sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.8;
    color: #333333;
    background-color: #ffffff;
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
    word-break: break-all;
    overflow-wrap: break-word;
}

a {
    color: #2c98f0;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

a:hover, a:active, a:focus {
    color: #2c98f0;
    outline: none;
    text-decoration: none !important;
}

p {
    margin-bottom: 1.5em;
}

h1, h2, h3, h4, h5, h6 {
    color: #000;
    font-family: "Playfair Display", Georgia, serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 0 30px 0;
}

figure {
    margin-bottom: 2.5em;
    float: left;
    width: 100%;
}

figure figcaption {
    font-size: 16px;
    width: 80%;
    margin: 20px auto 0 auto;
    color: #b3b3b3;
    font-style: italic;
    font-family: "Quicksand", Arial, sans-serif;
}

::selection {
    color: #fff;
    background: #2c98f0;
}

::-moz-selection {
    color: #fff;
    background: #2c98f0;
}

::selection {
    color: #fff;
    background: #2c98f0;
}

#colorlib-page {
    width: 100%;
    overflow: hidden;
    position: relative;
}

#colorlib-aside {
    display: flex;
    flex-direction: column; /* 垂直排列 */
    padding-top: 3em;
    padding-bottom: 40px;
    float: left;
    width: 300px;
    position: fixed;
    overflow-y: scroll;
    z-index: 1001;
    background: #f2f3f7;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

#colorlib-aside .author-img {
    width: 150px;
    height: 150px;
    margin: 0 auto 30px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

#colorlib-aside .position {
    display: block;
    margin-bottom: 2em;
    font-size: 12px;
    text-transform: uppercase;
}

#colorlib-aside #colorlib-logo {
    text-align: right;
    font-weight: 700;
    font-size: 22px;
    margin-bottom: .5em;
    display: block;
    width: 100%;
}

#colorlib-aside #colorlib-logo a {
    display: block;
    text-align: center;
    color: #000;
    padding-right: .3em;
}

#colorlib-aside #colorlib-main-menu {
    display: block;
    width: 100%;
}

#colorlib-aside #colorlib-main-menu .collapse {
    display: block !important;
}

#colorlib-aside #colorlib-main-menu ul {
    text-align: center;
    margin: 0;
    padding: 0;
}

#colorlib-aside #colorlib-main-menu ul li {
    margin: 0 0 10px 0;
    padding: 0;
    list-style: none;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#colorlib-aside #colorlib-main-menu ul li a {
    color: rgba(0, 0, 0, 0.7);
    text-decoration: none;
    position: relative;
    padding: 10px 0;
    font-family: "Quicksand", Arial, sans-serif;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#colorlib-aside #colorlib-main-menu ul li a:after {
    content: "";
    position: absolute;
    height: 1px;
    bottom: 7px;
    left: 0;
    right: 0;
    background-color: #2c98f0;
    visibility: hidden;
    -webkit-transform: scaleX(0);
    -moz-transform: scaleX(0);
    -ms-transform: scaleX(0);
    -o-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    -moz-transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    -ms-transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    -o-transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

#colorlib-aside #colorlib-main-menu ul li a:hover {
    text-decoration: none;
    color: black;
}

#colorlib-aside #colorlib-main-menu ul li a:hover:after {
    visibility: visible;
    -webkit-transform: scaleX(1);
    -moz-transform: scaleX(1);
    -ms-transform: scaleX(1);
    -o-transform: scaleX(1);
    transform: scaleX(1);
}

#colorlib-aside #colorlib-main-menu ul li.active a {
    color: #2c98f0;
}

#colorlib-aside #colorlib-main-menu ul li.active a:after {
    visibility: visible;
    -webkit-transform: scaleX(1);
    -moz-transform: scaleX(1);
    -ms-transform: scaleX(1);
    -o-transform: scaleX(1);
    transform: scaleX(1);
}

#colorlib-aside .colorlib-footer {
    margin-top: auto;
    font-size: 15px;
    text-align: left;
    font-weight: 400;
    color: rgba(0, 0, 0, 0.5);
    padding: 0 20px;
    width: 100%;
}

#colorlib-aside .colorlib-footer span {
    display: block;
}

#colorlib-aside .colorlib-footer ul {
    padding: 0;
    margin: 0;
}

#colorlib-aside .colorlib-footer ul li {
    padding: 0;
    margin: 0;
    display: inline;
    list-style: none;
}

#colorlib-aside .colorlib-footer ul li a {
    color: rgba(255, 255, 255, 0.3);
    padding: 4px;
}

#colorlib-aside .colorlib-footer ul li a:hover, #colorlib-aside .colorlib-footer ul li a:active, #colorlib-aside .colorlib-footer ul li a:focus {
    text-decoration: none;
    outline: none;
    color: #2c98f0;
}

.container-wrap {
    max-width: 1400px;
    margin: 0 auto;
}

#colorlib-main {
    width: calc(100% - 300px);
    float: right;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    background-color: #ffffff;
}

.js-fullheight {
    height: 100vh;
}

#colorlib-hero {
    min-height: 500px;
    background: url(/assets/images/banner-b09c28d3538d.jpg) no-repeat 30% 30%;
    /*background-size: 300%;*/
    width: 100%;
    float: left;
    margin-bottom: 3em;
    clear: both;
}

#colorlib-hero .flexslider {
    border: none;
    z-index: 1;
    margin-bottom: 0;
}

#colorlib-hero .flexslider .slides {
    position: relative;
    overflow: visible;
}

#colorlib-hero .flexslider .slides li {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom center;
    min-height: 400px;
    position: relative;
}

#colorlib-hero .flexslider .flex-control-nav {
    bottom: 20px;
    z-index: 1000;
    left: 20px;
    float: left;
    width: auto;
}

#colorlib-hero .flexslider .flex-control-nav li {
    display: block;
    margin-bottom: 10px;
}

#colorlib-hero .flexslider .flex-control-nav li a {
    background: rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: none;
    box-shadow: none;
    width: 12px;
    height: 12px;
    cursor: pointer;
}

#colorlib-hero .flexslider .flex-control-nav li a.flex-active {
    cursor: pointer;
    background: transparent;
    border: 2px solid #2c98f0;
}

#colorlib-hero .flexslider .flex-direction-nav {
    display: none;
}

#colorlib-hero .flexslider .slider-text {
    display: table;
    opacity: 0;
    min-height: 500px;
    vertical-align: bottom;
    padding-top: 60%;
    padding-bottom: 10%;
    z-index: 9;
}

#colorlib-hero .flexslider .slider-text > .slider-text-inner {
    display: table-cell;
    vertical-align: middle;
    min-height: 700px;
    padding: 0;
    position: relative;
}

#colorlib-hero .flexslider .slider-text > .slider-text-inner h1, #colorlib-hero .flexslider .slider-text > .slider-text-inner h2 {
    margin: 0;
    padding: 0;
    color: black;
    font-family: "Playfair Display", Georgia, serif;
}

#colorlib-hero .flexslider .slider-text > .slider-text-inner h1 {
    text-align: right;
    margin-bottom: 20px;
    font-size: 60px;
    line-height: 1.3;
    font-weight: 700;
}

#colorlib-hero .flexslider .slider-text > .slider-text-inner h2 {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 30px;
    font-weight: 400;
    font-family: "Quicksand", Arial, sans-serif;
}

#colorlib-hero .flexslider .slider-text > .slider-text-inner h2 a {
    color: rgba(44, 152, 240, 0.8);
    border-bottom: 1px solid rgba(44, 152, 240, 0.7);
}

#colorlib-hero .flexslider .slider-text > .slider-text-inner .heading-section {
    font-size: 50px;
}

.colorlib-lead {
    font-size: 20px;
    color: #fff;
}

#colorlib-hero .flexslider .slider-text > .slider-text-inner p {
    margin-bottom: 0;
}

#colorlib-hero .flexslider .slider-text > .slider-text-inner .btn {
    float: right;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #000;
    padding: 10px 15px !important;
    border: none;
    font-weight: 400;
}

#colorlib-hero .flexslider .slider-text > .slider-text-inner .btn.btn-learn {
    color: #000;
    border: 1px solid #000;
    background: transparent !important;
}

#colorlib-hero .flexslider .slider-text > .slider-text-inner .btn.btn-learn:hover {
    background: rgba(230, 230, 230, 0.3) !important;
    border: 1px solid #000 !important;
}

body.offcanvas {
    overflow-x: hidden;
}

body.offcanvas #colorlib-aside {
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
    width: 300px;
    background: #f2f3f7;
    z-index: 999;
    position: fixed;
}

body.offcanvas #colorlib-main, body.offcanvas .colorlib-nav-toggle {
    top: 0;
    -moz-transform: translateX(300px);
    -webkit-transform: translateX(300px);
    -ms-transform: translateX(300px);
    -o-transform: translateX(300px);
    transform: translateX(300px);
}

.colorlib-narrow-content {
    padding: 0 2.5em;
}

.no-gutters {
    margin: 0;
    padding: 0;
}

.colorlib-experience,
.colorlib-skills,
.colorlib-education,
.colorlib-blog,
.colorlib-work,
.colorlib-about,
.colorlib-services,
.colorlib-contact {
    padding-top: 4em;
    padding-bottom: 4em;
    clear: both;
    width: 100%;
    display: block;
}

.author-img {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
}

.colorlib-heading {
    font-style: normal;
    font-size: 24px;
    margin-bottom: 4em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 5px;
    line-height: 1.8;
    position: relative;
}

.colorlib-heading span {
    display: block;
}

.heading-meta {
    margin-bottom: 15px;
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    color: #999999;
    font-weight: 500;
    letter-spacing: 5px;
}

.about-img {
    width: 100%;
    height: 600px;
    margin-bottom: 30px;
}

.about-desc h3 {
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 5px;
    font-weight: 500;
}

.hire {
    padding: 2em;
    background: #f9bf3f;
}

.hire h2 {
    line-height: 1.5;
}

.hire .btn-hire {
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
    bordeR: 1px solid #000;
    padding: 2px 10px;
}

.fancy-collapse-panel .panel-default > .panel-heading {
    padding: 0;
}

.panel-heading a {
    padding: 20px 25px;
    display: block;
    width: 100%;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: "Quicksand", Arial, sans-serif;
    background-color: #2c98f0;
    color: #fff;
    position: relative;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    -ms-box-shadow: none !important;
    -o-box-shadow: none !important;
    box-shadow: none !important;
}

.panel {
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    -ms-box-shadow: none !important;
    -o-box-shadow: none !important;
    box-shadow: none !important;
    border: none;
}

.panel-heading a:after {
    font-family: "icomoon", serif;
    content: "\e115";
    position: absolute;
    right: 20px;
    font-size: 14px;
    font-weight: 400;
    top: 50%;
    line-height: 1;
    margin-top: -7px;
}

.panel-heading a.collapsed:after {
    content: "\e114";
}

.panel-heading a.collapsed {
    font-style: normal;
    background: #f2f3f7;
    border: 1px solid #e6e6e6 !important;
    color: #333333;
}

.panel-body {
    padding: 1.5em;
    margin-top: 5px;
    border: 1px solid #e6e6e6 !important;
}

.timeline-image {
    width: 40px;
    height: 40px;
    transform: translate(-10px, 40px);
}

.timeline-centered {
    position: relative;
    margin-bottom: 30px;
}

.timeline-centered:before, .timeline-centered:after {
    content: " ";
    display: table;
}

.timeline-centered:after {
    clear: both;
}

.timeline-centered:before, .timeline-centered:after {
    content: " ";
    display: table;
}

.timeline-centered:after {
    clear: both;
}

.timeline-centered:before {
    content: '';
    position: absolute;
    display: block;
    width: 2px;
    background: #e0e0e0;
    top: 20px;
    bottom: 20px;
    margin-left: 29px;
}

.timeline-centered .timeline-entry {
    position: relative;
    margin-top: 5px;
    margin-left: 30px;
    margin-bottom: 10px;
    clear: both;
}

.timeline-centered .timeline-entry .timeline-entry-inner {
    position: relative;
    transform: translate(-9px, -10px);
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon {
    display: block;
    width: 20px;
    height: 20px;
    background: #2c98f0;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
    text-align: center;
    -moz-box-shadow: 0 0 0 4px #ffffff, 0 0 0 5px #e0e0e0;
    -webkit-box-shadow: 0 0 0 4px #ffffff, 0 0 0 5px #e0e0e0;
    box-shadow: 0 0 0 4px #ffffff, 0 0 0 5px #e0e0e0;
    line-height: 40px;
    float: left;
    transform: translate(0px, 8px);
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon i {
    color: #fff;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.color-2 {
    background: #ec5453;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.color-3 {
    background: #f9bf3f;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.color-4 {
    background: #a84cb8;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.color-5 {
    background: #2fa499;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-icon.color-none {
    background: #fff;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label {
    position: relative;
    background: #ffffff;
    padding: 1.5em;
    margin-left: 60px;
    margin-right: -20px;
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
    border: 1px solid #e0e0e0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
    border-radius: 8px;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label:before {
    content: '';
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 12px 10px 0;
    border-color: transparent #ffffff transparent transparent;
    left: -12px;
    top: 9px;
    z-index: 1;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label:after {
    content: '';
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 11px 13px 11px 0;
    border-color: transparent #e0e0e0 transparent transparent;
    left: -14px;
    top: 8px;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label p + p {
    margin-top: 15px;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label h2 {
    font-size: 22px;
    font-family: "Quicksand", Arial, sans-serif;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 0.5em;
    line-height: 1.3;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label h2 a {
    color: #1a1a1a;
}

.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label h2 span {
    -webkit-opacity: .5;
    -moz-opacity: .5;
    opacity: .5;
    -ms-filter: alpha(opacity=50);
    filter: alpha(opacity=50);
    font-size: 13px;
    font-weight: 400;
    color: #888888;
}

.services {
    margin-bottom: 30px;
    padding: 1.5em;
    -webkit-box-shadow: 0px 0px 56px -8px rgba(0, 0, 0, 0.17);
    -moz-box-shadow: 0px 0px 56px -8px rgba(0, 0, 0, 0.17);
    -ms-box-shadow: 0px 0px 56px -8px rgba(0, 0, 0, 0.17);
    -o-box-shadow: 0px 0px 56px -8px rgba(0, 0, 0, 0.17);
    box-shadow: 0px 0px 56px -8px rgba(0, 0, 0, 0.17);
    border-bottom: 2px solid #2c98f0;
}

.services .icon2 {
    display: block;
    margin-bottom: 20px;
}

.services .icon2 i {
    font-size: 30px;
    color: #2c98f0;
}

.services h3 {
    font-family: "Quicksand", Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
}

.services.color-2 {
    border-bottom: 2px solid #ec5453;
}

.services.color-2 .icon2 i {
    color: #ec5453;
}

.services.color-3 {
    border-bottom: 2px solid #f9bf3f;
}

.services.color-3 .icon2 i {
    color: #f9bf3f;
}

.services.color-4 {
    border-bottom: 2px solid #a84cb8;
}

.services.color-4 .icon2 i {
    color: #a84cb8;
}

.services.color-5 {
    border-bottom: 2px solid #2fa499;
}

.services.color-6 {
    border-bottom: 2px solid #4054b2;
}

.services {
    margin-bottom: 80px;
    position: relative;
    z-index: 0;
}

.services .icon {
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    width: 100px;
    height: 50px;
    display: table;
    margin: 0 auto;
    background: #2c98f0;
}

.services .icon:before, .services .icon:after {
    position: absolute;
    left: 0;
    right: 0;
    content: '';
}

.services .icon:before {
    top: -30px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 50px 30px 50px;
    border-color: transparent transparent #2c98f0 transparent;
}

.services .icon:after {
    bottom: -30px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 50px 0 50px;
    border-color: #2c98f0 transparent transparent transparent;
}

.services .icon i {
    font-size: 30px;
    color: #fff;
    z-index: 1;
    display: table-cell;
    vertical-align: middle;
}

.services .desc {
    margin-top: 60px;
}

.services .desc h3 {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
}

.services.color-2 .icon {
    background: #ec5453;
}

.services.color-2 .icon:before {
    border-color: transparent transparent #ec5453 transparent;
}

.services.color-2 .icon:after {
    border-color: #ec5453 transparent transparent transparent;
}

.services.color-3 .icon {
    background: #f9bf3f;
}

.services.color-3 .icon:before {
    border-color: transparent transparent #f9bf3f transparent;
}

.services.color-3 .icon:after {
    border-color: #f9bf3f transparent transparent transparent;
}

.services.color-4 .icon {
    background: #a84cb8;
}

.services.color-4 .icon:before {
    border-color: transparent transparent #a84cb8 transparent;
}

.services.color-4 .icon:after {
    border-color: #a84cb8 transparent transparent transparent;
}

.services.color-5 .icon {
    background: #2fa499;
}

.services.color-5 .icon:before {
    border-color: transparent transparent #2fa499 transparent;
}

.services.color-5 .icon:after {
    border-color: #2fa499 transparent transparent transparent;
}

.services.color-6 .icon {
    background: #4054b2;
}

.services.color-6 .icon:before {
    border-color: transparent transparent #4054b2 transparent;
}

.services.color-6 .icon:after {
    border-color: #4054b2 transparent transparent transparent;
}

.progress-wrap h3 {
    font-size: 16px;
    font-family: "Quicksand", Arial, sans-serif;
    margin-bottom: 10px;
}

.progress {
    height: 6px;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: #f2f3f7;
    overflow: visible;
}

.progress-bar {
    background: #2c98f0;
    -webkit-box-shadow: none;
    box-shadow: none;
    font-size: 12px;
    line-height: 1.2;
    color: #000;
    font-weight: 600;
    text-align: right;
    position: relative;
    overflow: visible;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    border-radius: 8px;
}

.progress-bar:after {
    position: absolute;
    top: -2px;
    right: 0;
    width: 10px;
    height: 10px;
    content: '';
    background: #2c98f0;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

.progress-bar span {
    position: absolute;
    top: -22px;
    right: 0;
}

.progress-bar.color-1 {
    background: #2c98f0;
}

.progress-bar.color-1:after {
    background: #2c98f0;
}

.progress-bar.color-1 span {
    color: #2c98f0;
}

.progress-bar.color-2 {
    background: #ec5453;
}

.progress-bar.color-2:after {
    background: #ec5453;
}

.progress-bar.color-2 span {
    color: #ec5453;
}

.progress-bar.color-3 {
    background: #f9bf3f;
}

.progress-bar.color-3:after {
    background: #f9bf3f;
}

.progress-bar.color-3 span {
    color: #f9bf3f;
}

.progress-bar.color-4 {
    background: #a84cb8;
}

.progress-bar.color-4:after {
    background: #a84cb8;
}

.progress-bar.color-4 span {
    color: #a84cb8;
}

.progress-bar.color-5 {
    background: #2fa499;
}

.progress-bar.color-5:after {
    background: #2fa499;
}

.progress-bar.color-5 span {
    color: #2fa499;
}

.progress-bar.color-6 {
    background: #4054b2;
}

.progress-bar.color-6:after {
    background: #4054b2;
}

.progress-bar.color-6 span {
    color: #4054b2;
}

.colorlib-feature {
    text-align: left;
    width: 100%;
    float: left;
    margin-bottom: 40px;
    position: relative;
}

.colorlib-feature .colorlib-icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    display: table;
    text-align: center;
    background: #f2f3f7;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    border-radius: 2px;
}

.colorlib-feature .colorlib-icon i {
    display: table-cell;
    vertical-align: middle;
    color: #2c98f0;
    font-size: 60px;
    height: 100px;
}

.colorlib-feature .colorlib-text {
    padding-left: 120px;
    width: 100%;
}

.colorlib-feature .colorlib-text h2, .colorlib-feature .colorlib-text h3 {
    margin: 0;
    padding: 0;
}

.colorlib-feature .colorlib-text h3 {
    font-weight: 500;
    margin-bottom: 20px;
    color: rgba(0, 0, 0, 0.7);
    font-size: 14px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.colorlib-feature.colorlib-feature-sm .colorlib-text {
    margin-top: 30px;
}

.colorlib-feature.colorlib-feature-sm .colorlib-icon i {
    color: #2c98f0;
    font-size: 40px;
}

.blog-entry {
    width: 100%;
    float: left;
    background: #fff;
    margin-bottom: 3em;
}

.blog-entry .blog-img {
    width: 100%;
    float: left;
    overflow: hidden;
    position: relative;
    z-index: 1;
    margin-bottom: 25px;
}

.blog-entry .blog-img img {
    position: relative;
    max-width: 100%;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.blog-entry .desc h3 {
    font-size: 16px;
    margin-bottom: 25px;
    line-height: 1.5;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Quicksand", Arial, sans-serif;
}

.blog-entry .desc h3 a {
    color: #000;
    text-decoration: none;
}

.blog-entry .desc span {
    display: block;
    margin-bottom: 20px;
    font-size: 12px;
    color: rgba(0, 0, 0, 0.4) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 400;
}

.blog-entry .desc span small i {
    color: #999999;
}

.blog-entry .desc .lead {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #000;
}

.blog-entry:hover .blog-img img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}

.work-menu span {
    margin-left: 10px;
}

.work-menu span:first-child {
    margin-left: 0;
}

.work-menu span a {
    color: #000;
}

.work-menu span a.active {
    color: #2c98f0;
}

.project {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    height: 300px;
    width: 100%;
    display: block;
    margin-bottom: 30px;
}

.project .desc {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #2c98f0;
    opacity: 0;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.project .desc .con {
    padding: 20px;
    display: block;
    position: relative;
    height: 300px;
}

.project .desc .con .icon {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
}

.project .desc .con .icon span {
    display: inline;
    padding-right: 5px;
}

.project .desc .con .icon span a {
    color: #333333;
    padding: 5px;
    background: rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
}

.project .desc .con .icon i {
    font-size: 16px;
    color: #333333;
}

.project .desc h3 {
    font-family: "Quicksand", Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
    -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
    transition: opacity 0.3s, -webkit-transform 0.3s;
    -o-transition: transform 0.3s, opacity 0.3s;
    transition: transform 0.3s, opacity 0.3s;
    transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
    margin-bottom: 15px;
}

.project .desc h3 a {
    color: #fff;
}

.project .desc span {
    display: block;
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
    -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
    transition: opacity 0.3s, -webkit-transform 0.3s;
    -o-transition: transform 0.3s, opacity 0.3s;
    transition: transform 0.3s, opacity 0.3s;
    transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
    -webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
}

.project .desc span a {
    color: #000;
}

.project:hover .desc {
    opacity: 1;
}

.project:hover .desc h3 {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.project:hover .desc span {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.btn-load-more {
    width: 100%;
}

#colorlib-counter {
    position: relative;
    clear: both;
    margin-bottom: 5em;
}

.colorlib-counters {
    padding: 3em 0;
    background-size: cover;
    background-attachment: fixed;
    background-position: center center;
}

.colorlib-counters .overlay {
    z-index: 0;
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.4);
}

.colorlib-counters .icon {
    width: 100px;
    height: 100px;
    display: table;
    margin: 0 auto 20px;
}

.colorlib-counters .icon i {
    display: table-cell;
    vertical-align: middle;
    width: 100px;
    height: 100px;
    font-size: 50px;
    color: #2c98f0;
    background: #fff;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

.colorlib-counters .counter-wrap {
    border: 1px solid red !important;
}

.colorlib-counters .colorlib-counter {
    font-size: 40px;
    display: block;
    color: white;
    font-family: "Quicksand", Arial, sans-serif;
    width: 100%;
    font-weight: 700;
    margin-bottom: .3em;
}

.colorlib-counters .colorlib-counter-label {
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 5px;
    margin-bottom: 2em;
    display: block;
}

.colorlib-social {
    padding: 0;
    margin: 0;
    text-align: center;
}

.colorlib-social li {
    padding: 0;
    margin: 0;
    list-style: none;
    display: -moz-inline-stack;
    display: inline-block;
    zoom: 1;
    *display: inline;
}

.colorlib-social li a {
    font-size: 22px;
    color: #000;
    padding: 10px;
    display: -moz-inline-stack;
    display: inline-block;
    zoom: 1;
    *display: inline;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    -ms-border-radius: 7px;
    border-radius: 7px;
}

.colorlib-social li a:hover {
    color: #2c98f0;
}

.colorlib-social li a:hover, .colorlib-social li a:active, .colorlib-social li a:focus {
    outline: none;
    text-decoration: none;
    color: #2c98f0;
}

#map {
    width: 100%;
    height: 700px;
}

.colorlib-bg-color {
    background: #fafafa;
    position: relative;
}

.pagination {
    padding: 0;
}

.pagination li {
    margin: 2px;
}

.pagination li a {
    color: #000;
    background: transparent;
    color: #000;
    margin: 2px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    border-radius: 0;
}

.pagination li a:first-child {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    border-radius: 2px;
}

.pagination li a:hover, .pagination li a:focus {
    background: #2c98f0;
    color: #fff;
    border: 1px solid #2c98f0;
}

.pagination li.active a {
    background: #2c98f0;
    border: 1px solid #2c98f0 !important;
}

.pagination li.active a:hover, .pagination li.active a:focus {
    background: #2c98f0;
    color: #fff;
    border: 1px solid #2c98f0 !important;
}

.btn {
    margin-right: 4px;
    margin-bottom: 4px;
    font-family: "Quicksand", Arial, sans-serif;
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    border-radius: 2px;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    padding: 8px 15px !important;
}

.btn.btn-sm {
    padding: 4px 15px !important;
}

.btn.btn-md {
    padding: 8px 20px !important;
}

.btn.btn-lg {
    padding: 18px 36px !important;
}

.btn:hover, .btn:active, .btn:focus {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.btn-primary {
    background: #2c98f0;
    color: #fff;
    border: 2px solid #2c98f0;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background: #44a4f2 !important;
    border-color: #44a4f2 !important;
}

.btn-primary.btn-outline {
    background: transparent;
    color: #2c98f0;
    border: 2px solid #2c98f0;
}

.btn-primary.btn-outline:hover, .btn-primary.btn-outline:focus, .btn-primary.btn-outline:active {
    background: #2c98f0;
    color: #fff;
}

.btn-success {
    background: #5cb85c;
    color: #fff;
    border: 2px solid #5cb85c;
}

.btn-success:hover, .btn-success:focus, .btn-success:active {
    background: #4cae4c !important;
    border-color: #4cae4c !important;
}

.btn-success.btn-outline {
    background: transparent;
    color: #5cb85c;
    border: 2px solid #5cb85c;
}

.btn-success.btn-outline:hover, .btn-success.btn-outline:focus, .btn-success.btn-outline:active {
    background: #5cb85c;
    color: #fff;
}

.btn-info {
    background: #5bc0de;
    color: #fff;
    border: 2px solid #5bc0de;
}

.btn-info:hover, .btn-info:focus, .btn-info:active {
    background: #46b8da !important;
    border-color: #46b8da !important;
}

.btn-info.btn-outline {
    background: transparent;
    color: #5bc0de;
    border: 2px solid #5bc0de;
}

.btn-info.btn-outline:hover, .btn-info.btn-outline:focus, .btn-info.btn-outline:active {
    background: #5bc0de;
    color: #fff;
}

.btn-warning {
    background: #f0ad4e;
    color: #fff;
    border: 2px solid #f0ad4e;
}

.btn-warning:hover, .btn-warning:focus, .btn-warning:active {
    background: #eea236 !important;
    border-color: #eea236 !important;
}

.btn-warning.btn-outline {
    background: transparent;
    color: #f0ad4e;
    border: 2px solid #f0ad4e;
}

.btn-warning.btn-outline:hover, .btn-warning.btn-outline:focus, .btn-warning.btn-outline:active {
    background: #f0ad4e;
    color: #fff;
}

.btn-danger {
    background: #d9534f;
    color: #fff;
    border: 2px solid #d9534f;
}

.btn-danger:hover, .btn-danger:focus, .btn-danger:active {
    background: #d43f3a !important;
    border-color: #d43f3a !important;
}

.btn-danger.btn-outline {
    background: transparent;
    color: #d9534f;
    border: 2px solid #d9534f;
}

.btn-danger.btn-outline:hover, .btn-danger.btn-outline:focus, .btn-danger.btn-outline:active {
    background: #d9534f;
    color: #fff;
}

.btn-outline {
    background: none;
    border: 2px solid gray;
    font-size: 16px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.btn-outline:hover, .btn-outline:focus, .btn-outline:active {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: transparent;
    border: transparent;
    background: #f2f3f7;
    height: 54px;
    font-size: 16px;
    font-weight: 400;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    border-radius: 0;
}

.form-control:active, .form-control:focus {
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-color: transparent;
    background: #f0f0f0;
}

#message {
    height: 130px;
}

.colorlib-nav-toggle {
    cursor: pointer;
    text-decoration: none;
}

.colorlib-nav-toggle.active i::before, .colorlib-nav-toggle.active i::after {
    background: #000;
}

.colorlib-nav-toggle.dark.active i::before, .colorlib-nav-toggle.dark.active i::after {
    background: #000;
}

.colorlib-nav-toggle:hover, .colorlib-nav-toggle:focus, .colorlib-nav-toggle:active {
    outline: none;
    border-bottom: none !important;
}

.colorlib-nav-toggle i {
    position: relative;
    display: -moz-inline-stack;
    display: inline-block;
    zoom: 1;
    *display: inline;
    width: 30px;
    height: 2px;
    color: #000;
    font: bold 14px/.4 Helvetica;
    text-transform: uppercase;
    text-indent: -55px;
    background: #000;
    -webkit-transition: all .2s ease-out;
    -o-transition: all .2s ease-out;
    transition: all .2s ease-out;
}

.colorlib-nav-toggle i::before, .colorlib-nav-toggle i::after {
    content: '';
    width: 30px;
    height: 2px;
    background: #000;
    position: absolute;
    left: 0;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.colorlib-nav-toggle.dark i {
    position: relative;
    color: #000;
    background: #000;
    -webkit-transition: all .2s ease-out;
    -o-transition: all .2s ease-out;
    transition: all .2s ease-out;
}

.colorlib-nav-toggle.dark i::before, .colorlib-nav-toggle.dark i::after {
    background: #000;
    -webkit-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.colorlib-nav-toggle i::before {
    top: -7px;
}

.colorlib-nav-toggle i::after {
    bottom: -7px;
}

.colorlib-nav-toggle:hover i::before {
    top: -10px;
}

.colorlib-nav-toggle:hover i::after {
    bottom: -10px;
}

.colorlib-nav-toggle.active i {
    background: transparent;
}

.colorlib-nav-toggle.active i::before {
    top: 0;
    -webkit-transform: rotateZ(45deg);
    -moz-transform: rotateZ(45deg);
    -ms-transform: rotateZ(45deg);
    -o-transform: rotateZ(45deg);
    transform: rotateZ(45deg);
}

.colorlib-nav-toggle.active i::after {
    bottom: 0;
    -webkit-transform: rotateZ(-45deg);
    -moz-transform: rotateZ(-45deg);
    -ms-transform: rotateZ(-45deg);
    -o-transform: rotateZ(-45deg);
    transform: rotateZ(-45deg);
}

.colorlib-nav-toggle {
    position: fixed;
    left: -5px;
    top: 0;
    z-index: 9999;
    cursor: pointer;
    opacity: 1;
    visibility: hidden;
    padding: 20px;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

.col-xxs-12 {
    float: none;
    width: 100%;
}

.row-bottom-padded-lg {
    padding-bottom: 7em;
}

.row-bottom-padded-md {
    padding-bottom: 3em;
}

.row-bottom-padded-sm {
    padding-bottom: 1em;
}

.row-pt-md {
    padding-top: 3em;
}

.col-padding {
    padding: 10px !important;
}

.js .animate-box {
    opacity: 0;
}

/* 适配大尺寸 iPad 横屏（如 Pro 12.9英寸） */
@media screen and (max-width: 1366px) and (orientation: landscape) {
    #colorlib-hero {
        background: url(/assets/images/banner-b09c28d3538d.jpg) no-repeat 30% 20%;
        background-size: cover;
    }
    #colorlib-hero .flexslider .slider-text {
        padding-top: 40%;
        padding-bottom: 10%;
    }
    #colorlib-hero .flexslider .slider-text > .slider-text-inner h1 {
        font-size: 40px;
    }
    #colorlib-hero .flexslider .slider-text > .slider-text-inner h2 {
        font-size: 14px;
    }
    .container{
        width: 160%;
    }
    .panel-heading a{
        font-size: 12px;
        padding: 20px 30px;
    }
    .colorlib-heading{
        font-size:22px
    }
}
/* 适配 iPad 横屏（如 Pro 11英寸） */
@media screen and (max-width: 1194px) and (orientation: landscape){
    body {
        font-size: 16px;
    }
}
/* 适配 iPad 竖屏（如 mini/基础款） */
@media screen and (max-width: 768px) and (min-width: 391px){
    #colorlib-aside {
        width: 300px;
        -moz-transform: translateX(-300px);
        -webkit-transform: translateX(-300px);
        -ms-transform: translateX(-300px);
        -o-transform: translateX(-300px);
        transform: translateX(-300px);
        padding-top: 4em;
    }
    #colorlib-aside #colorlib-main-menu .collapse {
        display: block !important;

    }
    #colorlib-aside #colorlib-main-menu ul {
        margin: 0 0 2em 0;
    }
    #colorlib-aside #colorlib-main-menu ul li {
        margin: 0 0 10px 0;
        padding: 0;
        list-style: none;
        font-size: 12px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 1px;
    }
    #colorlib-aside .colorlib-footer {
        position: relative;
        bottom: 0;
    }

    #colorlib-main {
        width: 100%;
    }
    #colorlib-hero {
        background: url(/assets/images/banner-b09c28d3538d.jpg) no-repeat 30% 20%;
        background-size: cover;
    }
    #colorlib-hero .flexslider .flex-control-nav {
        right: 20px;
        top: 100px;
    }

    #colorlib-hero .flexslider .slider-text {
        width: 100%;
        display: table;
        opacity: 0;
        min-height: 500px;
        vertical-align: bottom;
        padding-top: 70%;
        padding-bottom: 10%;
        z-index: 9;
        float: right;
    }

    #colorlib-hero .flexslider .slider-text > .slider-text-inner {
        text-align: center;
    }

    #colorlib-hero .flexslider .slider-text > .slider-text-inner h1 {
        font-size: 28px;
    }
    #colorlib-hero .flexslider .slider-text > .slider-text-inner h2 {
        font-size: 18px;
        line-height: 1.5;
        margin-bottom: 30px;
        font-weight: 400;
        font-family: "Quicksand", Arial, sans-serif;
        padding-left: 50%;
        text-align: left;
    }
    #colorlib-hero .flexslider .slider-text > .slider-text-inner .heading-section {
        font-size: 30px;
    }

    #colorlib-hero .flexslider .slider-text > .slider-text-inner .btn {
        width: 30%;
    }

    .colorlib-narrow-content {
        padding: 0;
    }

    .colorlib-experience,
    .colorlib-skills,
    .colorlib-education,
    .colorlib-blog,
    .colorlib-work,
    .colorlib-about,
    .colorlib-services,
    .colorlib-contact {
        padding: 5em 5em 8em 4em;
    }

    .colorlib-heading {
        margin-bottom: 3em;
    }

    .services {
        margin-bottom: 4em;
    }

    .colorlib-feature .colorlib-icon i {
        font-size: 40px;
    }

    .colorlib-feature.colorlib-feature-sm .colorlib-icon i {
        font-size: 28px;
    }

    .blog-entry {
        margin-bottom: 3em;
    }

    .project .desc {
        opacity: 1;
        background: rgba(0, 0, 0, 0.4);
    }

    .project .desc h3 {
        font-style: normal;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        color: #000;
    }

    .project .desc span {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    #map {
        height: 200px;
    }

    .pagination li a {
        padding: 7px 15px;
    }

    .colorlib-social li a {
        padding: 10px 8px;
    }

    .row-bottom-padded-lg {
        padding-bottom: 1em;
    }

    .row-bottom-padded-md {
        padding-bottom: 1em;
    }

    .colorlib-nav-toggle {
        opacity: 1;
        visibility: visible;
    }
}
/* 适配 iPhone 横屏（大部分型号） */
@media screen and (max-width: 852px) and (orientation: landscape) {
    #colorlib-hero {
        background: url(/assets/images/banner-b09c28d3538d.jpg) no-repeat 30% 20%;
        background-size: cover;
    }
    #colorlib-hero .flexslider .slider-text {
        display: table;
        opacity: 0;
        max-height: 500px;
        max-width: 90%;
        vertical-align: bottom;
        padding-top: 20%;
        padding-bottom: 60%;
        z-index: 9;
    }
}
/* 适配大屏 iPhone 竖屏（如 6.7英寸 Plus/Pro Max） */
@media screen and (max-width: 430px) {
    figure figcaption {
        width: 100%;
    }
    #colorlib-hero {
        background: url(/assets/images/banner-b09c28d3538d.jpg) no-repeat 30% 20%;
        background-size: cover;
    }
    #colorlib-hero .flexslider .slider-text {
        display: table;
        opacity: 0;
        max-height: 500px;
        max-width: 90%;
        vertical-align: bottom;
        padding-top: 80%;
        padding-bottom: 10%;
        z-index: 9;
    }
    #colorlib-hero .flexslider .slider-text > .slider-text-inner h1 {
        font-size: 24px;
    }
    #colorlib-hero .flexslider .slider-text > .slider-text-inner h2 {
        font-size: 14px;
    }
    #colorlib-hero .flexslider .slider-text > .slider-text-inner .btn{
        font-size: 6px;
    }
    .colorlib-experience,
    .colorlib-skills,
    .colorlib-education,
    .colorlib-blog,
    .colorlib-work,
    .colorlib-about,
    .colorlib-services,
    .colorlib-contact {
        padding: 2em 2em 4em 1em;
        font-size: 14px;
    }
    .timeline-centered .timeline-entry .timeline-entry-inner .timeline-label h2 {
        font-size: 18px;
    }
    .timeline-centered .timeline-entry .timeline-entry-inner .timeline-label h4 {
        font-size: 14px;
    }
    .panel-heading a {
        font-size: 14px;
    }
    .timeline-centered .timeline-entry .timeline-entry-inner .timeline-label {
        font-size: 14px;
    }
}
/* 适配大部分 iPhone 竖屏（如 6.1英寸基础款） */
@media screen and (max-width: 390px) {}

/* ====== 设计修复 ====== */

/* [Paper] 链接样式增强 */
.timeline-label p a[target="_blank"] {
    display: inline-block;
    color: #2c98f0 !important;
    font-weight: 600;
    text-decoration: none !important;
    padding: 4px 10px;
    border: 1px solid #2c98f0;
    border-radius: 4px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    margin-top: 8px;
}

.timeline-label p a[target="_blank"]:hover {
    background: #2c98f0;
    color: #fff !important;
}

/* 返回顶部按钮 */
.back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: #2c98f0;
    color: #fff;
    text-align: center;
    line-height: 50px;
    font-size: 20px;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 9999;
    box-shadow: 0 2px 10px rgba(44, 152, 240, 0.4);
}

.back-to-top:hover {
    background: #1a7bc9;
    transform: translateY(-3px);
}

.back-to-top.visible {
    opacity: 1;
    visibility: visible;
}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:40px}
.course-card{position:relative;display:flex;min-width:0;min-height:156px;flex-direction:column;justify-content:flex-start;padding:24px 28px;border:1px solid #e2e5e8;border-top-color:#2c98f0;border-radius:4px;background:#fff;box-shadow:0 4px 14px rgba(31,42,52,.055);box-sizing:border-box}
.course-card-link{color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.course-card-link:hover{color:inherit;text-decoration:none;transform:translateY(-2px);box-shadow:0 7px 18px rgba(31,42,52,.085)}
.course-card-link:focus-visible{color:inherit;outline:2px solid currentColor;outline-offset:3px;text-decoration:none}
.course-card h2{margin:16px 0 9px;font-size:20px;line-height:1.35;overflow-wrap:break-word}
.course-card p{margin:0;color:#666;font-size:14px;line-height:1.65;text-align:left;word-break:normal;overflow-wrap:normal;hyphens:none}
.course-card-number{font-family:"Quicksand",Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:0;color:#999}
.skip-link{position:fixed;top:12px;left:12px;z-index:2147483647;padding:11px 16px;background:#20242a;color:#fff;font:700 14px/1.4 "Quicksand",Arial,sans-serif;transform:translateY(-150%);transition:transform .2s ease}
.skip-link:focus{color:#fff;outline:3px solid #2c98f0;outline-offset:2px;transform:translateY(0)}
#colorlib-main:focus{outline:none}
.course-card-color-2{border-top-color:#ec5453}
.course-card-color-3{border-top-color:#f9bf3f}
.course-card-color-4{border-top-color:#a84cb8}
.course-card-color-5{border-top-color:#2fa499}
@media screen and (max-width:767px){.course-grid{grid-template-columns:1fr}.course-card{min-height:0}}
[data-section="publication"] .publication-media{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
[data-section="publication"] .publication-media+.publication-media{margin-top:14px}
#colorlib-main .home-blog-entry{padding-top:4em;padding-bottom:24em}
.home-blog-entry .colorlib-heading{margin-bottom:3em}
.home-blog-card{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);min-height:260px;border:1px solid #e2e5e8;border-radius:4px;color:#2f2f2f;background:#f2f3f7;box-shadow:0 4px 14px rgba(31,42,52,.055);overflow:hidden;text-decoration:none;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1)}
.home-blog-card:hover{color:#2f2f2f;box-shadow:0 7px 18px rgba(31,42,52,.085);transform:translateY(-2px);text-decoration:none}
.home-blog-card:focus-visible{color:#2f2f2f;outline:3px solid #2c98f0;outline-offset:4px;text-decoration:none}
.home-blog-card-media{min-height:260px;overflow:hidden;background:#e6e9ed}
.home-blog-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.home-blog-card:hover .home-blog-card-media img{transform:scale(1.025)}
.home-blog-card-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(30px,4vw,48px);text-align:left}
.home-blog-card-copy h3{margin:0 0 14px;color:#111;font:700 28px/1.25 "Playfair Display",Georgia,serif;letter-spacing:0;text-transform:none}
.home-blog-card-copy p{max-width:36ch;margin:0;color:#505a63;font-size:16px;line-height:1.75;text-align:left}
.home-blog-card-meta{margin-top:30px;color:#2c98f0;font-size:13px;font-weight:700}
.home-blog-card-arrow{display:inline-block;margin-left:6px;transition:transform .25s ease}
.home-blog-card:hover .home-blog-card-arrow{transform:translateX(5px)}
.home-blog-card-no-media{grid-template-columns:1fr;min-height:220px;background:#fff}
.home-blog-card-no-media .home-blog-card-copy{max-width:760px;padding-left:0}
@media screen and (max-width:767px){#colorlib-main .home-blog-entry{padding:5em 20px 20em}.home-blog-entry .colorlib-heading{margin-bottom:2em}.home-blog-card{grid-template-columns:1fr;min-height:0}.home-blog-card-media{min-height:0;aspect-ratio:16/9}.home-blog-card-copy{padding:28px 24px 32px}.home-blog-card-copy h3{font-size:25px}.home-blog-card-copy p{font-size:15px}.home-blog-card-meta{margin-top:22px}.home-blog-card-no-media .home-blog-card-copy{padding-left:0;padding-right:0}}
@media(prefers-reduced-motion:reduce){.home-blog-card,.home-blog-card-media img,.home-blog-card-arrow{transition:none}}
.home-footer{min-height:240px;background:#fff}
.home-footer>.colorlib-narrow-content{width:80%;min-height:240px;margin:0 auto;padding:0}
.home-footer-inner{display:flex;min-height:240px;justify-content:center;flex-direction:column;padding:34px 0;border-top:1px solid #e2e5e8;box-sizing:border-box}
.home-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,5vw,64px)}
.home-footer-group h2{margin:0 0 12px;color:#272727;font:700 13px/1.4 "Quicksand",Arial,sans-serif;letter-spacing:0;text-transform:uppercase}
.home-footer-group ul{margin:0;padding:0;list-style:none}
.home-footer-group li{margin:0 0 5px;line-height:1.5}
.home-footer-group a{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:#5f6972;font-size:12px;text-decoration:none;transition:color .2s ease}
.home-footer-group a i{width:14px;color:#7c8790;font-size:13px;text-align:center;transition:color .2s ease}
.home-footer-group a:hover{color:#2c98f0;text-decoration:underline;text-underline-offset:4px}
.home-footer-group a:hover i{color:#2c98f0}
.home-footer-group a:focus-visible{outline:2px solid #2c98f0;outline-offset:3px}
.home-sidebar-contact{padding:0 20px}
.home-sidebar-contact p{margin:0;color:#7a7a7a;font:400 12px/1.6 "Quicksand",Arial,sans-serif}
.home-sidebar-contact span{display:block;margin-bottom:2px;color:#999;font-size:10px;font-weight:500;text-transform:uppercase}
.home-sidebar-contact a{color:#5f6972;text-decoration:none;overflow-wrap:anywhere;transition:color .2s ease}
.home-sidebar-contact a:hover{color:#2c98f0;text-decoration:underline;text-underline-offset:3px}
.home-sidebar-contact a:focus-visible{outline:2px solid #2c98f0;outline-offset:3px}
@media screen and (max-width:768px){.home-footer{min-height:240px;padding:0 clamp(20px,5vw,40px)}.home-footer>.colorlib-narrow-content{width:100%;min-height:240px}.home-footer-inner{min-height:240px;padding:30px 0}.home-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.home-footer-social{grid-column:1/-1;grid-row:2}.home-footer-social ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}.home-footer-group h2{font-size:11px}.home-footer-group a{font-size:11px;overflow-wrap:break-word}}
.home-motion-ready [data-home-reveal]{opacity:0;transform:translate3d(0,14px,0)}
.home-motion-ready [data-home-reveal].home-revealed{animation:home-content-reveal 400ms cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--home-reveal-delay,0ms)}
@keyframes home-content-reveal{to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.skip-link,.home-motion-ready [data-home-reveal],.home-motion-ready [data-home-reveal].home-revealed{opacity:1;transition:none;animation:none}.skip-link{transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label{border-color:#e2e5e8;border-radius:4px;box-shadow:0 4px 14px rgba(31,42,52,.055)}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label:after{border-color:transparent #e2e5e8 transparent transparent}
.fancy-collapse-panel .panel-default{margin-bottom:14px;border:1px solid #e2e5e8;border-radius:4px;box-shadow:0 4px 14px rgba(31,42,52,.055)!important;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
@media(hover:hover){.fancy-collapse-panel .panel-default:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(31,42,52,.085)!important}}
.fancy-collapse-panel .panel-default>.panel-heading,.fancy-collapse-panel .panel-default>.panel-heading a{border-radius:0}
.fancy-collapse-panel .panel-default>.panel-heading a.collapsed{border:0!important}
.fancy-collapse-panel .panel-default>.panel-collapse>.panel-body{margin-top:0;border:0!important;border-top:1px solid #e2e5e8!important}
#colorlib-hero .flexslider,
#colorlib-hero .flexslider .flex-viewport,
#colorlib-hero .flexslider .slides,
#colorlib-hero .flexslider .slides>li,
#colorlib-hero .flexslider .slides>li>.container-fluid,
#colorlib-hero .flexslider .slides>li>.container-fluid>.row{
  height:100%;
  min-height:500px;
  background:transparent;
}
#colorlib-hero .flexslider .slides>li>.container-fluid{
  position:relative;
}
#colorlib-hero .flexslider .slides>li>.container-fluid>.row{
  position:relative;
  margin:0;
}
#colorlib-hero .flexslider .slider-text{
  position:absolute;
  top:auto;
  right:clamp(16px,4%,64px);
  bottom:clamp(24px,8%,86px);
  left:auto;
  display:flex;
  align-items:flex-end;
  float:none;
  width:min(44%,620px);
  height:auto;
  min-height:0;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  box-sizing:border-box;
  z-index:9;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner{
  position:static;
  display:block;
  width:100%;
  min-height:0;
  max-height:none;
  padding:0;
  overflow:visible;
  transform:none;
  box-sizing:border-box;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner .desc,
#colorlib-hero .flexslider .slider-text>.slider-text-inner h1,
#colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
  padding-left:0;
  text-align:left;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{
  width:auto;
  max-width:100%;
}
.timeline>section{
  padding-top:56px;
  padding-bottom:64px;
}
.timeline>section .colorlib-heading{
  margin-bottom:56px;
}
@media screen and (max-width:430px){
  #colorlib-hero .flexslider .slider-text{
    right:18px;
    bottom:clamp(28px,7vh,58px);
    width:min(56%,240px);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .desc{
    text-align:left;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1,
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
    text-align:left;
    text-shadow:0 1px 10px rgba(255,255,255,.9),0 1px 2px rgba(255,255,255,.95);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1{margin-bottom:12px}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{margin-bottom:16px}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner p{text-align:left}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{float:none}
}
@media screen and (max-width:700px) and (max-height:700px){
  #colorlib-hero,
  #colorlib-hero .flexslider,
  #colorlib-hero .flexslider .flex-viewport,
  #colorlib-hero .flexslider .slides,
  #colorlib-hero .flexslider .slides>li,
  #colorlib-hero .flexslider .slides>li>.container-fluid,
  #colorlib-hero .flexslider .slides>li>.container-fluid>.row{
    height:100vh;
    min-height:0;
  }
  #colorlib-hero .flexslider .slider-text{
    top:auto;
    bottom:clamp(16px,6%,40px);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1{
    font-size:clamp(22px,5vw,28px);
    line-height:1.2;
    margin-bottom:10px;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
    font-size:clamp(11px,2.2vw,14px);
    line-height:1.35;
    margin-bottom:12px;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{
    font-size:10px;
    letter-spacing:1px;
    padding:8px 10px!important;
  }
}
@media screen and (max-width:768px){
  #colorlib-aside{width:300px;transform:translateX(-300px);padding-top:4em}
  #colorlib-main{width:100%;margin-left:0}
  .colorlib-nav-toggle{display:flex;align-items:center;justify-content:center;left:0;top:0;width:44px;height:44px;margin:0;padding:0;border:0;background:transparent;opacity:1;visibility:visible}
  body.offcanvas #colorlib-aside{transform:translateX(0)}
  body.offcanvas #colorlib-main{width:100%;margin-left:0;transform:none}
  body.offcanvas .colorlib-nav-toggle{transform:translateX(clamp(0px,calc(100vw - 44px),300px))}
  .timeline>section{padding:48px clamp(20px,5vw,40px) 56px}
  .timeline>section .colorlib-heading{margin-bottom:40px}
  [data-section="education"] .timeline-centered:before,
  [data-section="publication"] .timeline-centered:before,
  [data-section="courseproj"] .timeline-centered:before{margin-left:15px}
  [data-section="education"] .timeline-centered .timeline-entry,
  [data-section="publication"] .timeline-centered .timeline-entry,
  [data-section="courseproj"] .timeline-centered .timeline-entry{margin-left:14px}
  [data-section="education"] .timeline-image{width:32px;height:32px;transform:translate(-8px,34px)}
  [data-section="education"] .timeline-label,
  [data-section="publication"] .timeline-label,
  [data-section="courseproj"] .timeline-label{
    margin-left:34px;
    margin-right:0;
    padding:18px;
    text-align:left;
    word-break:normal;
    overflow-wrap:break-word;
    hyphens:none;
    -webkit-hyphens:none;
  }
  [data-section="publication"] .timeline-label .container-fluid,
  [data-section="courseproj"] .timeline-label .container-fluid{width:100%;max-width:100%;padding-right:0;padding-left:0}
  [data-section="publication"] .timeline-label .row,
  [data-section="courseproj"] .timeline-label .row{margin-right:0;margin-left:0}
  [data-section="publication"] .timeline-label [class*="col-"],
  [data-section="courseproj"] .timeline-label [class*="col-"]{padding-right:0;padding-left:0}
  [data-section="publication"] .timeline-label [class*="col-"]+[class*="col-"],
  [data-section="courseproj"] .timeline-label [class*="col-"]+[class*="col-"]{margin-top:16px}
}
.colorlib-nav-toggle:focus-visible{outline:3px solid #2c98f0;outline-offset:2px}
.back-to-top{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;line-height:1}
.back-to-top.show{opacity:1;visibility:visible}
.back-to-top:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #2c98f0}
@media(prefers-reduced-motion:reduce){
  .colorlib-nav-toggle,.colorlib-nav-toggle i,.colorlib-nav-toggle i::before,.colorlib-nav-toggle i::after,.back-to-top{transition:none}
}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:40px}
.course-card{position:relative;display:flex;min-width:0;min-height:156px;flex-direction:column;justify-content:flex-start;padding:24px 28px;border:1px solid #e2e5e8;border-top-color:#2c98f0;border-radius:4px;background:#fff;box-shadow:0 4px 14px rgba(31,42,52,.055);box-sizing:border-box}
.course-card-link{color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.course-card-link:hover{color:inherit;text-decoration:none;transform:translateY(-2px);box-shadow:0 7px 18px rgba(31,42,52,.085)}
.course-card-link:focus-visible{color:inherit;outline:2px solid currentColor;outline-offset:3px;text-decoration:none}
.course-card h2{margin:16px 0 9px;font-size:20px;line-height:1.35;overflow-wrap:break-word}
.course-card p{margin:0;color:#666;font-size:14px;line-height:1.65;text-align:left;word-break:normal;overflow-wrap:normal;hyphens:none}
.course-card-number{font-family:"Quicksand",Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:0;color:#999}
.skip-link{position:fixed;top:12px;left:12px;z-index:2147483647;padding:11px 16px;background:#20242a;color:#fff;font:700 14px/1.4 "Quicksand",Arial,sans-serif;transform:translateY(-150%);transition:transform .2s ease}
.skip-link:focus{color:#fff;outline:3px solid #2c98f0;outline-offset:2px;transform:translateY(0)}
#colorlib-main:focus{outline:none}
.course-card-color-2{border-top-color:#ec5453}
.course-card-color-3{border-top-color:#f9bf3f}
.course-card-color-4{border-top-color:#a84cb8}
.course-card-color-5{border-top-color:#2fa499}
@media screen and (max-width:767px){.course-grid{grid-template-columns:1fr}.course-card{min-height:0}}
[data-section="publication"] .publication-media{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
[data-section="publication"] .publication-media+.publication-media{margin-top:14px}
#colorlib-main .home-blog-entry{padding-top:4em;padding-bottom:24em}
.home-blog-entry .colorlib-heading{margin-bottom:3em}
.home-blog-card{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);min-height:260px;border:1px solid #e2e5e8;border-radius:4px;color:#2f2f2f;background:#f2f3f7;box-shadow:0 4px 14px rgba(31,42,52,.055);overflow:hidden;text-decoration:none;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1)}
.home-blog-card:hover{color:#2f2f2f;box-shadow:0 7px 18px rgba(31,42,52,.085);transform:translateY(-2px);text-decoration:none}
.home-blog-card:focus-visible{color:#2f2f2f;outline:3px solid #2c98f0;outline-offset:4px;text-decoration:none}
.home-blog-card-media{min-height:260px;overflow:hidden;background:#e6e9ed}
.home-blog-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.home-blog-card:hover .home-blog-card-media img{transform:scale(1.025)}
.home-blog-card-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(30px,4vw,48px);text-align:left}
.home-blog-card-copy h3{margin:0 0 14px;color:#111;font:700 28px/1.25 "Playfair Display",Georgia,serif;letter-spacing:0;text-transform:none}
.home-blog-card-copy p{max-width:36ch;margin:0;color:#505a63;font-size:16px;line-height:1.75;text-align:left}
.home-blog-card-meta{margin-top:30px;color:#2c98f0;font-size:13px;font-weight:700}
.home-blog-card-arrow{display:inline-block;margin-left:6px;transition:transform .25s ease}
.home-blog-card:hover .home-blog-card-arrow{transform:translateX(5px)}
.home-blog-card-no-media{grid-template-columns:1fr;min-height:220px;background:#fff}
.home-blog-card-no-media .home-blog-card-copy{max-width:760px;padding-left:0}
@media screen and (max-width:767px){#colorlib-main .home-blog-entry{padding:5em 20px 20em}.home-blog-entry .colorlib-heading{margin-bottom:2em}.home-blog-card{grid-template-columns:1fr;min-height:0}.home-blog-card-media{min-height:0;aspect-ratio:16/9}.home-blog-card-copy{padding:28px 24px 32px}.home-blog-card-copy h3{font-size:25px}.home-blog-card-copy p{font-size:15px}.home-blog-card-meta{margin-top:22px}.home-blog-card-no-media .home-blog-card-copy{padding-left:0;padding-right:0}}
@media(prefers-reduced-motion:reduce){.home-blog-card,.home-blog-card-media img,.home-blog-card-arrow{transition:none}}
.home-footer{min-height:240px;background:#fff}
.home-footer>.colorlib-narrow-content{width:80%;min-height:240px;margin:0 auto;padding:0}
.home-footer-inner{display:flex;min-height:240px;justify-content:center;flex-direction:column;padding:34px 0;border-top:1px solid #e2e5e8;box-sizing:border-box}
.home-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,5vw,64px)}
.home-footer-group h2{margin:0 0 12px;color:#272727;font:700 13px/1.4 "Quicksand",Arial,sans-serif;letter-spacing:0;text-transform:uppercase}
.home-footer-group ul{margin:0;padding:0;list-style:none}
.home-footer-group li{margin:0 0 5px;line-height:1.5}
.home-footer-group a{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:#5f6972;font-size:12px;text-decoration:none;transition:color .2s ease}
.home-footer-group a i{width:14px;color:#7c8790;font-size:13px;text-align:center;transition:color .2s ease}
.home-footer-group a:hover{color:#2c98f0;text-decoration:underline;text-underline-offset:4px}
.home-footer-group a:hover i{color:#2c98f0}
.home-footer-group a:focus-visible{outline:2px solid #2c98f0;outline-offset:3px}
.home-sidebar-contact{padding:0 20px}
.home-sidebar-contact p{margin:0;color:#7a7a7a;font:400 12px/1.6 "Quicksand",Arial,sans-serif}
.home-sidebar-contact span{display:block;margin-bottom:2px;color:#999;font-size:10px;font-weight:500;text-transform:uppercase}
.home-sidebar-contact a{color:#5f6972;text-decoration:none;overflow-wrap:anywhere;transition:color .2s ease}
.home-sidebar-contact a:hover{color:#2c98f0;text-decoration:underline;text-underline-offset:3px}
.home-sidebar-contact a:focus-visible{outline:2px solid #2c98f0;outline-offset:3px}
@media screen and (max-width:768px){.home-footer{min-height:240px;padding:0 clamp(20px,5vw,40px)}.home-footer>.colorlib-narrow-content{width:100%;min-height:240px}.home-footer-inner{min-height:240px;padding:30px 0}.home-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.home-footer-social{grid-column:1/-1;grid-row:2}.home-footer-social ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}.home-footer-group h2{font-size:11px}.home-footer-group a{font-size:11px;overflow-wrap:break-word}}
.home-motion-ready [data-home-reveal]{opacity:0;transform:translate3d(0,14px,0)}
.home-motion-ready [data-home-reveal].home-revealed{animation:home-content-reveal 400ms cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--home-reveal-delay,0ms)}
@keyframes home-content-reveal{to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.skip-link,.home-motion-ready [data-home-reveal],.home-motion-ready [data-home-reveal].home-revealed{opacity:1;transition:none;animation:none}.skip-link{transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label{border-color:#e2e5e8;border-radius:4px;box-shadow:0 4px 14px rgba(31,42,52,.055)}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label:after{border-color:transparent #e2e5e8 transparent transparent}
.fancy-collapse-panel .panel-default{margin-bottom:14px;border:1px solid #e2e5e8;border-radius:4px;box-shadow:0 4px 14px rgba(31,42,52,.055)!important;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
@media(hover:hover){.fancy-collapse-panel .panel-default:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(31,42,52,.085)!important}}
.fancy-collapse-panel .panel-default>.panel-heading,.fancy-collapse-panel .panel-default>.panel-heading a{border-radius:0}
.fancy-collapse-panel .panel-default>.panel-heading a.collapsed{border:0!important}
.fancy-collapse-panel .panel-default>.panel-collapse>.panel-body{margin-top:0;border:0!important;border-top:1px solid #e2e5e8!important}
#colorlib-hero .flexslider,
#colorlib-hero .flexslider .flex-viewport,
#colorlib-hero .flexslider .slides,
#colorlib-hero .flexslider .slides>li,
#colorlib-hero .flexslider .slides>li>.container-fluid,
#colorlib-hero .flexslider .slides>li>.container-fluid>.row{
  height:100%;
  min-height:500px;
  background:transparent;
}
#colorlib-hero .flexslider .slides>li>.container-fluid{
  position:relative;
}
#colorlib-hero .flexslider .slides>li>.container-fluid>.row{
  position:relative;
  margin:0;
}
#colorlib-hero .flexslider .slider-text{
  position:absolute;
  top:auto;
  right:clamp(16px,4%,64px);
  bottom:clamp(24px,8%,86px);
  left:auto;
  display:flex;
  align-items:flex-end;
  float:none;
  width:min(44%,620px);
  height:auto;
  min-height:0;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  box-sizing:border-box;
  z-index:9;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner{
  position:static;
  display:block;
  width:100%;
  min-height:0;
  max-height:none;
  padding:0;
  overflow:visible;
  transform:none;
  box-sizing:border-box;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner .desc,
#colorlib-hero .flexslider .slider-text>.slider-text-inner h1,
#colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
  padding-left:0;
  text-align:left;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{
  width:auto;
  max-width:100%;
}
.timeline>section{
  padding-top:56px;
  padding-bottom:64px;
}
.timeline>section .colorlib-heading{
  margin-bottom:56px;
}
@media screen and (max-width:430px){
  #colorlib-hero .flexslider .slider-text{
    right:18px;
    bottom:clamp(28px,7vh,58px);
    width:min(56%,240px);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .desc{
    text-align:left;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1,
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
    text-align:left;
    text-shadow:0 1px 10px rgba(255,255,255,.9),0 1px 2px rgba(255,255,255,.95);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1{margin-bottom:12px}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{margin-bottom:16px}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner p{text-align:left}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{float:none}
}
@media screen and (max-width:700px) and (max-height:700px){
  #colorlib-hero,
  #colorlib-hero .flexslider,
  #colorlib-hero .flexslider .flex-viewport,
  #colorlib-hero .flexslider .slides,
  #colorlib-hero .flexslider .slides>li,
  #colorlib-hero .flexslider .slides>li>.container-fluid,
  #colorlib-hero .flexslider .slides>li>.container-fluid>.row{
    height:100vh;
    min-height:0;
  }
  #colorlib-hero .flexslider .slider-text{
    top:auto;
    bottom:clamp(16px,6%,40px);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1{
    font-size:clamp(22px,5vw,28px);
    line-height:1.2;
    margin-bottom:10px;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
    font-size:clamp(11px,2.2vw,14px);
    line-height:1.35;
    margin-bottom:12px;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{
    font-size:10px;
    letter-spacing:1px;
    padding:8px 10px!important;
  }
}
@media screen and (max-width:768px){
  #colorlib-aside{width:300px;transform:translateX(-300px);padding-top:4em}
  #colorlib-main{width:100%;margin-left:0}
  .colorlib-nav-toggle{display:flex;align-items:center;justify-content:center;left:0;top:0;width:44px;height:44px;margin:0;padding:0;border:0;background:transparent;opacity:1;visibility:visible}
  body.offcanvas #colorlib-aside{transform:translateX(0)}
  body.offcanvas #colorlib-main{width:100%;margin-left:0;transform:none}
  body.offcanvas .colorlib-nav-toggle{transform:translateX(clamp(0px,calc(100vw - 44px),300px))}
  .timeline>section{padding:48px clamp(20px,5vw,40px) 56px}
  .timeline>section .colorlib-heading{margin-bottom:40px}
  [data-section="education"] .timeline-centered:before,
  [data-section="publication"] .timeline-centered:before,
  [data-section="courseproj"] .timeline-centered:before{margin-left:15px}
  [data-section="education"] .timeline-centered .timeline-entry,
  [data-section="publication"] .timeline-centered .timeline-entry,
  [data-section="courseproj"] .timeline-centered .timeline-entry{margin-left:14px}
  [data-section="education"] .timeline-image{width:32px;height:32px;transform:translate(-8px,34px)}
  [data-section="education"] .timeline-label,
  [data-section="publication"] .timeline-label,
  [data-section="courseproj"] .timeline-label{
    margin-left:34px;
    margin-right:0;
    padding:18px;
    text-align:left;
    word-break:normal;
    overflow-wrap:break-word;
    hyphens:none;
    -webkit-hyphens:none;
  }
  [data-section="publication"] .timeline-label .container-fluid,
  [data-section="courseproj"] .timeline-label .container-fluid{width:100%;max-width:100%;padding-right:0;padding-left:0}
  [data-section="publication"] .timeline-label .row,
  [data-section="courseproj"] .timeline-label .row{margin-right:0;margin-left:0}
  [data-section="publication"] .timeline-label [class*="col-"],
  [data-section="courseproj"] .timeline-label [class*="col-"]{padding-right:0;padding-left:0}
  [data-section="publication"] .timeline-label [class*="col-"]+[class*="col-"],
  [data-section="courseproj"] .timeline-label [class*="col-"]+[class*="col-"]{margin-top:16px}
}
.colorlib-nav-toggle:focus-visible{outline:3px solid #2c98f0;outline-offset:2px}
.back-to-top{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;line-height:1}
.back-to-top.show{opacity:1;visibility:visible}
.back-to-top:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #2c98f0}
@media(prefers-reduced-motion:reduce){
  .colorlib-nav-toggle,.colorlib-nav-toggle i,.colorlib-nav-toggle i::before,.colorlib-nav-toggle i::after,.back-to-top{transition:none}
}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:40px}
.course-card{position:relative;display:flex;min-width:0;min-height:156px;flex-direction:column;justify-content:flex-start;padding:24px 28px;border:1px solid #e2e5e8;border-top-color:#2c98f0;border-radius:4px;background:#fff;box-shadow:0 4px 14px rgba(31,42,52,.055);box-sizing:border-box}
.course-card-link{color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.course-card-link:hover{color:inherit;text-decoration:none;transform:translateY(-2px);box-shadow:0 7px 18px rgba(31,42,52,.085)}
.course-card-link:focus-visible{color:inherit;outline:2px solid currentColor;outline-offset:3px;text-decoration:none}
.course-card h2{margin:16px 0 9px;font-size:20px;line-height:1.35;overflow-wrap:break-word}
.course-card p{margin:0;color:#666;font-size:14px;line-height:1.65;text-align:left;word-break:normal;overflow-wrap:normal;hyphens:none}
.course-card-number{font-family:"Quicksand",Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:0;color:#999}
.skip-link{position:fixed;top:12px;left:12px;z-index:2147483647;padding:11px 16px;background:#20242a;color:#fff;font:700 14px/1.4 "Quicksand",Arial,sans-serif;transform:translateY(-150%);transition:transform .2s ease}
.skip-link:focus{color:#fff;outline:3px solid #2c98f0;outline-offset:2px;transform:translateY(0)}
#colorlib-main:focus{outline:none}
.course-card-color-2{border-top-color:#ec5453}
.course-card-color-3{border-top-color:#f9bf3f}
.course-card-color-4{border-top-color:#a84cb8}
.course-card-color-5{border-top-color:#2fa499}
@media screen and (max-width:767px){.course-grid{grid-template-columns:1fr}.course-card{min-height:0}}
[data-section="publication"] .publication-media{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
[data-section="publication"] .publication-media+.publication-media{margin-top:14px}
#colorlib-main .home-blog-entry{padding-top:4em;padding-bottom:24em}
.home-blog-entry .colorlib-heading{margin-bottom:3em}
.home-blog-card{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);min-height:260px;border:1px solid #e2e5e8;border-radius:4px;color:#2f2f2f;background:#f2f3f7;box-shadow:0 4px 14px rgba(31,42,52,.055);overflow:hidden;text-decoration:none;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1)}
.home-blog-card:hover{color:#2f2f2f;box-shadow:0 7px 18px rgba(31,42,52,.085);transform:translateY(-2px);text-decoration:none}
.home-blog-card:focus-visible{color:#2f2f2f;outline:3px solid #2c98f0;outline-offset:4px;text-decoration:none}
.home-blog-card-media{min-height:260px;overflow:hidden;background:#e6e9ed}
.home-blog-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.home-blog-card:hover .home-blog-card-media img{transform:scale(1.025)}
.home-blog-card-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(30px,4vw,48px);text-align:left}
.home-blog-card-copy h3{margin:0 0 14px;color:#111;font:700 28px/1.25 "Playfair Display",Georgia,serif;letter-spacing:0;text-transform:none}
.home-blog-card-copy p{max-width:36ch;margin:0;color:#505a63;font-size:16px;line-height:1.75;text-align:left}
.home-blog-card-meta{margin-top:30px;color:#2c98f0;font-size:13px;font-weight:700}
.home-blog-card-arrow{display:inline-block;margin-left:6px;transition:transform .25s ease}
.home-blog-card:hover .home-blog-card-arrow{transform:translateX(5px)}
.home-blog-card-no-media{grid-template-columns:1fr;min-height:220px;background:#fff}
.home-blog-card-no-media .home-blog-card-copy{max-width:760px;padding-left:0}
@media screen and (max-width:767px){#colorlib-main .home-blog-entry{padding:5em 20px 20em}.home-blog-entry .colorlib-heading{margin-bottom:2em}.home-blog-card{grid-template-columns:1fr;min-height:0}.home-blog-card-media{min-height:0;aspect-ratio:16/9}.home-blog-card-copy{padding:28px 24px 32px}.home-blog-card-copy h3{font-size:25px}.home-blog-card-copy p{font-size:15px}.home-blog-card-meta{margin-top:22px}.home-blog-card-no-media .home-blog-card-copy{padding-left:0;padding-right:0}}
@media(prefers-reduced-motion:reduce){.home-blog-card,.home-blog-card-media img,.home-blog-card-arrow{transition:none}}
.home-footer{min-height:240px;background:#fff}
.home-footer>.colorlib-narrow-content{width:80%;min-height:240px;margin:0 auto;padding:0}
.home-footer-inner{display:flex;min-height:240px;justify-content:center;flex-direction:column;padding:34px 0;border-top:1px solid #e2e5e8;box-sizing:border-box}
.home-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,5vw,64px)}
.home-footer-group h2{margin:0 0 12px;color:#272727;font:700 13px/1.4 "Quicksand",Arial,sans-serif;letter-spacing:0;text-transform:uppercase}
.home-footer-group ul{margin:0;padding:0;list-style:none}
.home-footer-group li{margin:0 0 5px;line-height:1.5}
.home-footer-group a{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:#5f6972;font-size:12px;text-decoration:none;transition:color .2s ease}
.home-footer-group a i{width:14px;color:#7c8790;font-size:13px;text-align:center;transition:color .2s ease}
.home-footer-group a:hover{color:#2c98f0;text-decoration:underline;text-underline-offset:4px}
.home-footer-group a:hover i{color:#2c98f0}
.home-footer-group a:focus-visible{outline:2px solid #2c98f0;outline-offset:3px}
@media screen and (max-width:768px){.home-footer{min-height:240px;padding:0 clamp(20px,5vw,40px)}.home-footer>.colorlib-narrow-content{width:100%;min-height:240px}.home-footer-inner{min-height:240px;padding:30px 0}.home-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.home-footer-social{grid-column:1/-1;grid-row:2}.home-footer-social ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}.home-footer-group h2{font-size:11px}.home-footer-group a{font-size:11px;overflow-wrap:break-word}}
.home-motion-ready [data-home-reveal]{opacity:0;transform:translate3d(0,14px,0)}
.home-motion-ready [data-home-reveal].home-revealed{animation:home-content-reveal 400ms cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--home-reveal-delay,0ms)}
@keyframes home-content-reveal{to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.skip-link,.home-motion-ready [data-home-reveal],.home-motion-ready [data-home-reveal].home-revealed{opacity:1;transition:none;animation:none}.skip-link{transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label{border-color:#e2e5e8;border-radius:4px;box-shadow:0 4px 14px rgba(31,42,52,.055)}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label:after{border-color:transparent #e2e5e8 transparent transparent}
.fancy-collapse-panel .panel-default{margin-bottom:14px;border:1px solid #e2e5e8;border-radius:4px;box-shadow:0 4px 14px rgba(31,42,52,.055)!important;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
@media(hover:hover){.fancy-collapse-panel .panel-default:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(31,42,52,.085)!important}}
.fancy-collapse-panel .panel-default>.panel-heading,.fancy-collapse-panel .panel-default>.panel-heading a{border-radius:0}
.fancy-collapse-panel .panel-default>.panel-heading a.collapsed{border:0!important}
.fancy-collapse-panel .panel-default>.panel-collapse>.panel-body{margin-top:0;border:0!important;border-top:1px solid #e2e5e8!important}
#colorlib-hero .flexslider,
#colorlib-hero .flexslider .flex-viewport,
#colorlib-hero .flexslider .slides,
#colorlib-hero .flexslider .slides>li,
#colorlib-hero .flexslider .slides>li>.container-fluid,
#colorlib-hero .flexslider .slides>li>.container-fluid>.row{
  height:100%;
  min-height:500px;
  background:transparent;
}
#colorlib-hero .flexslider .slides>li>.container-fluid{
  position:relative;
}
#colorlib-hero .flexslider .slides>li>.container-fluid>.row{
  position:relative;
  margin:0;
}
#colorlib-hero .flexslider .slider-text{
  position:absolute;
  top:auto;
  right:clamp(16px,4%,64px);
  bottom:clamp(24px,8%,86px);
  left:auto;
  display:flex;
  align-items:flex-end;
  float:none;
  width:min(44%,620px);
  height:auto;
  min-height:0;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  box-sizing:border-box;
  z-index:9;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner{
  position:static;
  display:block;
  width:100%;
  min-height:0;
  max-height:none;
  padding:0;
  overflow:visible;
  transform:none;
  box-sizing:border-box;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner .desc,
#colorlib-hero .flexslider .slider-text>.slider-text-inner h1,
#colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
  padding-left:0;
  text-align:left;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{
  width:auto;
  max-width:100%;
}
.timeline>section{
  padding-top:56px;
  padding-bottom:64px;
}
.timeline>section .colorlib-heading{
  margin-bottom:56px;
}
@media screen and (max-width:430px){
  #colorlib-hero .flexslider .slider-text{
    right:18px;
    bottom:clamp(28px,7vh,58px);
    width:min(56%,240px);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .desc{
    text-align:left;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1,
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
    text-align:left;
    text-shadow:0 1px 10px rgba(255,255,255,.9),0 1px 2px rgba(255,255,255,.95);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1{margin-bottom:12px}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{margin-bottom:16px}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner p{text-align:left}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{float:none}
}
@media screen and (max-width:700px) and (max-height:700px){
  #colorlib-hero,
  #colorlib-hero .flexslider,
  #colorlib-hero .flexslider .flex-viewport,
  #colorlib-hero .flexslider .slides,
  #colorlib-hero .flexslider .slides>li,
  #colorlib-hero .flexslider .slides>li>.container-fluid,
  #colorlib-hero .flexslider .slides>li>.container-fluid>.row{
    height:100vh;
    min-height:0;
  }
  #colorlib-hero .flexslider .slider-text{
    top:auto;
    bottom:clamp(16px,6%,40px);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1{
    font-size:clamp(22px,5vw,28px);
    line-height:1.2;
    margin-bottom:10px;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
    font-size:clamp(11px,2.2vw,14px);
    line-height:1.35;
    margin-bottom:12px;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{
    font-size:10px;
    letter-spacing:1px;
    padding:8px 10px!important;
  }
}
@media screen and (max-width:768px){
  #colorlib-aside{width:300px;transform:translateX(-300px);padding-top:4em}
  #colorlib-main{width:100%;margin-left:0}
  .colorlib-nav-toggle{display:flex;align-items:center;justify-content:center;left:0;top:0;width:44px;height:44px;margin:0;padding:0;border:0;background:transparent;opacity:1;visibility:visible}
  body.offcanvas #colorlib-aside{transform:translateX(0)}
  body.offcanvas #colorlib-main{width:100%;margin-left:0;transform:none}
  body.offcanvas .colorlib-nav-toggle{transform:translateX(clamp(0px,calc(100vw - 44px),300px))}
  .timeline>section{padding:48px clamp(20px,5vw,40px) 56px}
  .timeline>section .colorlib-heading{margin-bottom:40px}
  [data-section="education"] .timeline-centered:before,
  [data-section="publication"] .timeline-centered:before,
  [data-section="courseproj"] .timeline-centered:before{margin-left:15px}
  [data-section="education"] .timeline-centered .timeline-entry,
  [data-section="publication"] .timeline-centered .timeline-entry,
  [data-section="courseproj"] .timeline-centered .timeline-entry{margin-left:14px}
  [data-section="education"] .timeline-image{width:32px;height:32px;transform:translate(-8px,34px)}
  [data-section="education"] .timeline-label,
  [data-section="publication"] .timeline-label,
  [data-section="courseproj"] .timeline-label{
    margin-left:34px;
    margin-right:0;
    padding:18px;
    text-align:left;
    word-break:normal;
    overflow-wrap:break-word;
    hyphens:none;
    -webkit-hyphens:none;
  }
  [data-section="publication"] .timeline-label .container-fluid,
  [data-section="courseproj"] .timeline-label .container-fluid{width:100%;max-width:100%;padding-right:0;padding-left:0}
  [data-section="publication"] .timeline-label .row,
  [data-section="courseproj"] .timeline-label .row{margin-right:0;margin-left:0}
  [data-section="publication"] .timeline-label [class*="col-"],
  [data-section="courseproj"] .timeline-label [class*="col-"]{padding-right:0;padding-left:0}
  [data-section="publication"] .timeline-label [class*="col-"]+[class*="col-"],
  [data-section="courseproj"] .timeline-label [class*="col-"]+[class*="col-"]{margin-top:16px}
}
.colorlib-nav-toggle:focus-visible{outline:3px solid #2c98f0;outline-offset:2px}
.back-to-top{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;line-height:1}
.back-to-top.show{opacity:1;visibility:visible}
.back-to-top:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #2c98f0}
@media(prefers-reduced-motion:reduce){
  .colorlib-nav-toggle,.colorlib-nav-toggle i,.colorlib-nav-toggle i::before,.colorlib-nav-toggle i::after,.back-to-top{transition:none}
}
/* cms-home-styles-v2:start */
.flexslider,.flexslider .slides,.flexslider .slides>li{margin:0;padding:0;list-style:none}
.flexslider{position:relative}
.flexslider .slides>li{display:block}
.animated{animation-duration:1s;animation-fill-mode:both}
.fadeInUp{animation-name:fadeInUp}
@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#colorlib-hero .flexslider .slider-text{opacity:1}}

.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:40px}
.course-card{position:relative;display:flex;min-width:0;min-height:156px;flex-direction:column;justify-content:flex-start;padding:24px 28px;border:1px solid #e2e5e8;border-top-color:#2c98f0;border-radius:4px;background:#fff;box-shadow:0 4px 14px rgba(31,42,52,.055);box-sizing:border-box}
.course-card-link{color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.course-card-link:hover{color:inherit;text-decoration:none;transform:translateY(-2px);box-shadow:0 7px 18px rgba(31,42,52,.085)}
.course-card-link:focus-visible{color:inherit;outline:2px solid currentColor;outline-offset:3px;text-decoration:none}
.course-card h2{margin:16px 0 9px;font-size:20px;line-height:1.35;overflow-wrap:break-word}
.course-card p{margin:0;color:#666;font-size:14px;line-height:1.65;text-align:left;word-break:normal;overflow-wrap:normal;hyphens:none}
.course-card-number{font-family:"Quicksand",Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:0;color:#999}
.skip-link{position:fixed;top:12px;left:12px;z-index:2147483647;padding:11px 16px;background:#20242a;color:#fff;font:700 14px/1.4 "Quicksand",Arial,sans-serif;transform:translateY(-150%);transition:transform .2s ease}
.skip-link:focus{color:#fff;outline:3px solid #2c98f0;outline-offset:2px;transform:translateY(0)}
#colorlib-main:focus{outline:none}
.course-card-color-2{border-top-color:#ec5453}
.course-card-color-3{border-top-color:#f9bf3f}
.course-card-color-4{border-top-color:#a84cb8}
.course-card-color-5{border-top-color:#2fa499}
@media screen and (max-width:767px){.course-grid{grid-template-columns:1fr}.course-card{min-height:0}}
[data-section="publication"] .publication-media{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
[data-section="publication"] .publication-media+.publication-media{margin-top:14px}
#colorlib-main .home-blog-entry{padding-top:4em;padding-bottom:24em}
.home-blog-entry .colorlib-heading{margin-bottom:3em}
.home-blog-card{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);min-height:260px;border:1px solid #e2e5e8;border-radius:4px;color:#2f2f2f;background:#f2f3f7;box-shadow:0 4px 14px rgba(31,42,52,.055);overflow:hidden;text-decoration:none;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1)}
.home-blog-card:hover{color:#2f2f2f;box-shadow:0 7px 18px rgba(31,42,52,.085);transform:translateY(-2px);text-decoration:none}
.home-blog-card:focus-visible{color:#2f2f2f;outline:3px solid #2c98f0;outline-offset:4px;text-decoration:none}
.home-blog-card-media{min-height:260px;overflow:hidden;background:#e6e9ed}
.home-blog-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.home-blog-card:hover .home-blog-card-media img{transform:scale(1.025)}
.home-blog-card-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(30px,4vw,48px);text-align:left}
.home-blog-card-copy h3{margin:0 0 14px;color:#111;font:700 28px/1.25 "Playfair Display",Georgia,serif;letter-spacing:0;text-transform:none}
.home-blog-card-copy p{max-width:36ch;margin:0;color:#505a63;font-size:16px;line-height:1.75;text-align:left}
.home-blog-card-meta{margin-top:30px;color:#2c98f0;font-size:13px;font-weight:700}
.home-blog-card-arrow{display:inline-block;margin-left:6px;transition:transform .25s ease}
.home-blog-card:hover .home-blog-card-arrow{transform:translateX(5px)}
.home-blog-card-no-media{grid-template-columns:1fr;min-height:220px;background:#fff}
.home-blog-card-no-media .home-blog-card-copy{max-width:760px;padding-left:0}
@media screen and (max-width:767px){#colorlib-main .home-blog-entry{padding:5em 20px 20em}.home-blog-entry .colorlib-heading{margin-bottom:2em}.home-blog-card{grid-template-columns:1fr;min-height:0}.home-blog-card-media{min-height:0;aspect-ratio:16/9}.home-blog-card-copy{padding:28px 24px 32px}.home-blog-card-copy h3{font-size:25px}.home-blog-card-copy p{font-size:15px}.home-blog-card-meta{margin-top:22px}.home-blog-card-no-media .home-blog-card-copy{padding-left:0;padding-right:0}}
@media(prefers-reduced-motion:reduce){.home-blog-card,.home-blog-card-media img,.home-blog-card-arrow{transition:none}}
.home-footer{min-height:240px;background:#fff}
.home-footer>.colorlib-narrow-content{width:80%;min-height:240px;margin:0 auto;padding:0}
.home-footer-inner{display:flex;min-height:240px;justify-content:center;flex-direction:column;padding:34px 0;border-top:1px solid #e2e5e8;box-sizing:border-box}
.home-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,5vw,64px)}
.home-footer-group h2{margin:0 0 12px;color:#272727;font:700 13px/1.4 "Quicksand",Arial,sans-serif;letter-spacing:0;text-transform:uppercase}
.home-footer-group ul{margin:0;padding:0;list-style:none}
.home-footer-group li{margin:0 0 5px;line-height:1.5}
.home-footer-group a{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:#5f6972;font-size:12px;text-decoration:none;transition:color .2s ease}
.home-footer-group a i{width:14px;color:#7c8790;font-size:13px;text-align:center;transition:color .2s ease}
.home-footer-group a:hover{color:#2c98f0;text-decoration:underline;text-underline-offset:4px}
.home-footer-group a:hover i{color:#2c98f0}
.home-footer-group a:focus-visible{outline:2px solid #2c98f0;outline-offset:3px}
@media screen and (max-width:768px){.home-footer{min-height:240px;padding:0 clamp(20px,5vw,40px)}.home-footer>.colorlib-narrow-content{width:100%;min-height:240px}.home-footer-inner{min-height:240px;padding:30px 0}.home-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.home-footer-social{grid-column:1/-1;grid-row:2}.home-footer-social ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}.home-footer-group h2{font-size:11px}.home-footer-group a{font-size:11px;overflow-wrap:break-word}}
.home-motion-ready [data-home-reveal]{opacity:0;transform:translate3d(0,14px,0)}
.home-motion-ready [data-home-reveal].home-revealed{animation:home-content-reveal 400ms cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--home-reveal-delay,0ms)}
@keyframes home-content-reveal{to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.skip-link,.home-motion-ready [data-home-reveal],.home-motion-ready [data-home-reveal].home-revealed{opacity:1;transition:none;animation:none}.skip-link{transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label{border-color:#e2e5e8;border-radius:4px;box-shadow:0 4px 14px rgba(31,42,52,.055)}
.timeline-centered .timeline-entry .timeline-entry-inner .timeline-label:after{border-color:transparent #e2e5e8 transparent transparent}
.fancy-collapse-panel .panel-default{margin-bottom:14px;border:1px solid #e2e5e8;border-radius:4px;box-shadow:0 4px 14px rgba(31,42,52,.055)!important;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
@media(hover:hover){.fancy-collapse-panel .panel-default:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(31,42,52,.085)!important}}
.fancy-collapse-panel .panel-default>.panel-heading,.fancy-collapse-panel .panel-default>.panel-heading a{border-radius:0}
.fancy-collapse-panel .panel-default>.panel-heading a.collapsed{border:0!important}
.fancy-collapse-panel .panel-default>.panel-collapse>.panel-body{margin-top:0;border:0!important;border-top:1px solid #e2e5e8!important}
#colorlib-hero .flexslider,
#colorlib-hero .flexslider .flex-viewport,
#colorlib-hero .flexslider .slides,
#colorlib-hero .flexslider .slides>li,
#colorlib-hero .flexslider .slides>li>.container-fluid,
#colorlib-hero .flexslider .slides>li>.container-fluid>.row{
  height:100%;
  min-height:500px;
  background:transparent;
}
#colorlib-hero .flexslider .slides>li>.container-fluid{
  position:relative;
}
#colorlib-hero .flexslider .slides>li>.container-fluid>.row{
  position:relative;
  margin:0;
}
#colorlib-hero .flexslider .slider-text{
  position:absolute;
  top:auto;
  right:clamp(16px,4%,64px);
  bottom:clamp(24px,8%,86px);
  left:auto;
  display:flex;
  align-items:flex-end;
  float:none;
  width:min(44%,620px);
  height:auto;
  min-height:0;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  box-sizing:border-box;
  z-index:9;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner{
  position:static;
  display:block;
  width:100%;
  min-height:0;
  max-height:none;
  padding:0;
  overflow:visible;
  transform:none;
  box-sizing:border-box;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner .desc,
#colorlib-hero .flexslider .slider-text>.slider-text-inner h1,
#colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
  padding-left:0;
  text-align:left;
}
#colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{
  width:auto;
  max-width:100%;
}
.timeline>section{
  padding-top:56px;
  padding-bottom:64px;
}
.timeline>section .colorlib-heading{
  margin-bottom:56px;
}
@media screen and (max-width:430px){
  #colorlib-hero .flexslider .slider-text{
    right:18px;
    bottom:clamp(28px,7vh,58px);
    width:min(56%,240px);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .desc{
    text-align:left;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1,
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
    text-align:left;
    text-shadow:0 1px 10px rgba(255,255,255,.9),0 1px 2px rgba(255,255,255,.95);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1{margin-bottom:12px}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{margin-bottom:16px}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner p{text-align:left}
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{float:none}
}
@media screen and (max-width:700px) and (max-height:700px){
  #colorlib-hero,
  #colorlib-hero .flexslider,
  #colorlib-hero .flexslider .flex-viewport,
  #colorlib-hero .flexslider .slides,
  #colorlib-hero .flexslider .slides>li,
  #colorlib-hero .flexslider .slides>li>.container-fluid,
  #colorlib-hero .flexslider .slides>li>.container-fluid>.row{
    height:100vh;
    min-height:0;
  }
  #colorlib-hero .flexslider .slider-text{
    top:auto;
    bottom:clamp(16px,6%,40px);
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h1{
    font-size:clamp(22px,5vw,28px);
    line-height:1.2;
    margin-bottom:10px;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner h2{
    font-size:clamp(11px,2.2vw,14px);
    line-height:1.35;
    margin-bottom:12px;
  }
  #colorlib-hero .flexslider .slider-text>.slider-text-inner .btn{
    font-size:10px;
    letter-spacing:1px;
    padding:8px 10px!important;
  }
}
@media screen and (max-width:768px){
  #colorlib-aside{width:300px;transform:translateX(-300px);padding-top:4em}
  #colorlib-main{width:100%;margin-left:0}
  .colorlib-nav-toggle{display:flex;align-items:center;justify-content:center;left:0;top:0;width:44px;height:44px;margin:0;padding:0;border:0;background:transparent;opacity:1;visibility:visible}
  body.offcanvas #colorlib-aside{transform:translateX(0)}
  body.offcanvas #colorlib-main{width:100%;margin-left:0;transform:none}
  body.offcanvas .colorlib-nav-toggle{transform:translateX(clamp(0px,calc(100vw - 44px),300px))}
  .timeline>section{padding:48px clamp(20px,5vw,40px) 56px}
  .timeline>section .colorlib-heading{margin-bottom:40px}
  [data-section="education"] .timeline-centered:before,
  [data-section="publication"] .timeline-centered:before,
  [data-section="courseproj"] .timeline-centered:before{margin-left:15px}
  [data-section="education"] .timeline-centered .timeline-entry,
  [data-section="publication"] .timeline-centered .timeline-entry,
  [data-section="courseproj"] .timeline-centered .timeline-entry{margin-left:14px}
  [data-section="education"] .timeline-image{width:32px;height:32px;transform:translate(-8px,34px)}
  [data-section="education"] .timeline-label,
  [data-section="publication"] .timeline-label,
  [data-section="courseproj"] .timeline-label{
    margin-left:34px;
    margin-right:0;
    padding:18px;
    text-align:left;
    word-break:normal;
    overflow-wrap:break-word;
    hyphens:none;
    -webkit-hyphens:none;
  }
  [data-section="publication"] .timeline-label .container-fluid,
  [data-section="courseproj"] .timeline-label .container-fluid{width:100%;max-width:100%;padding-right:0;padding-left:0}
  [data-section="publication"] .timeline-label .row,
  [data-section="courseproj"] .timeline-label .row{margin-right:0;margin-left:0}
  [data-section="publication"] .timeline-label [class*="col-"],
  [data-section="courseproj"] .timeline-label [class*="col-"]{padding-right:0;padding-left:0}
  [data-section="publication"] .timeline-label [class*="col-"]+[class*="col-"],
  [data-section="courseproj"] .timeline-label [class*="col-"]+[class*="col-"]{margin-top:16px}
}
.colorlib-nav-toggle:focus-visible{outline:3px solid #2c98f0;outline-offset:2px}
.back-to-top{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;line-height:1}
.back-to-top.show{opacity:1;visibility:visible}
.back-to-top:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #2c98f0}
@media(prefers-reduced-motion:reduce){
  .colorlib-nav-toggle,.colorlib-nav-toggle i,.colorlib-nav-toggle i::before,.colorlib-nav-toggle i::after,.back-to-top{transition:none}
}
/* cms-home-styles-v2:end */
