/*
Template Name: Resumex
Description: HTML5 / CSS3 One Page
Version: 1.0
Author: themehippo.com
*/

/*------------------------------------------------------------------
# [Color codes]

# Body  (text): #3a4750
# Heading Color #444444
# Theme Color (link color) #82b541
# Mid grey (sub header) #f4f4f4
# -------------------------------------------------------------------*/

body {
    font-family : 'Hind', sans-serif;
    font-size   : 15px;
    line-height : 1.8em;
    color       : #3d3d50;
    font-weight : 300;
    background  : url("../img/pattern-bg.png") fixed;
    }

/* --------------------------------------
 * Global Typography
 *------------------------------------------*/

h1, h2, h3, h4, h5, h6 {
    margin : 0 0 15px;
    color  : #2b2b3d;
    }

h1 {
    font-size   : 26px;
    line-height : 1.8em;
    font-weight : 700;
    }

h2 {
    font-size   : 18px;
    line-height : 1.8em;
    font-weight : 700;
    }

h3 {
    font-size   : 16px;
    line-height : 1.8em;
    font-weight : 500;
    }

h4 {
    font-size   : 15px;
    line-height : 1.8em;
    font-weight : 500;
    }

h5 {
    font-size   : 15px;
    line-height : 1.5em;
    font-weight : 500;
    }

h6 {
    font-size   : 15px;
    line-height : 1.5em;
    }

/* --------------------------------------
 * LINK STYLE #FFC107
 *------------------------------------------*/
a {
    color              : #d6a000;
    text-decoration    : none;
    -webkit-transition : all 0.3s ease 0s;
    -moz-transition    : all 0.3s ease 0s;
    -o-transition      : all 0.3s ease 0s;
    transition         : all 0.3s ease 0s;
    }

a,
a:active,
a:focus,
a:active {
    text-decoration : none;
    outline         : none
    }

a:hover,
a:focus {
    text-decoration : none;
    color           : #ff9800;
    }

p {
    margin-bottom : 20px;
    }

ul {
    margin     : 0;
    padding    : 0;
    list-style : none;
    }

/*------------------
 * Button Style
 *------------------*/
.btn {
    padding        : 14px 30px 11px;
    margin-bottom  : 0;
    font-size      : 14px;
    font-weight    : 500;
    border-radius  : 0;
    border         : 0;
    text-transform : uppercase;
    }

.btn-lg {
    font-weight : 700;
    font-size   : 24px;
    padding     : 15px 30px;
    }

/*btn-primary*/
.btn-primary {
    background-color : #d6a000;
    }

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active:focus {
    background : #ff9800;
    }

/*btn-default*/
.btn-default {
    color            : #2a54f5;
    background-color : transparent;
    border           : 2px solid #2a54f5;
    }

.btn-default:hover,
.btn-default:focus,
.btn-default:active:focus {
    background   : #2a54f5;
    color        : #ffffff;
    border-color : #2a54f5;
    }

button:focus,
.btn:focus,
.btn:active:focus {
    outline : none;
    }

/* --------------------
 * Site top navigation
 * -------------------*/

.site-top-nav {
    position      : -webkit-sticky;
    position      : sticky;
    top           : 0;
    z-index       : 1020;
    background    : #ffffff;
    border-bottom : 1px solid #eaeaea;
    padding       : 14px 0;
    box-shadow    : 0 1px 0 rgba(0, 0, 0, 0.04);
    }

.site-top-nav .container {
    max-width : 1170px;
    }

.site-top-nav__list {
    display         : flex;
    flex-wrap       : wrap;
    justify-content : center;
    align-items     : center;
    gap             : 10px 28px;
    margin          : 0;
    padding         : 0;
    list-style      : none;
    }

.site-top-nav__list a {
    font-weight : 500;
    color       : #3d3d50;
    }

.site-top-nav__list a:hover,
.site-top-nav__list a:focus {
    color : #d6a000;
    }

.site-top-nav__list a.active {
    color : #d6a000;
    }

@media (max-width : 768px) {
    .site-top-nav {
        padding : 10px 0;
        }

    .site-top-nav__list {
        gap : 8px 16px;
        }
    }

/* --------------------
 * Column Block
 * -------------------*/

.columns-block {
    display                : -webkit-flex;
    display                : flex;
    -webkit-flex-direction : row;
    flex-direction         : row;
    margin                 : 60px auto;
    padding                : 0;
    box-shadow             : 0 0 0 1px #eaeaea;
    }

.site-top-nav + .columns-block {
    margin-top : 0;
    }

.blocks {
    box-sizing : border-box;
    }

.left-col-block {
    overflow     : hidden;
    -webkit-flex : 1 0 0;
    flex         : 1 0 0;
    position     : relative;
    background   : rgba(255, 255, 255, .8);
    border-right : 1px solid #eaeaea;
    }

.right-col-block {
    -webkit-flex : 2 0 0;
    flex         : 2 0 0;
    position     : relative;
    background   : #ffffff;
    }

@media (max-width : 768px) {

    .columns-block {
        display    : block;
        margin     : 0;
        box-shadow : none;
        }

    .left-col-block {
        width    : 100%;
        position : relative;
        border   : 0;
        }

    .right-col-block {
        width      : 100%;
        position   : relative;
        box-shadow : none;
        }
    }

@media (min-width : 769px) and (max-width : 1024px) {
    .columns-block {
        margin-top    : 30px;
        margin-bottom : 30px;
        }
    }

/* --------------------
 * Section Background
 * -------------------*/

.gray-bg {
    background-color : #ffffff;
    }

/* --------------------
 *  main Wrapper
 * -------------------*/
#main-wrapper {
    overflow : visible;
    }

/*-------------------
 * Section Wrapper
 *-------------------*/
.section-wrapper {
    padding       : 50px;
    border-bottom : 1px solid #eaeaea;
    }

@media (max-width : 480px) {
    .section-wrapper {
        padding : 30px 20px;
        }
    }

/*---------------------------
* Section Title
*---------------------------*/
.section-title {
    margin-bottom : 15px;
    }

.section-title h2 {
    margin-bottom : 5px;
    color         : #bebece;
    }

/*-----------------------------
 * NAVIGATION & HEADER STYLE
 *-----------------------------*/

.header {
    padding  : 20px !important;
    margin   : 0;
    position : relative;
    }

.header .profile-img {
    margin-bottom : 50px;
    }

.header .content-wrapper {

    }

.header .content {
    width  : 100%;
    margin : 0 auto;
    }

.header .content h1 {
    line-height : 1;
    margin      : 0 0 5px;
    }

.header .content .lead {
    font-size : 18px;
    }

.header .content .about-text {
    margin : 10px 0;
    }

.header .btn {
    margin-top : 40px;
    }

@media (max-width : 768px) {
    .header {
        padding       : 0;
        text-align    : center;
        border-bottom : 1px solid #ededed;
        }

    .header img {
        margin : 0 auto;
        }

    .header .content {
        padding : 50px;
        }
    }

/* Header Sticky */

.sticky {
    position : -webkit-sticky;
    position : sticky;
    top      : 0;
    }

/*-------------------
 * Social Icon
 *-------------------*/

.social-icon {
    margin  : 20px 0;
    padding : 0;
    display : block;
    }

.social-icon li {
    display : inline-block;
    margin  : 0 2px;
    }

.social-icon li a {
    display       : block;
    font-size     : 12px;
    color         : #333333;
    width         : 34px;
    height        : 34px;
    line-height   : 33px;
    text-align    : center;
    border-radius : 2px;
    border        : 2px solid #eeeeee;
    }

.social-icon li a:hover {
    border-color : #cccccc;
    }

/*-------------------
 * Expertise
 *-------------------*/
.expertise-item {
    margin-bottom : 20px;
    }

.expertise-item h3 {
    margin-bottom : 5px;
    font-weight   : 700;
    }

/*-------------------
 * Skills Progressbar
 *-------------------*/

.progress-item {
    position : relative;
    }

.progress-item .progress-title {
    font-size     : 15px;
    font-weight   : 400;
    display       : inline-block;
    margin-bottom : 5px;
    }

.progress-item .progress {
    height        : 4px;
    box-shadow    : none;
    border-radius : 5px;
    }

.progress-item .progress-bar {
    background-color : #d6a000;
    box-shadow       : none;
    text-align       : right;
    }

.progress-item .progress-percent {
    font-size        : 10px;
    background-color : #313131;
    position         : absolute;
    top              : 5px;
    padding          : 0 8px;
    border-radius    : 3px;
    }

.progress-item .progress-percent::before {
    content      : "";
    position     : absolute;
    left         : 0;
    bottom       : -4px;
    border-top   : 6px solid #313131;
    border-right : 8px solid transparent;
    }

/*-------------------
 * Portfolio
 *-------------------*/

.portfolio-item {
    position      : relative;
    display       : block;
    margin-bottom : 30px;
    }

.portfolio-item .portfolio-thumb img {
    height    : auto;
    display   : block;
    max-width : 100%;
    }

.portfolio-item .portfolio-info {
    position   : absolute;
    bottom     : 0;
    padding    : 30px 15px 5px;
    width      : 100%;
    background : -webkit-linear-gradient(
            top,
            transparent 0%,
            rgba(0, 0, 0, 0.5) 100%
    );
    }

.portfolio-item .portfolio-info h3 {
    margin      : 0;
    line-height : 1;
    color       : #ffffff;
    }

.portfolio-item .portfolio-info small {
    color : #ffffff;
    }

.portfolio-item:hover .portfolio-info {
    background : -webkit-linear-gradient(
            top,
            transparent 0%,
            #000 100%
    );
    }

/* Teaching page: previous-semester cards — uniform image height, no stretched images */
.teaching-semester {
    margin-bottom : 36px;
    }

.teaching-semester:last-child {
    margin-bottom : 0;
    }

.teaching-semester__title {
    margin-bottom : 18px;
    font-size     : 16px;
    font-weight   : 700;
    color         : #2b2b3d;
    }

.teaching-semester__row {
    margin-left  : -8px;
    margin-right : -8px;
    }

.teaching-semester__row > [class*="col-"] {
    padding-left  : 8px;
    padding-right : 8px;
    }

.portfolio-item--half {
    margin-bottom : 20px;
    }

.portfolio-item--half .portfolio-thumb {
    position       : relative;
    width          : 100%;
    overflow       : hidden;
    aspect-ratio   : 16 / 9;
    background     : #e8e8e8;
    }

.portfolio-item--half .portfolio-thumb img {
    position         : absolute;
    top              : 0;
    left             : 0;
    width            : 100%;
    height           : 100%;
    max-height       : none;
    object-fit       : cover;
    object-position  : center center;
    }

.portfolio-item--half .portfolio-info {
    padding : 18px 12px 6px;
    }

.portfolio-item--half .portfolio-info h3 {
    font-size   : 14px;
    line-height : 1.35;
    }

.portfolio-item--half .portfolio-info small {
    font-size : 12px;
    }

/* Research page: project rows & publication list */
.research-projects-list {
    margin-top : 12px;
    }

.research-project-row {
    display         : flex;
    flex-direction  : column;
    margin-bottom   : 32px;
    padding-bottom  : 32px;
    border-bottom   : 1px solid #eaeaea;
    }

.research-project-row:last-child {
    margin-bottom  : 0;
    padding-bottom : 0;
    border-bottom  : none;
    }

.research-project-row__top {
    display        : flex;
    flex-direction : column;
    align-items    : stretch;
    gap            : 0;
    }

/* Title spans full width; intro block holds floated image + wrapping text */
.research-project-row__intro {
    overflow : hidden;
    width    : 100%;
    }

.research-project-row__intro .research-project-row__media {
    float         : right;
    width         : 260px;
    max-width     : 42%;
    margin        : 0 0 12px 24px;
    }

.research-project-row__media img {
    width         : 100%;
    height        : auto;
    display       : block;
    border        : 1px solid #e8e8e8;
    border-radius : 2px;
    }

.research-project-row__caption {
    margin      : 10px 0 0;
    font-size   : 12px;
    line-height : 1.5;
    color       : #6a6a7a;
    }

.research-project-row__title {
    margin      : 0 0 14px;
    font-size   : 16px;
    font-weight : 700;
    line-height : 1.35;
    color       : #2b2b3d;
    width       : 100%;
    }

.research-project-row__text {
    margin      : 0;
    font-size   : 14px;
    line-height : 1.7;
    color       : #3d3d50;
    }

.research-project-row__papers {
    clear      : both;
    margin-top : 18px;
    width      : 100%;
    }

.research-project-row__papers-intro {
    margin        : 0 0 10px;
    font-size     : 13px;
    line-height   : 1.5;
    font-weight   : 500;
    color         : #5c5c6e;
    }

.research-project-papers {
    margin        : 0;
    padding-left  : 1.15em;
    font-size     : 13px;
    line-height   : 1.65;
    color         : #3d3d50;
    list-style-type : disc;
    }

.research-project-papers li {
    margin-bottom : 10px;
    }

.research-project-papers li:last-child {
    margin-bottom : 0;
    }

.research-project-papers strong {
    font-weight : 700;
    color       : #2b2b3d;
    }

.research-project-papers em {
    font-style : italic;
    }

/* Paper title links: use theme gold; strong must not override anchor color */
.research-project-papers a {
    color : #d6a000;
    }

.research-project-papers a:hover,
.research-project-papers a:focus {
    color : #ff9800;
    }

.research-project-papers a strong {
    color : inherit;
    }

@media (max-width : 767px) {
    .research-project-row__intro .research-project-row__media {
        float         : none;
        width         : 100%;
        max-width     : 100%;
        margin        : 0 0 16px 0;
        }
    }

/* Research page: collaborating institutions logo grid */
.collab-institutions-intro {
    margin        : 0 0 20px;
    max-width     : 52em;
    font-size     : 14px;
    line-height   : 1.65;
    color         : #3d3d50;
    }

.collab-institutions-grid {
    display         : flex;
    flex-wrap       : wrap;
    justify-content : center;
    gap             : 22px 18px;
    align-items     : flex-start;
    margin-top      : 4px;
    }

.collab-institutions-grid__item {
    display        : flex;
    flex-direction : column;
    align-items    : center;
    text-align     : center;
    flex           : 0 0 auto;
    width          : 124px;
    }

.collab-institutions-grid__item img {
    width              : 112px;
    height             : 112px;
    object-fit         : contain;
    object-position    : center;
    padding            : 10px;
    background         : #fff;
    border-radius      : 4px;
    box-sizing         : border-box;
    }

.collab-institutions-grid__name {
    display     : block;
    margin-top  : 8px;
    font-size   : 11px;
    line-height : 1.4;
    font-weight : 600;
    color       : #2b2b3d;
    }

.collab-institutions-grid__loc {
    display     : block;
    margin-top  : 3px;
    font-size   : 10px;
    line-height : 1.35;
    color       : #6a6a7a;
    }

@media (max-width : 575px) {
    .collab-institutions-grid {
        gap : 18px 14px;
        }

    .collab-institutions-grid__item {
        width : calc(50% - 10px);
        }
    }

.pub-since {
    margin-top : 8px;
    }

.pub-year-heading {
    margin        : 32px 0 14px;
    padding       : 0 0 8px;
    font-size     : 17px;
    font-weight   : 700;
    color         : #2b2b3d;
    border-bottom : 1px solid #e4e4e4;
    }

.pub-year-heading:first-of-type {
    margin-top : 4px;
    }

.pub-list {
    margin     : 0;
    padding    : 0;
    list-style : none;
    }

.pub-list li {
    margin-bottom : 18px;
    padding-left  : 0;
    font-size     : 14px;
    line-height   : 1.7;
    color         : #3d3d50;
    }

.pub-list li:last-child {
    margin-bottom : 0;
    }

.pub-list strong {
    font-weight : 700;
    color       : #2b2b3d;
    }

/*-------------------
 * Content Item
 *-------------------*/

.content-item {
    margin-bottom : 40px;
    }

.content-item h3 {
    margin         : 0 0 10px;
    line-height    : 1;
    font-weight    : bold;
    text-transform : uppercase;
    }

.content-item h4 {
    margin      : 0;
    line-height : 1;
    }

.content-item small {
    color : #888888;
    }

/*-------------------
 * Contact
 *-------------------*/

.feedback-form {
    margin-top : 50px;
    }

/*-------------------
 * Form Style
 *-------------------*/
.form-control {
    height        : 50px;
    padding       : 0 20px;
    font-size     : 13px;
    line-height   : 50px;
    color         : #969595;
    border        : 1px solid #cccccc;
    border-radius : 0;
    box-shadow    : none;
    box-sizing    : border-box;
    }

.form-control:focus,
.form-control:active {
    box-shadow : none;
    }

/* --------------------------------------------
 *   Footer
 *---------------------------------------------- */

/* Copyright */

.footer {
    padding : 30px 50px;
    }

.footer .copyright-section {
    font-size : 13px;
    color     : #888888;

    }

.footer .copyright-section .copytext {
    font-weight : 400;
    display     : block;
    }

@media (max-width : 480px) {
    .footer {
        padding : 10px 20px;
        }
    }

/* ---------------------------------------------- /*
 * Preloader
/* ---------------------------------------------- */
#preloader {
    background : rgba(255, 255, 255,.8);
    bottom     : 0;
    left       : 0;
    position   : fixed;
    right      : 0;
    top        : 0;
    z-index    : 9999;
    }

#status,
.status-mes {
    background-image    : url(../img/preloader.svg);
    background-position : center;
    background-repeat   : no-repeat;
    height              : 200px;
    left                : 50%;
    margin              : -100px 0 0 -100px;
    position            : absolute;
    top                 : 50%;
    width               : 200px;
    }

.status-mes {
    background : none;
    left       : 0;
    margin     : 0;
    text-align : center;
    top        : 65%;
    }