/* ---------------------- 
Stylesheet Guide
-------------------------

FONTS
GENERAL STYLES
PAGE LOADING ANIMATION
HEADER
HAMBURGER MENU ICON
TOP MENU
HEADER ICONS
MAIN
BOXES
GOOGLE MAP PIN
SLIDING PANEL
TABLE
CIRCLE ICON BOXES
TESTIMONIALS
RESUME BOX
SKILLS
PORTFOLIO
BLOG
COMMENTS
PROFILE CARD
BLOG SIDEBAR
FORMS
FOOTER

*/


/* ================= FONTS ================== */


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

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

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

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

body,p {
    font-family: 'open_sansregular';
    letter-spacing: 0.03em;
    word-spacing: 0.1em;
}

h1,h2,h3,h4,h5,h6,.isg-rotated-text,.isg-panel-rotated-text,.isg-menu,.isg-intro p.isg-subtitle,.isg-rounded-list span:before,.isg-loading-text,.isg-loading-sub-text {
    font-family: 'sintonybold';
    letter-spacing: 0.02em;
    word-spacing: normal;
}

em,i,blockquote p,#isg-header.isg-page-header .isg-intro p.isg-italictitle,.isg-profile-content p {
    font-family: 'open_sansitalic';
    letter-spacing: 0.03em;
    word-spacing: 0.1em;
}

strong,b,.isg-rounded-list span,figure.isg-testimonial .isg-author span,.isg-button,.isg-skillbar,label,.isg-portfolio-filter li,.isg-filter-menu-icon,#footer .footer-inner a,.lg-sub-html,.isg-resume-title .isg-resume-date,.isg-article-box .isg-post-date,.isg-profile-content p.isg-profile-subtitle,.isg-profile-button,.isg-popular-date,.isg-banner-title p,.isg-meta {
    font-family: 'open_sansbold';
    letter-spacing: 0.03em;
    word-spacing: 0.1em;
}

/* ================= GENERAL STYLES ================== */

*,
*::after,
*::before {
    box-sizing: border-box;
}

body {
    font-size: 16px;
    margin: 0px;
    -webkit-overflow-scrolling: touch;
}

a {
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 30px;
    margin-top: 0px;
    line-height: 1;
}

h1 {
    font-size: 44px;
}

h2 {
    font-size: 40px;
}

h3 {
    font-size: 36px;
}

h4 {
    font-size: 30px;
}

h5 {
    font-size: 26px;
}

h6 {
    font-size: 22px;
}

p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 30px;
    margin-top: 0px;
}

p:last-child {
    margin-bottom: 0px;
}

a {
    -webkit-transition: color 0.4s ease-in-out;
    -moz-transition: color 0.4s ease-in-out;
    -o-transition: color 0.4s ease-in-out;
    -ms-transition: color 0.4s ease-in-out;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

label {
    line-height: 1;
    margin-bottom: 10px !important;
    display: block;
}

.show {
    display: block !important;
}

.hide {
    display: none !important;
}

.clear,
.clr {
    clear: both;
}

.overflow-hidden {
    overflow: hidden;
}

hr {
    margin: 60px 0px;
    padding: 0;
    border: none;
    height: 1px;
    clear: both;
}

blockquote {
    display:block;
    margin: 40px 0px;
    padding: 60px 50px;
}

blockquote p {
    font-size:20px;
    line-height:1.6;
}


/* ================= HEADER ================== */

#isg-header {
    position: relative;
    text-align: center;
}

.isg-intro h1 {
    font-size: 90px;
    margin-bottom: 5px;
    margin-top: 0px;
}

.isg-intro p.isg-subtitle {
    font-size: 40px;
    line-height: 1;
}

#isg-header.isg-page-header .isg-intro p.isg-italictitle {
    opacity: 0.5;
    font-size: 24px;
    line-height: 1.2;
}

.isg-intro {
    padding: 180px 60px;
}


/* ================= HAMBURGER MENU ICON ================== */

.isg-hamburger {
    display: block;
    position: absolute;
    top: 21px;
    right: 22px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 86px;
    height: 86px;
    font-size: 0;
    text-indent: -9999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: none;
    border: none;
    cursor: pointer;
}

.isg-hamburger:focus {
    outline: none;
}

.isg-hamburger span {
    display: block;
    position: absolute;
    top: 34px;
    left: 18px;
    right: 18px;
    height: 6px;
}

.isg-hamburger span::before,
.isg-hamburger span::after {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 6px;
    content: "";
}

.isg-hamburger span::before {
    top: -15px;
}

.isg-hamburger span::after {
    bottom: -15px;
}

.isg-hamburger span {
    -webkit-transition: all 0s 0.3s;
    transition: all 0s 0.3s;
}

.isg-hamburger span::before,
.isg-hamburger span::after {
    -webkit-transition-duration: 0.3s, 0.3s;
    transition-duration: 0.3s, 0.3s;
    -webkit-transition-delay: 0.3s, 0s;
    transition-delay: 0.3s, 0s;
}

.isg-hamburger span::before {
    -webkit-transition-property: top, -webkit-transform;
    transition-property: top, transform;
}

.isg-hamburger span::after {
    -webkit-transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform;
}

#isg-header .isg-hamburger.is-active span,
#isg-header.isg-page-header .isg-hamburger.is-active span {
    background: none;
}

.isg-hamburger.is-active span::before {
    top: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.isg-hamburger.is-active span::after {
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.isg-hamburger.is-active span::before,
.isg-hamburger.is-active span::after {
    -webkit-transition-delay: 0s, 0.3s;
    transition-delay: 0s, 0.3s;
}


/* ================= TOP MENU ================== */

#isg-hidden-menu {
    position: relative;
    display: none;
    width: 100%;
    padding: 20px 40px;
}

.isg-menu {
    text-align: center;
    margin: 0px;
    padding: 0px;
    list-style: none;
}

.isg-menu *,
.isg-menu *:after {
    box-sizing: border-box;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

.isg-menu li {
    display: inline-block;
    list-style: outside none none;
    margin: 0.5em 0.1em;
}

.isg-menu a {
    display: block;
    line-height: 2.8em;
    padding: 0 1.4em;
    position: relative;
    text-decoration: none;
    font-size: 18px;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}

.isg-menu li {
    -webkit-perspective: 50em;
    perspective: 50em;
}

.isg-menu a:after {
    color: transparent;
    content: attr(data-hover);
    bottom: 100%;
    line-height: 2.8em;
    position: absolute;
    left: 0;
    width: 100%;
    -webkit-transform: translateZ(0) translateY(0%) rotateX(90deg);
    transform: translateZ(0) translateY(0%) rotateX(90deg);
    -webkit-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
}

.isg-menu li:hover a,
.isg-menu li.current a {
    -webkit-transform: translateZ(0) translateY(50%) rotateX(-90deg);
    transform: translateZ(0) translateY(50%) rotateX(-90deg);
    color: transparent;
}

.isg-menu li:hover a:after,
.isg-menu li.current a:after {
    cursor: pointer;
}


/* ================= HEADER ICONS ================== */

.isg-mobile-logo {
    display: none;
}

.isg-mobile-logo img {
    width: 140px;
    height: auto;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    margin-bottom: 25px;
    vertical-align: bottom;
}

.isg-header-icons {
    list-style-type: none;
    display: inline-block;
    margin: 0px 0px 20px 0px;
    padding: 0px;
    vertical-align: bottom;
}

.isg-header-icons li.isg-logo img {
    height: 180px;
    width: auto;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    vertical-align: bottom;
    display: inline-block;
    margin-right: -40px;
}

.isg-header-icons li {
    float: left;
    display: block;
    margin: 5px;
    padding: 0;
    line-height: 180px;
}

.isg-header-icons li.isg-social a {
    position: relative;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    text-indent: -500em;
    height: 50px;
    width: 50px;
    line-height: 50px;
    text-align: center;
    vertical-align: middle;
}

.isg-header-icons li.isg-social a:before {
    font-family: 'FontAwesome';
    speak: none;
    text-indent: 0em;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 20px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    -webkit-transition: -webkit-transform 0.2s linear;
    -moz-transition: -moz-transform 0.2s linear;
    -o-transition: -o-transform 0.2s linear;
    -ms-transition: -ms-transform 0.2s linear;
    transition: transform 0.2s linear;
}

.isg-header-icons li.isg-social a:hover:before {
    -webkit-transform: translateZ(0) rotate(360deg);
    -moz-transform: translateZ(0) rotate(360deg);
    -o-transform: translateZ(0) rotate(360deg);
    -ms-transform: translateZ(0) rotate(360deg);
    transform: translateZ(0) rotate(360deg);
}

#isg-down-arrow {
    position: absolute;
    left: 40px;
    top: 30px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

#isg-down-arrow i.fa {
    font-size: 54px;
}


/* ================= MAIN ================== */

#isg-main {
    position: relative;
    width: 100%;
    vertical-align: bottom;
    margin: 0px;
    display: block;
    -webkit-transform: translateZ(0) translateX(0%);
    -moz-transform: translateZ(0) translateX(0%);
    -ms-transform: translateZ(0) translateX(0%);
    -o-transform: translateZ(0) translateX(0%);
    transform: translateZ(0) translateX(0%);
    -webkit-transition: -webkit-transform 0.6s;
    -moz-transition: -moz-transform 0.6s;
    transition: transform 0.6s;
    -webkit-transition-timing-function: cubic-bezier(0.86, 0.01, 0.77, 0.78);
    -moz-transition-timing-function: cubic-bezier(0.86, 0.01, 0.77, 0.78);
    transition-timing-function: cubic-bezier(0.86, 0.01, 0.77, 0.78);
}

#isg-main.move-right {
    -webkit-transform: translateZ(0) translateX(800px);
    -moz-transform: translateZ(0) translateX(800px);
    -ms-transform: translateZ(0) translateX(800px);
    -o-transform: translateZ(0) translateX(800px);
    transform: translateZ(0) translateX(800px);
}

#isg-main.move-left {
    -webkit-transform: translateZ(0) translateX(-800px);
    -moz-transform: translateZ(0) translateX(-800px);
    -ms-transform: translateZ(0) translateX(-800px);
    -o-transform: translateZ(0) translateX(-800px);
    transform: translateZ(0) translateX(-800px);
}

.isg-page-content {
    position: relative;
    padding: 60px;
    width: 100%;
    max-width: 1400px;
    margin: 0px auto;
}

.isg-page-content::after {
    clear: both;
    content: "";
    display: table;
}

.isg-page-left,
.isg-page-right {
    float: left;
    display: inline-block;
}

.isg-page-left {
    width: 60%;
}

.isg-page-left img {
    max-width:100%;
    height:auto;
}

.isg-page-right {
    width: 40%;
    padding-left: 60px;
}


/* ================= BOXES ================== */

#isg-boxes {
    position: relative;
    width: 100%;
    display: inline-block;
    margin: 0px;
    vertical-align: bottom;
}

#isg-boxes::after {
    clear: both;
    content: "";
    display: table;
}

.isg-box {
    position: relative;
    height: 350px;
    text-align: center;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: -webkit-transform 0.5s 0.4s;
    -moz-transition: -moz-transform 0.5s 0.4s;
    transition: transform 0.5s 0.4s;
    overflow: hidden;
    display: block;
    margin: 0px;
}

.isg-box.half,
.isg-box.one-third,
.isg-box.two-thirds,
.isg-box.full {
    width: 100%;
}

.isg-box > a {
    display: table;
    height: 100%;
    width: 100%;
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.isg-box div.isg-box-content {
    display: table-cell;
    vertical-align: middle;
    padding: 0px 80px;
}

.isg-box h2 {
    margin: 0px;
}

.isg-box p {
    line-height: 1.4;
    opacity: 0.6;
    padding: 1em 0;
    margin-bottom: 10px;
    font-size: 16px;
    opacity: 0.7;
}

.isg-box b {
    display: inline-block;
    font-size: 14px;
    padding: 15px 20px;
}

.isg-rotated-text {
    display: inline-block;
    overflow: hidden;
    width: 1.5em;
    position: absolute;
    top: 15px;
    left: 10px;
    font-size: 54px;
    opacity: 0.1;
}

.isg-rotated-text-inner {
    display: inline-block;
    white-space: nowrap;
    -webkit-transform: translate(1.1em, 0) rotate(90deg);
    -moz-transform: translate(1.1em, 0) rotate(90deg);
    -o-transform: translate(1.1em, 0) rotate(90deg);
    transform: translate(1.1em, 0) rotate(90deg);
    -webkit-transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    transform-origin: 0 0;
    /* IE9+ */
    -ms-transform: none;
    -ms-transform-origin: none;
    /* IE8+ */
    -ms-writing-mode: tb-rl;
    /* IE7 and below */
    *writing-mode: tb-rl;
}

.isg-rotated-text-inner:before {
    content: "";
    float: left;
    margin-top: 100%;
}

i.isg-box-icon {
    position: absolute;
    right: 15px;
    bottom: 15px;
    font-size: 54px;
    opacity: 0.1;
}


/* ================= GOOGLE MAP PIN ================== */

.isg-google-map {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
    width: 100%;
    height: 100%;
}

.isg-pin {
    width: 60px;
    height: 90px;
    margin: -60px 0 0 -30px;
    z-index: 9;
}

.isg-pin:after {
    font-family: 'FontAwesome';
    content: "\f041";
    speak: none;
    text-align: center;
    text-indent: 0em;
    font-size: 60px;
    line-height: 60px;
    margin: 0px 0px 0px 13px;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 9;
}

.isg-pulse {
    -webkit-border-radius: 50%;
    border-radius: 50%;
    height: 10px;
    width: 10px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: 15px 0px 0px -5px;
    -webkit-transform: rotateX(55deg);
    -moz-transform: rotateX(55deg);
    -o-transform: rotateX(55deg);
    -ms-transform: rotateX(55deg);
    transform: rotateX(55deg);
    z-index: 9;
}

.isg-pulse:after {
    content: "";
    -webkit-border-radius: 50%;
    border-radius: 50%;
    height: 40px;
    width: 40px;
    position: absolute;
    margin: -15px 0 0 -20px;
    -webkit-animation: pulsate 1s ease-out;
    -moz-animation: pulsate 1s ease-out;
    -o-animation: pulsate 1s ease-out;
    -ms-animation: pulsate 1s ease-out;
    animation: pulsate 1s ease-out;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    -ms-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
}

@-moz-keyframes pulsate {
    0% {
        -webkit-transform: scale(0.1, 0.1);
        -moz-transform: scale(0.1, 0.1);
        -o-transform: scale(0.1, 0.1);
        -ms-transform: scale(0.1, 0.1);
        transform: scale(0.1, 0.1);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        filter: alpha(opacity=0);
    }
    50% {
        opacity: 1;
        -ms-filter: none;
        filter: none;
    }
    100% {
        -webkit-transform: scale(1.2, 1.2);
        -moz-transform: scale(1.2, 1.2);
        -o-transform: scale(1.2, 1.2);
        -ms-transform: scale(1.2, 1.2);
        transform: scale(1.2, 1.2);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        filter: alpha(opacity=0);
    }
}

@-webkit-keyframes pulsate {
    0% {
        -webkit-transform: scale(0.1, 0.1);
        -moz-transform: scale(0.1, 0.1);
        -o-transform: scale(0.1, 0.1);
        -ms-transform: scale(0.1, 0.1);
        transform: scale(0.1, 0.1);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        filter: alpha(opacity=0);
    }
    50% {
        opacity: 1;
        -ms-filter: none;
        filter: none;
    }
    100% {
        -webkit-transform: scale(1.2, 1.2);
        -moz-transform: scale(1.2, 1.2);
        -o-transform: scale(1.2, 1.2);
        -ms-transform: scale(1.2, 1.2);
        transform: scale(1.2, 1.2);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        filter: alpha(opacity=0);
    }
}

@-o-keyframes pulsate {
    0% {
        -webkit-transform: scale(0.1, 0.1);
        -moz-transform: scale(0.1, 0.1);
        -o-transform: scale(0.1, 0.1);
        -ms-transform: scale(0.1, 0.1);
        transform: scale(0.1, 0.1);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        filter: alpha(opacity=0);
    }
    50% {
        opacity: 1;
        -ms-filter: none;
        filter: none;
    }
    100% {
        -webkit-transform: scale(1.2, 1.2);
        -moz-transform: scale(1.2, 1.2);
        -o-transform: scale(1.2, 1.2);
        -ms-transform: scale(1.2, 1.2);
        transform: scale(1.2, 1.2);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        filter: alpha(opacity=0);
    }
}

@keyframes pulsate {
    0% {
        -webkit-transform: scale(0.1, 0.1);
        -moz-transform: scale(0.1, 0.1);
        -o-transform: scale(0.1, 0.1);
        -ms-transform: scale(0.1, 0.1);
        transform: scale(0.1, 0.1);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        filter: alpha(opacity=0);
    }
    50% {
        opacity: 1;
        -ms-filter: none;
        filter: none;
    }
    100% {
        -webkit-transform: scale(1.2, 1.2);
        -moz-transform: scale(1.2, 1.2);
        -o-transform: scale(1.2, 1.2);
        -ms-transform: scale(1.2, 1.2);
        transform: scale(1.2, 1.2);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        filter: alpha(opacity=0);
    }
}


/* ================= SLIDING PANEL ================== */

.isg-panel {
    display: none;
    max-width: 100%;
    overflow-y: auto;
    width: 800px;
    -webkit-overflow-scrolling: touch;
}

.isg-panel-inner {
    position: relative;
    padding: 60px;
    min-height: 100%;
}

.isg-panel-inner.padding-normal {
    padding: 60px;
}

#isg-overlay {
    position: fixed;
    z-index: 9999;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    display: none;
    overflow: hidden !important;
}

.isg-panel-close,
.isg-panel-up {
    position: absolute;
    width: 80px;
    cursor: pointer;
    z-index: 99;
}

.isg-panel-close {
    top: 0px;
    left: -80px;
}

.isg-panel-up {
    bottom: 0px;
    left: -80px;
}

.isg-panel-close span,
.isg-panel-up span {
    -webkit-transition: opacity 0.4s ease-in-out;
    -moz-transition: opacity 0.4s ease-in-out;
    -o-transition: opacity 0.4s ease-in-out;
    -ms-transition: opacity 0.4s ease-in-out;
    transition: opacity 0.4s ease-in-out;
    text-align: center;
    font-size: 50px;
    width: 80px;
    display: block;
    width: 100%;
    opacity: 0.2;
    margin: 20px 0px;
}

.isg-panel-close span:hover,
.isg-panel-up span:hover {
    opacity: 1;
}

.isg-panel-rotated-text {
    display: inline-block;
    overflow: hidden;
    width: 80px;
    position: absolute;
    top: 85px;
    left: -65px;
    font-size: 54px;
    opacity: 0.2;
    z-index: 99;
}

.isg-panel-rotated-text-inner {
    display: inline-block;
    white-space: nowrap;
    -webkit-transform: translate(1.1em, 0) rotate(90deg);
    -moz-transform: translate(1.1em, 0) rotate(90deg);
    -o-transform: translate(1.1em, 0) rotate(90deg);
    transform: translate(1.1em, 0) rotate(90deg);
    -webkit-transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    transform-origin: 0 0;
    /* IE9+ */
    -ms-transform: none;
    -ms-transform-origin: none;
    /* IE8+ */
    -ms-writing-mode: tb-rl;
    /* IE7 and below */
    *writing-mode: tb-rl;
}

.isg-panel-rotated-text-inner:before {
    content: "";
    float: left;
    margin-top: 100%;
}

.isg-panel-img {
    position: relative;
    display: inline-block;
    margin: 0px -60px 60px 0px;
}

.isg-panel-img img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}


/* ================= TABLE ================== */

.isg-table {
    width: 100%;
    display: table;
    margin: 40px 0px;
    border-bottom: none;
    border-collapse: collapse;
}

.isg-table .isg-table-row {
    display: table-row;
}

.isg-table .isg-table-row div {
    display: table-cell;
    vertical-align: middle;
    width: 50%;
    padding: 20px;
}

.isg-table .isg-table-row div p {
    margin-bottom: 0px;
    text-align: center;
}

.isg-table .isg-table-row div p:first-child {
    font-size: 18px;
}


/* ================= CIRCLE ICON BOXES ================== */

.isg-circle-icon-box {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 20px 0px;
}

.isg-circle-icon-container {
    position: relative;
    text-align: center;
    margin: 0px auto 30px auto;
    text-align: center;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    width: 90px;
    height: 90px;
    vertical-align: middle;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
}

.isg-circle-icon-container:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}

.isg-circle-icon-container:hover:before,
.isg-circle-icon-container:focus:before,
.isg-circle-icon-container:active:before {
    -webkit-animation-name: ripple-out;
    animation-name: ripple-out;
}

.isg-circle-icon-text {
    text-align: center;
    margin-bottom: 0px;
}

.isg-circle-icon-text h3,
.isg-circle-icon-text h4 {
    margin-bottom: 20px;
}

.isg-circle-icon-text h5 {
    margin-bottom: 10px;
}

.isg-circle-icon-container a {
    display: block;
    text-indent: -500em;
    width: 90px;
    height: 90px;
    line-height: 90px;
    text-align: center;
    position: relative;
    outline: none !important;
    text-decoration: none !important;
}

.isg-circle-icon-container a:before {
    font-family: 'FontAwesome';
    speak: none;
    text-indent: 0em;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 38px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.isg-circle-icon-left,
.isg-circle-icon-right {
    position: relative;
}

.isg-circle-icon-left .isg-circle-icon-container {
    position: absolute;
    left: 0px;
    top: 0px;
    margin: 0px;
}

.isg-circle-icon-right .isg-circle-icon-container {
    position: absolute;
    right: 0px;
    top: 0px;
    margin: 0px;
}

.isg-circle-icon-left .isg-circle-icon-text {
    padding-left: 110px;
    text-align: left;
}

.isg-circle-icon-right .isg-circle-icon-text {
    padding-right: 110px;
    text-align: right;
}

.isg-circle-icon-left .isg-circle-icon-container,
.isg-circle-icon-right .isg-circle-icon-container {
    width: 80px;
    height: 80px;
}

.isg-circle-icon-left .isg-circle-icon-container a,
.isg-circle-icon-right .isg-circle-icon-container a {
    width: 80px;
    height: 80px;
    line-height: 80px;
}

.isg-circle-icon-left .isg-circle-icon-container a:before,
.isg-circle-icon-right .isg-circle-icon-container a:before {
    font-size: 30px;
}

@-webkit-keyframes ripple-out {
    100% {
        top: -12px;
        right: -12px;
        bottom: -12px;
        left: -12px;
        opacity: 0;
    }
}

@keyframes ripple-out {
    100% {
        top: -12px;
        right: -12px;
        bottom: -12px;
        left: -12px;
        opacity: 0;
    }
}

/* ================= TESTIMONIALS ================== */

#testimonial-carousel {
    margin-top: 40px;
}

figure.isg-testimonial {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0px;
    width: 100%;
    text-align: left;
    box-shadow: none !important;
}

figure.isg-testimonial * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

figure.isg-testimonial img {
    max-width: 100%;
    height: 90px;
    width: 90px;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    margin-right: 5px;
    display: block;
    z-index: 1;
    position: absolute;
    right: 50%;
}

figure.isg-testimonial blockquote {
    display: block;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    position: relative;
    padding: 70px 60px 40px 60px;
    margin: -45px 0px 0px 0px;
}

figure.isg-testimonial blockquote {
    border:none !important;
}

figure.isg-testimonial blockquote p {
    font-size:16px;
}

figure.isg-testimonial blockquote p:last-child {
    margin-bottom: 0px;
}

figure.isg-testimonial blockquote:before,
figure.isg-testimonial blockquote:after {
    font-family: 'FontAwesome';
    content: "\201C";
    position: absolute;
    font-size: 50px;
    opacity: 0.3;
    font-style: normal;
}

figure.isg-testimonial blockquote:before {
    top: 55px;
    left: 20px;
}

figure.isg-testimonial blockquote:after {
    content: "\201D";
    right: 20px;
    bottom: 5px;
}

figure.isg-testimonial .isg-author {
    margin: 0;
    height: 90px;
    display: block;
    text-align: left;
    padding: 0 40px;
    position: relative;
    z-index: 1;
}

figure.isg-testimonial .isg-author h6,
figure.isg-testimonial .isg-author span {
    left: 50%;
    position: absolute;
    padding: 5px;
}

figure.isg-testimonial .isg-author h6 {
    bottom: 50%;
    margin: 0;
}

figure.isg-testimonial .isg-author span {
    top: 50%;
}


/* ================= RESUME BOX ================== */

.isg-resume-box {
    position: relative;
    width: 100%;
    display: block;
    margin: 0px 0px 40px 0px;
}

.isg-resume-box:last-child {
    margin-bottom: 0px;
}

.isg-title-container {
    position: relative;
    display: block;
    z-index: 2;
}

.isg-resume-title {
    padding: 30px;
    position: relative;
    overflow: hidden;
}

.isg-resume-title h6 {
    margin-bottom: 0px;
}

.isg-resume-title .isg-resume-date {
    position: absolute;
    bottom: -26%;
    right: -10px;
    font-size: 80px;
    letter-spacing: 0em;
    z-index: 1;
}

.isg-resume-title p {
    margin: 0px;
}

.isg-resume-title strong {
    font-size: 18px;
}

.isg-resume-content {
    position: relative;
    padding: 30px;
}


/* ================= SKILLS ================== */

.isg-skills {
    position: relative;
    display: block;
    margin: 40px 0px;
}

.isg-skillbar {
    position: relative;
    display: block;
    margin-bottom: 20px;
    width: 100%;
    height: 47px;
}

.isg-skillbar:last-child {
    margin-bottom: 0px;
}

.isg-skillbar-title {
    position: absolute;
    top: 0;
    left: 0;
}

.isg-skillbar-title span {
    display: block;
    padding: 0 15px;
    height: 45px;
    line-height: 45px;
}

.isg-skillbar-bar {
    height: 45px;
    width: 0px;
}

.isg-skill-bar-percent {
    position: absolute;
    right: 16px;
    top: 0;
    height: 45px;
    line-height: 45px;
    opacity: 0.5;
}


/* ================= PORTFOLIO ================== */

.isg-filter-menu-icon {
    display: none;
    padding: 15px 20px;
    font-size: 18px;
    cursor: pointer;
}

.isg-portfolio-filter {
    position: relative;
    display: block;
    width: 100%;
    margin: 40px 0px 0px 0px;
    padding: 0px;
}

.isg-portfolio-filter::after {
    clear: both;
    content: "";
    display: table;
}

.isg-portfolio-filter li {
    margin: 0px 1px 1px 0px;
    display: inline-block;
    float: left;
    padding: 15px 20px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    font-size: 18px;
}

.isg-portfolio-container {
    position: relative;
    display: inline-block;
    width: 100%;
    overflow: hidden;
    margin-top: 30px;
}

figure.isg-portfolio-item {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0px 0px 30px 0px;
    width: 100%;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
    visibility: visible;
    opacity: 1;
    height: auto;
}

figure.isg-portfolio-item.hide-item {
    visibility: hidden;
    opacity: 0;
    height: 0px;
    margin: 0px;
}

figure.isg-portfolio-item:last-child {
    margin: 0px;
}

figure.isg-portfolio-item * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

figure.isg-portfolio-item figcaption {
    position: absolute;
    left: 30px;
    bottom: 30px;
    z-index: 3;
}

figure.isg-portfolio-item figcaption h4,
figure.isg-portfolio-item figcaption p {
    margin: 0px;
    line-height: 1;
}

figure.isg-portfolio-item figcaption p {
    margin-top: 5px;
    opacity: 0.7;
}

figure.isg-portfolio-item img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

figure.isg-portfolio-item i {
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    border-radius: 50%;
    font-size: 30px;
    width: 60px;
    height: 60px;
    line-height: 60px;
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    transition: all 300ms 0ms cubic-bezier(0.6, -0.28, 0.735, 0.045);
    z-index: 1;
}

figure.isg-portfolio-item a {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: absolute;
    z-index: 9;
    width: 100%;
    height: 100%;
}

figure.isg-portfolio-item:after {
    width: 100%;
    height: 50%;
    position: absolute;
    left: 0;
    bottom: 0;
    content: '';
    -webkit-transform: translateZ(0) translateY(100%);
    -moz-transform: translateZ(0) translateY(100%);
    -ms-transform: translateZ(0) translateY(100%);
    -o-transform: translateZ(0) translateY(100%);
    transform: translateZ(0) translateY(100%);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

figure.isg-portfolio-item:hover i {
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    transition: all 300ms 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

figure.isg-portfolio-item:hover:after {
    -webkit-transform: translateZ(0) translateY(0px);
    -moz-transform: translateZ(0) translateY(0px);
    -ms-transform: translateZ(0) translateY(0px);
    -o-transform: translateZ(0) translateY(0px);
    transform: translateZ(0) translateY(0px);
}

figure.isg-portfolio-item:hover img {
    -webkit-transform: translateZ(0) translateY(-25%);
    -moz-transform: translateZ(0) translateY(-25%);
    -ms-transform: translateZ(0) translateY(-25%);
    -o-transform: translateZ(0) translateY(-25%);
    transform: translateZ(0) translateY(-25%);
}


/* ================= BLOG ================== */

.isg-article-box {
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: 60px;
}

.isg-page-content .isg-article-box:last-of-type {
    margin-bottom: 0px;
}

.isg-article-content {
    position: relative;
    padding: 60px;
    margin: 0px;
    display: block;
}

.isg-article-content h3,
.isg-article-content h4,
.isg-article-content h5 {
    margin: 0px 0px 25px 0px;
}

.isg-article-content h3 a,
.isg-article-content h4 a,
.isg-article-content h5 a {
    position: relative;
    padding-bottom: 5px;
}

.isg-article-content h6 {
    margin: 0px;
}

.isg-article-box .isg-post-date {
    line-height: 1;
    padding: 0px 0px 0px 25px;
    position: relative;
    word-spacing: inherit;
    display: block;
    width: 100%;
    margin-bottom: 10px;
    font-size: 18px;
}

.isg-article-box .isg-post-date:before {
    font-family: 'FontAwesome';
    speak: none;
    text-indent: 0em;
    text-align: center;
    content: "\f133";
    position: absolute;
    top: 0px;
    left: 0px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    z-index: 1;
    display: inline-block;
    margin: 0px;
}

.isg-article-content .isg-button {
    padding: 12px 20px;
}

.isg-article-content p {
    margin-bottom: 25px;
}

.isg-article-img {
    position: relative;
    overflow: hidden;
    margin: 0;
    width: 100%;
    font-size: 16px;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.isg-article-img *,
.isg-article-img *:before,
.isg-article-img *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.isg-article-img img {
    width: 100%;
    height: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    vertical-align: top;
}

.isg-article-img .isg-article-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.isg-article-img .isg-article-icon:before,
.isg-article-img .isg-article-icon:after,
.isg-article-img .isg-article-icon div:before,
.isg-article-img .isg-article-icon div:after {
    opacity: 0;
    -webkit-transform: scale(0.05);
    transform: scale(0.05);
}

.isg-article-img .isg-article-icon:before,
.isg-article-img .isg-article-icon:after {
    height: 50%;
    width: 50%;
    position: absolute;
    content: '';
}

.isg-article-img .isg-article-icon:before {
    top: 0;
    left: 0;
}

.isg-article-img .isg-article-icon:after {
    bottom: 0;
    right: 0;
}

.isg-article-img .isg-article-icon div:before,
.isg-article-img .isg-article-icon div:after {
    width: 50%;
    height: 50%;
    position: absolute;
    content: '';
}

.isg-article-img .isg-article-icon div:before {
    top: 0;
    right: 0;
}

.isg-article-img .isg-article-icon div:after {
    bottom: 0;
    left: 0;
}

.isg-article-img i {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 4em;
    z-index: 1;
    opacity: 0;
}

.isg-article-img a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
}

.isg-article-img:hover img,
.isg-article-img.hover img {
    zoom: 1;
    opacity: 0.5;
}

.isg-article-img:hover i,
.isg-article-img.hover i {
    opacity: 1;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.isg-article-img:hover .isg-article-icon:before,
.isg-article-img.hover .isg-article-icon:before,
.isg-article-img:hover .isg-article-icon:after,
.isg-article-img.hover .isg-article-icon:after,
.isg-article-img:hover .isg-article-icon div:before,
.isg-article-img.hover .isg-article-icon div:before,
.isg-article-img:hover .isg-article-icon div:after,
.isg-article-img.hover .isg-article-icon div:after {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0.8;
}

.isg-article-img:hover .isg-article-icon:before,
.isg-article-img.hover .isg-article-icon:before {
    -webkit-transition-delay: 0;
    transition-delay: 0;
}

.isg-article-img:hover .isg-article-icon:after,
.isg-article-img.hover .isg-article-icon:after {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

.isg-article-img:hover .isg-article-icon div:before,
.isg-article-img.hover .isg-article-icon div:before {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}

.isg-article-img:hover .isg-article-icon div:after,
.isg-article-img.hover .isg-article-icon div:after {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.isg-pager {
    position: relative;
    display: block;
    vertical-align: bottom;
    margin: 50px 0px 0px 0px;
    width: 100%;
}

.isg-pager .isg-button{
    margin-right: 0px !important;
}

.isg-pager-left {
    float: left;
    display: inline-block;
}

.isg-pager-right {
    float: right;
    display: inline-block;
}

.image-carousel {
    margin:40px 0px 55px 0px !important;
}

/* ================= COMMENTS ================== */
.isg-comments_content {
    padding:40px;
    position:relative;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    margin-bottom: 30px;
}
.isg-comments_content:before {
    top: -20px;
    left: 30px;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: transparent;
    border-width: 10px;
    margin-left: 0px;
    z-index: 9;
}
.isg-comments_content p{
    margin-bottom:0px !important;
}
.isg-reply {
    position: relative;
    padding-left:50px;
}
.isg-reply:before {
    font-family: 'FontAwesome';
    content:"\f122";
    speak: none;
    text-indent: 0em;
    text-align: center;
    position: absolute;
    top: 0px;
    left: 15px;
    width: 24px;
    height: 24px;
    font-size: 24px;
    margin-top: -3px;
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}
.isg-meta {
    margin-bottom:15px !important;
}

/* ================= PROFILE CARD ================== */

.isg-profile-card {
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
    margin: 0px 0px 60px 0px;
}

.isg-profile-thumb {
    display: inline-block;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}

.isg-profile-thumb img {
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    width: 100%;
    max-width: 200px;
    height: auto;
    display: block;
    margin: 0px auto;
    vertical-align: bottom;
    -webkit-transition: border 0.4s ease-in-out;
    -moz-transition: border 0.4s ease-in-out;
    -o-transition: border 0.4s ease-in-out;
    -ms-transition: border 0.4s ease-in-out;
    transition: border 0.4s ease-in-out;
}

.isg-profile-content {
    padding: 140px 40px 40px 40px;
    margin-top: -100px;
}

.isg-profile-content h3 {
    margin-bottom: 5px;
}

.isg-profile-content p.isg-profile-subtitle {
    font-size: 20px;
    line-height: 1;
}

.isg-profile-icons {
    list-style-type: none;
    display: inline-block;
    margin: 0px;
    padding: 0px;
    vertical-align: bottom;
}

.isg-profile-icons li {
    float: left;
    display: block;
    margin: 0;
    padding: 0;
}

.isg-profile-icons li.isg-social a {
    position: relative;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    text-indent: -500em;
    height: 40px;
    width: 40px;
    line-height: 40px;
    text-align: center;
    vertical-align: middle;
}

.isg-profile-icons li.isg-social a:before {
    font-family: 'FontAwesome';
    speak: none;
    text-indent: 0em;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 18px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -ms-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

.isg-profile-icons li.isg-social a:hover:before {
    -webkit-transform: translateZ(0) rotate(360deg);
    -moz-transform: translateZ(0) rotate(360deg);
    -o-transform: translateZ(0) rotate(360deg);
    -ms-transform: translateZ(0) rotate(360deg);
    transform: translateZ(0) rotate(360deg);
}

.isg-profile-button {
    display: block;
    width: 100%;
    padding: 15px 40px;
    font-size: 15px;
    -webkit-transition: background 0.2s ease-in-out;
    -moz-transition: background 0.2s ease-in-out;
    -o-transition: background 0.2s ease-in-out;
    -ms-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out;
}


/* ================= BLOG SIDEBAR ================== */

.isg-sidebar-box {
    position: relative;
    display: block;
    margin-bottom: 60px;
    padding: 40px;
}

.isg-sidebar-box:last-child {
    margin-bottom: 0px;
    border: none;
}

.isg-popular-list {
    position: relative;
    display: block;
    margin: 35px 0px 0px 0px;
    padding: 0px;
    list-style: none;
}

.isg-popular-list li {
    display: table;
    width:100%;
    margin-bottom: 20px;
    padding-bottom:20px;
}

.isg-popular-list li:last-child {
    margin-bottom: 0px;
    padding-bottom: 0px;
    border-bottom: none !important
}

.isg-popular-left,.isg-popular-right {
    display: table-cell;
    vertical-align: middle;
}

.isg-popular-left {
    width: 110px;
    padding-right: 20px;
}

.isg-popular-left a {
    display: block;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
}

.isg-popular-left img {
    width: 100%;
    height: auto;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    vertical-align: bottom;
    -webkit-transition: border 0.2s ease-in-out;
    -moz-transition: border 0.2s ease-in-out;
    -o-transition: border 0.2s ease-in-out;
    -ms-transition: border 0.2s ease-in-out;
    transition: border 0.2s ease-in-out;
}

.isg-popular-date,
.isg-popular-title {
    margin: 0px;
}

.isg-popular-date a {
    font-size: 13px;
    position: relative;
    padding-left: 19px;
}

.isg-popular-date a:before {
    font-family: 'FontAwesome';
    speak: none;
    text-indent: 0em;
    text-align: center;
    content: "\f133";
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1;
    display: inline-block;
    margin: 0px;
}

.isg-sidebar-list li a {
    -webkit-transition: color 0.2s ease-in-out;
    -moz-transition: color 0.2s ease-in-out;
    -o-transition: color 0.2s ease-in-out;
    -ms-transition: color 0.2s ease-in-out;
}

.isg-sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
    vertical-align: bottom;
}

.isg-sidebar-list li {
    padding-left: 0px;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.isg-sidebar-list li:last-child {
    padding-bottom: 0px;
    margin-bottom: 0px;
    border-bottom: none;
}

.isg-sidebar-list li a:hover {
    text-decoration: none;
}

.isg-tags {
    position: relative;
    display: inline-block;
    margin-bottom: -5px;
}

.isg-tags a {
    float: left;
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 7px 12px;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
}

.isg-banner {
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    width: 100%;
    max-width: 480px;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.isg-banner-title {
    position:relative;
    margin: -1px auto 60px auto;
    padding:20px 30px;
    max-width: 480px;
    width: 100%;
}

.isg-banner-title p {
    margin:0px;
    text-align:center;
    display:block;
    font-size:18px;
}

.isg-banner-title p a {
    display:block;
}

.isg-banner *,
.isg-banner *:before,
.isg-banner *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.isg-banner img {
    max-width: 480px;
    width: 100%;
    height: auto;
    vertical-align: top;
}

.isg-banner .isg-banner-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.isg-banner .isg-banner-icon:before,
.isg-banner .isg-banner-icon:after,
.isg-banner .isg-banner-icon div:before,
.isg-banner .isg-banner-icon div:after {
    opacity: 0;
    -webkit-transform: scale(0.05);
    transform: scale(0.05);
}

.isg-banner .isg-banner-icon:before,
.isg-banner .isg-banner-icon:after {
    height: 50%;
    width: 50%;
    position: absolute;
    content: '';
}

.isg-banner .isg-banner-icon:before {
    top: 0;
    left: 0;
}

.isg-banner .isg-banner-icon:after {
    bottom: 0;
    right: 0;
}

.isg-banner .isg-banner-icon div:before,
.isg-banner .isg-banner-icon div:after {
    width: 50%;
    height: 50%;
    position: absolute;
    content: '';
}

.isg-banner .isg-banner-icon div:before {
    top: 0;
    right: 0;
}

.isg-banner .isg-banner-icon div:after {
    bottom: 0;
    left: 0;
}

.isg-banner i {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-size: 4em;
    z-index: 1;
    opacity: 0;
}

.isg-banner a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.isg-banner:hover img,
.isg-banner.hover img {
    zoom: 1;
    opacity: 0.5;
}

.isg-banner:hover i,
.isg-banner.hover i {
    opacity: 1;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.isg-banner:hover .isg-banner-icon:before,
.isg-banner.hover .isg-banner-icon:before,
.isg-banner:hover .isg-banner-icon:after,
.isg-banner.hover .isg-banner-icon:after,
.isg-banner:hover .isg-banner-icon div:before,
.isg-banner.hover .isg-banner-icon div:before,
.isg-banner:hover .isg-banner-icon div:after,
.isg-banner.hover .isg-banner-icon div:after {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0.8;
}

.isg-banner:hover .isg-banner-icon:before,
.isg-banner.hover .isg-banner-icon:before {
    -webkit-transition-delay: 0;
    transition-delay: 0;
}

.isg-banner:hover .isg-banner-icon:after,
.isg-banner.hover .isg-banner-icon:after {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

.isg-banner:hover .isg-banner-icon div:before,
.isg-banner.hover .isg-banner-icon div:before {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}

.isg-banner:hover .isg-banner-icon div:after,
.isg-banner.hover .isg-banner-icon div:after {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}


/* ================= FORMS ================== */

#ajax-form {
    position: relative;
    margin-top: 40px;
    display: block;
}

input[type="text"],
input[type="email"],
input[type="number"],
input[type="date"],
input[type="password"],
textarea {
    position: relative;
    width: 100%;
    display: block;
    margin: 0px 0px 30px 0px;
    padding: 15px;
    -webkit-transition: color 0.4s ease-in-out;
    -moz-transition: color 0.4s ease-in-out;
    -o-transition: color 0.4s ease-in-out;
    transition: color 0.4s ease-in-out;
    -webkit-border-radius: 0px !important;
    -moz-border-radius: 0px !important;
    border-radius: 0px !important;
    outline: none !important;
    word-spacing: 0.15em;
    letter-spacing: 0.01em;
    border: none !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
textarea:focus,
input[type="password"]:focus {
    outline: none !important;
}

textarea {
    height: 140px;
    margin-bottom: 30px !important;
}

input[type="submit"],
.isg-button {
    font-size: 15px;
    line-height: 1;
    padding: 15px 30px;
    display: inline-block;
    margin: 0px 5px 0px 0px;
    text-transform: uppercase;
    text-decoration: none !important;
    outline: none;
    position: relative;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    word-spacing: 0.15em;
    letter-spacing: 1px;
    text-align: center;
    cursor: pointer;
}

.submit-container {
    display: block;
    width: 100%;
}

#ajax-spinner {
    font-size: 30px;
    vertical-align: middle;
    visibility: hidden;
}

.ajax-success,
.ajax-error {
    padding: 20px;
    margin: 40px 0px 0px 0px;
    display: block;
    width: 100%;
}

.isg-searchbox input[type="submit"] {
    -webkit-border-radius: 0px !important;
    -moz-border-radius: 0px !important;
    border-radius: 0px !important;
    height: 50px;
    border: none !important;
}

.isg-searchbox {
    width: 100% !important;
    display: inline-block;
    position: relative;
    margin-bottom: 60px;
    vertical-align:bottom
}

.isg-searchbox input[type="text"].isg-searchtext {
    width: 75% !important;
    float: left;
    margin: 0px !important;
    border-right: none !important;
    height: 50px;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}

.isg-searchbox input[type="text"]:focus {
    animation: none !important;
}

.isg-searchbox input[type="submit"] {
    font-family: 'FontAwesome';
    font-size: 20px;
    width: 25% !important;
    float: right;
    position: absolute;
    top: 0;
    margin: 0px;
    padding-left: 0;
    padding-right: 0;
}


/* ================= FOOTER ================== */

#isg-footer {
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
    overflow: hidden;
}

#isg-footer .isg-footer-inner {
    padding: 20px 40px;
    display: inline-block;
}

#isg-footer .isg-footer-inner p {
    display: block;
    margin: 0px;
    font-size: 13px;
    opacity: 0.5;
}

#isg-footer .isg-footer-inner a:hover {
    text-decoration: underline;
}

.isg-footer-divider {
    opacity:0.3;
}

#isg-back-to-top {
    cursor: pointer;
}


/* ========================== Added =============== */

/* Base font */
body {
    font-family: 'Source Sans Pro', Arial, sans-serif;
}

/* Name in header */
#isg-header h1 {
font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 2.6rem;        /* smaller */
    letter-spacing: 0.10em;   /* tighter, cleaner */
    margin-bottom: 0.5rem;
}


/* Subtitle under name */
.isg-subtitle {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 0.90rem;   /* a bit bigger on desktop */
    letter-spacing: 0.02em;
    color: #9ba1a6;
    margin-top: 0.25rem;
}

/* Signature image */
.isg-signature {
    width: 120px;
    height: 75px;
    margin-top: 1.2rem;
}

/* Tagline under signature */
.isg-tagline {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 0.8rem;
    margin-top: 0.5rem;
    color: #9aa1a8;
    font-style: italic;
}

/* Tablet & small laptop */
@media (max-width: 992px) {
    #isg-header h1 {
        font-size: 2rem;
        letter-spacing: 0.18em;
    }
   
    .isg-signature {
        margin-top: 1.8rem;
        width: 110px;
        height: auto;
    }

    .isg-tagline {
        font-size: 0.9rem;
    }
}

/* FORCE MOBILE SUBTITLE SIZE */
/* FORCE MOBILE SUBTITLE SIZE */
@media (max-width: 600px) {

    #isg-header h1 {
        font-size: 1.3rem;
        letter-spacing: 0.08em;
        margin-bottom: 0.35rem;
    }

    #isg-header .isg-intro p.isg-subtitle,
    #isg-header .isg-subtitle {
        font-size: 0.8rem !important;
        line-height: 1.2 !important;
        max-width: 280px !important;
        margin: 0.25rem auto !important;
        letter-spacing: 0.02em !important;
        color: #8e959a !important;
        text-align: center !important;
        display: block !important;
    }
}

#isg-header .isg-intro p.isg-subtitle,
#isg-header .isg-subtitle {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 0.90rem;
    letter-spacing: 0.02em;
    color: #9ba1a6;
    margin-top: 0.25rem;
}

/* Desktop subtitle (above 992px) */
@media (min-width: 993px) {
    #isg-header .isg-intro p.isg-subtitle,
    #isg-header .isg-subtitle {
        font-size: 1rem;
        letter-spacing: 0.03em;
    }
}

@media (max-width: 600px) {
    .isg-header-icons li.isg-social a {
        width: 36px;              /* just a bit bigger */
        height: 36px;
        line-height: 36px;
        font-size: 0.9rem;
        margin: 0 4px;
    }
}


@media (min-width: 1200px) {
    .isg-intro {
        padding: 140px 60px;   /* was 180px 60px */
    }
}

@media (min-width: 1200px) {
    #isg-header .isg-intro {
        padding-top: 120px;   /* was around 200px */
    }
}

#isg-header .isg-subtitle {
    color: #7b8287;  /* slightly darker grey */
}

#isg-header h1 {
    margin-bottom: 0.7rem;
}

#isg-header .isg-intro {
    max-width: 900px;
    margin: 0 auto;
}


p {
    font-family: 'Source Sans Pro', Arial, sans-serif;
}

/* HEADER – FINAL TUNING */

/* Desktop base */
#isg-header h1 {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 2.6rem;
    letter-spacing: 0.10em;
    margin-bottom: 0.5rem;
}

.isg-subtitle {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 0.90rem;
    letter-spacing: 0.02em;
    color: #9ba1a6;
    margin-top: 0.25rem;
}

/* Signature + tagline */
.isg-signature {
    width: 120px;
    height: auto;
    margin-top: 1.2rem;
}

.isg-tagline {
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 0.8rem;
    margin-top: 0.5rem;
    color: #9aa1a8;
    font-style: italic;
}

/* Desktop spacing (big screens) */
@media (min-width: 1200px) {
    #isg-header .isg-intro {
        padding-top: 140px;
        padding-bottom: 160px;
        max-width: 900px;
        margin: 0 auto;
    }
}

/* Tablet */
@media (max-width: 992px) {
    #isg-header h1 {
        font-size: 2rem;
        letter-spacing: 0.14em;
    }

    .isg-signature {
        margin-top: 1.6rem;
        width: 110px;
    }

    .isg-tagline {
        font-size: 0.85rem;
    }
}

/* Mobile */
@media (max-width: 600px) {

    .isg-header-icons {
        margin-bottom: 0.75rem;
    }

    .isg-header-icons li.isg-social a {
        width: 36px;
        height: 36px;
        line-height: 36px;
        font-size: 0.9rem;
        margin: 0 4px;
    }

    #isg-header h1 {
        font-size: 1.3rem;
        letter-spacing: 0.08em;
        margin-bottom: 0.35rem;
    }

    #isg-header .isg-subtitle {
        font-size: 0.8rem;
        line-height: 1.25;
        max-width: 280px;
        margin: 0.25rem auto 0;
        text-align: center;
        color: #8e959a;
    }

    .isg-signature {
        margin-top: 1.1rem;
        width: 80px;
    }

    .isg-tagline {
        font-size: 0.74rem;
        margin-top: 0.4rem;
    }
}

/* ================= HERO FADE-IN ANIMATION ================== */

/* Keyframes */
@keyframes isg-fade-up {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Photo */
.isg-header-icons li.isg-logo img {
    opacity: 0;
    animation: isg-fade-up 0.7s ease-out 0.05s forwards;
}

/* Social icons – staggered slightly */
.isg-header-icons li.isg-social {
    opacity: 0;
    animation: isg-fade-up 0.6s ease-out 0.25s forwards;
}

.isg-header-icons li.isg-social:nth-child(3) {  /* 1 = logo, socials start at 2 */
    animation-delay: 0.30s;
}
.isg-header-icons li.isg-social:nth-child(4) {
    animation-delay: 0.35s;
}
.isg-header-icons li.isg-social:nth-child(5) {
    animation-delay: 0.40s;
}
.isg-header-icons li.isg-social:nth-child(6) {
    animation-delay: 0.45s;
}

/* Name */
#isg-header h1 {
    opacity: 0;
    animation: isg-fade-up 0.7s ease-out 0.55s forwards;
}

/* Subtitle */
#isg-header .isg-subtitle {
    opacity: 0;
    animation: isg-fade-up 0.7s ease-out 0.75s forwards;
}

/* Signature */
.isg-signature {
    opacity: 0;
    animation: isg-fade-up 0.8s ease-out 1.0s forwards;
}

/* Tagline under signature */
.isg-tagline {
    opacity: 0;
    animation: isg-fade-up 0.8s ease-out 1.2s forwards;
}

/* Accessibility: disable animation for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    .isg-header-icons li.isg-logo img,
    .isg-header-icons li.isg-social,
    #isg-header h1,
    #isg-header .isg-subtitle,
    .isg-signature,
    .isg-tagline {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Disable old pre-loader completely */
#isg-page-loading {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

/* Make sure body can scroll normally even if JS adds this class */
.isg-loading-overflow-hidden {
    overflow: visible !important;
}

/* ===== DOWNLOAD CV BUTTON ===== */

.isg-download-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 1.4rem;

    padding: 10px 22px;
    border-radius: 999px;

    font-family: 'Source Sans Pro', Arial, sans-serif;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;

    border: 1px solid rgba(255, 255, 255, 0.65);
    background: rgba(0, 0, 0, 0.20);
    color: #ffffff;

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    cursor: pointer;
    transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease,
                box-shadow 0.25s ease;
}

/* Icon inside the button */
.isg-download-btn i.fa {
    font-size: 0.9rem;
}

/* Hover / focus state */
.isg-download-btn:hover,
.isg-download-btn:focus {
    background: rgba(0, 0, 0, 0.55);
    border-color: rgba(255, 255, 255, 0.9);
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25);
}

/* Active click feel */
.isg-download-btn:active {
    transform: translateY(0);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Animation in sync with header elements */
.isg-download-btn {
    opacity: 0;
    animation: isg-fade-up 0.8s ease-out 1.0s forwards;
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    .isg-download-btn {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Mobile tweaks */
@media (max-width: 600px) {
    .isg-download-btn {
        margin-top: 1.0rem;
        padding: 9px 18px;
        font-size: 0.78rem;
    }
}


/* ================= GLOBAL TYPOGRAPHY OVERRIDE ================= */

/* Use modern fonts everywhere */
:root {
    --font-heading: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-body: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Base text */
body,
p,
blockquote p,
label,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="date"],
input[type="password"],
textarea,
.isg-article-content,
.isg-resume-content,
.isg-profile-content,
.isg-sidebar-box,
.isg-table .isg-table-row div p,
#isg-footer .isg-footer-inner p {
    font-family: var(--font-body);
    font-size: 0.95rem;
    line-height: 1.6;
    letter-spacing: 0.01em;
}

/* All headings & key UI text */
h1,
h2,
h3,
h4,
h5,
h6,
.isg-menu a,
.isg-resume-title h6,
.isg-resume-title strong,
.isg-portfolio-filter li,
.isg-skillbar-title span,
.isg-button,
input[type="submit"],
.isg-profile-button,
.isg-popular-title,
.isg-banner-title p,
.isg-meta,
.isg-skill-bar-percent {
    font-family: var(--font-heading);
    font-weight: 500;
    letter-spacing: 0.06em;
}

/* General heading sizes (header still uses its own custom size) */
h1 { font-size: 2rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.4rem; }
h4 { font-size: 1.2rem; }
h5 { font-size: 1.05rem; }
h6 { font-size: 0.95rem; text-transform: uppercase; }

/* Section titles a bit tighter */
h2 {
    margin-bottom: 20px;
}

/* Resume big background year/date */
.isg-resume-title .isg-resume-date {
    font-family: var(--font-heading);
    font-weight: 400;
    opacity: 0.08;
}

/* Top menu – slightly smaller & cleaner */
.isg-menu a {
    font-size: 0.9rem;
    text-transform: uppercase;
}

/* Portfolio filter chips */
.isg-portfolio-filter li {
    font-size: 0.9rem;
}

/* Buttons */
.isg-button,
input[type="submit"],
.isg-profile-button {
    font-size: 0.85rem;
    letter-spacing: 0.08em;
}

/* Contact page section spacing */
.contact-subsection {
    margin-bottom: 12px;
    line-height: 1.45;
    font-size: 0.95rem;
    color: #4d4d4d;
}

.contact-block h4 {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 10px;
    color: #111836;
}

/* Mobile improvement */
@media (max-width: 600px) {
    .contact-subsection {
        font-size: 0.97rem;
        line-height: 1.4;
    }
}

.isg-photo-slider img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3px;
}
.isg-photo-slider img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    object-fit: cover;
}
.isg-gallery-title {
    margin-top: 30px;
}
/* Reduce spacing between gallery title and subtitle */
.isg-gallery-title {
    margin-bottom: 5px !important;   /* was larger earlier */
}

.isg-photo-slider + p,
.isg-gallery-title + p {
    margin-top: 2px !important;      /* reduce gap before the subtitle */
}

.isg-skill-category {
    margin-top: 30px;
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 18px;
    color: #333;
}










/* =========================================================
   HOME PAGE - PROFESSIONAL HIGHLIGHTS AND EXPERTISE
========================================================= */

.home-extra-content {
    width: 100%;
    background: #ffffff;
    padding: 80px 7%;
    box-sizing: border-box;
}

.home-section {
    max-width: 1250px;
    margin: 0 auto 90px;
}

.home-section:last-child {
    margin-bottom: 0;
}

.home-section-heading {
    max-width: 760px;
    margin: 0 auto 45px;
    text-align: center;
}

.home-section-heading span {
    display: inline-block;
    margin-bottom: 10px;
    color: #1f2041;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 3px;
}

.home-section-heading h2 {
    margin: 0 0 15px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 38px;
    font-weight: 600;
    letter-spacing: 1px;
}

.home-section-heading p {
    margin: 0;
    color: #8b8e91;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.7;
}


/* PROFESSIONAL HIGHLIGHTS */

.highlights-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.highlight-card {
    min-height: 180px;
    padding: 30px 20px;
    border: 1px solid #eeeeee;
    border-radius: 12px;
    background: #ffffff;
    text-align: center;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.highlight-card:hover {
    transform: translateY(-6px);
    border-color: #1f2041;
    box-shadow: 0 12px 30px rgba(31, 32, 65, 0.10);
}

.highlight-card i {
    margin-bottom: 18px;
    color: #1f2041;
    font-size: 30px;
}

.highlight-card h3 {
    margin: 0 0 8px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 25px;
    font-weight: 600;
}

.highlight-card p {
    margin: 0;
    color: #8b8e91;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.5;
}


/* MY EXPERTISE */

.expertise-section {
    padding-top: 10px;
}

.expertise-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.expertise-card {
    min-height: 260px;
    padding: 34px 30px;
    border: 1px solid #eeeeee;
    border-radius: 12px;
    background: #ffffff;
    text-align: left;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.expertise-card:hover {
    transform: translateY(-6px);
    border-color: #1f2041;
    box-shadow: 0 14px 32px rgba(31, 32, 65, 0.10);
}

.expertise-icon {
    display: flex;
    width: 56px;
    height: 56px;
    margin-bottom: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #1f2041;
}

.expertise-icon i {
    color: #ffffff;
    font-size: 22px;
}

.expertise-card h3 {
    margin: 0 0 13px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 21px;
    font-weight: 600;
}

.expertise-card p {
    margin: 0;
    color: #808387;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    line-height: 1.7;
}


/* TABLET */

@media screen and (max-width: 1000px) {

    .highlights-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .expertise-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* MOBILE */

@media screen and (max-width: 650px) {

    .home-extra-content {
        padding: 55px 20px;
    }

    .home-section {
        margin-bottom: 65px;
    }

    .home-section-heading {
        margin-bottom: 32px;
    }

    .home-section-heading h2 {
        font-size: 30px;
    }

    .highlights-grid,
    .expertise-grid {
        grid-template-columns: 1fr;
    }

    .highlight-card,
    .expertise-card {
        min-height: auto;
    }

    .expertise-card {
        text-align: center;
    }

    .expertise-icon {
        margin-left: auto;
        margin-right: auto;
    }
}

/* =========================================================
   CURRENT ROLE
========================================================= */

.current-role-section {
    max-width: 1050px;
}

.current-role-card {
    display: flex;
    gap: 32px;
    align-items: center;
    padding: 32px 36px;
    border-left: 5px solid #1f2041;
    border-radius: 12px;
    background: #f7f7f9;
    box-sizing: border-box;
}

.current-role-icon {
    display: flex;
    width: 80px;
    height: 80px;
    flex: 0 0 85px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #1f2041;
}

.current-role-icon i {
    color: #ffffff;
    font-size: 32px;
}

.current-role-content {
    flex: 1;
}

.current-role-label {
    display: inline-block;
    margin-bottom: 8px;
    color: #1f2041;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.current-role-content h3 {
    margin: 0 0 14px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 27px;
    font-weight: 600;
}

.current-role-content p {
    max-width: 800px;
    margin: 0 0 24px;
    color: #74777b;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.8;
}

.current-role-button {
    display: inline-block;
    padding: 12px 20px;
    border: 2px solid #1f2041;
    border-radius: 25px;
    color: #1f2041;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.current-role-button i {
    margin-left: 8px;
}

.current-role-button:hover {
    background: #1f2041;
    color: #ffffff;
}


/* CURRENT ROLE - MOBILE */

@media screen and (max-width: 650px) {

    .current-role-card {
        display: block;
        padding: 30px 22px;
        text-align: center;
    }

    .current-role-icon {
        margin: 0 auto 22px;
    }

    .current-role-content h3 {
        font-size: 23px;
    }

    .current-role-content p {
        font-size: 15px;
    }
}

/* =========================================================
   FINAL HOME PAGE DESIGN
   ========================================================= */

#isg-header {
    height: 800px;
    min-height: 800px;
}

#isg-header .isg-intro {
    max-width: 980px;
    margin: 0 auto;
    padding: 125px 60px 150px;
}

#isg-header h1 {
    margin: 0 0 0.5rem;
    font-family: 'Outfit', sans-serif;
    font-size: 2.75rem;
    font-weight: 600;
    letter-spacing: 0.10em;
}

#isg-header .isg-intro p.isg-subtitle,
#isg-header .isg-subtitle {
    max-width: 930px;
    margin: 0.25rem auto;
    color: #7b8287;
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.45;
    letter-spacing: 0.025em;
}

.isg-header-icons {
    margin-bottom: 24px;
}

.isg-header-icons li.isg-logo img {
    width: 198px;
    height: 198px;
    object-fit: cover;
}

.isg-header-icons li {
    line-height: 198px;
}

.isg-header-icons li.isg-social a {
    width: 52px;
    height: 52px;
    line-height: 52px;
}

.isg-role-badge {
    display: block;
    width: fit-content;
    max-width: 680px;
    margin: 28px auto 60px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1f2041;
    font-family: 'Outfit', sans-serif;
    line-height: 1.3;
    text-align: center;
}

.isg-role-badge span {
    display: block;
    margin-bottom: 7px;
    color: #1f2041;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.6px;
    text-transform: uppercase;
}

.isg-role-badge strong {
    display: block;
    color: #1f2041;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.2px;
}

#isg-header .isg-role-badge + .isg-subtitle {
    margin-bottom: 30px;
}

.isg-home-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 0;
}

.isg-home-actions .isg-download-btn {
    margin: 0;
}

.isg-tagline {
    margin-top: 14px;
}

.home-extra-content {
    width: 100%;
    padding: 26px 7% 72px;
    border-top: 1px solid #efeff2;
    background: #ffffff;
}

.home-section {
    max-width: 1280px;
    margin: 0 auto;
    padding: 68px 0;
}

.home-section + .home-section {
    border-top: 1px solid #ececef;
}

.home-section-heading {
    max-width: 760px;
    margin: 0 auto 40px;
    text-align: center;
}

.home-section-heading span {
    display: inline-block;
    margin-bottom: 9px;
    color: #1f2041;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 3px;
}

.home-section-heading h2 {
    margin: 0 0 12px;
    color: #1f2041;
    font-family: 'Outfit', sans-serif;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.5px;
}

.home-section-heading p {
    margin: 0;
    color: #8b8e91;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.7;
}

.highlights-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.highlight-card {
    min-height: 195px;
    padding: 34px 20px;
    border: 1px solid #e8e8eb;
    border-radius: 10px;
    background: #ffffff;
    text-align: center;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.highlight-card:hover {
    transform: translateY(-5px);
    border-color: #1f2041;
    box-shadow: 0 12px 28px rgba(31, 32, 65, 0.10);
}

.highlight-card i {
    margin-bottom: 17px;
    color: #1f2041;
    font-size: 31px;
}

.highlight-card h3 {
    margin: 0 0 8px;
    color: #1f2041;
    font-family: 'Outfit', sans-serif;
    font-size: 26px;
    font-weight: 600;
}

.highlight-card p {
    margin: 0;
    color: #85888c;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    line-height: 1.5;
}

.current-role-section {
    max-width: 1120px;
}

.current-role-card {
    display: flex;
    gap: 34px;
    align-items: center;
    min-height: 245px;
    padding: 46px;
    border-left: 5px solid #1f2041;
    border-radius: 12px;
    background: #f7f7f9;
}

.current-role-icon {
    display: flex;
    width: 92px;
    height: 92px;
    flex: 0 0 92px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #1f2041;
}

.current-role-icon i {
    color: #ffffff;
    font-size: 34px;
}

.current-role-content h3 {
    margin: 0 0 14px;
    color: #1f2041;
    font-family: 'Outfit', sans-serif;
    font-size: 30px;
    font-weight: 600;
}

.current-role-content p {
    max-width: 820px;
    margin: 0 0 25px;
    color: #74777b;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.8;
}

.current-role-button {
    display: inline-block;
    padding: 12px 22px;
    border: 2px solid #1f2041;
    border-radius: 25px;
    background: #1f2041;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.current-role-button:hover {
    transform: translateY(-2px);
    background: #2e315e;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(31, 32, 65, 0.18);
}

.expertise-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.expertise-card {
    min-height: 275px;
    padding: 36px 32px;
    border: 1px solid #e8e8eb;
    border-radius: 12px;
    background: #ffffff;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.expertise-card:hover {
    transform: translateY(-5px);
    border-color: #1f2041;
    box-shadow: 0 12px 28px rgba(31, 32, 65, 0.10);
}

.expertise-icon {
    display: flex;
    width: 58px;
    height: 58px;
    margin-bottom: 23px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #1f2041;
}

.expertise-icon i {
    color: #ffffff;
    font-size: 23px;
}

.expertise-card h3 {
    margin: 0 0 13px;
    color: #1f2041;
    font-family: 'Outfit', sans-serif;
    font-size: 22px;
    font-weight: 600;
}

.expertise-card p {
    margin: 0;
    color: #808387;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.7;
}

@media screen and (max-width: 1000px) {
    #isg-header {
        height: auto;
        min-height: 740px;
    }

    #isg-header .isg-intro {
        padding: 120px 40px;
    }

    .highlights-grid,
    .expertise-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 650px) {
    #isg-header {
        min-height: 700px;
    }

    #isg-header .isg-intro {
        padding: 100px 20px 85px;
    }

    .isg-mobile-logo img {
        width: 155px;
    }

    .isg-role-badge {
        max-width: 320px;
        margin: 24px auto 42px;
    }

    .isg-role-badge strong {
        font-size: 17px;
        line-height: 1.35;
    }

    .isg-home-actions {
        gap: 10px;
    }

    .home-extra-content {
        padding: 20px 20px 50px;
    }

    .home-section {
        padding: 54px 0;
    }

    .home-section-heading {
        margin-bottom: 30px;
    }

    .home-section-heading h2 {
        font-size: 30px;
    }

    .highlights-grid,
    .expertise-grid {
        grid-template-columns: 1fr;
    }

    .highlight-card,
    .expertise-card {
        min-height: auto;
    }

    .current-role-card {
        display: block;
        min-height: 0;
        padding: 32px 24px;
        text-align: center;
    }

    .current-role-icon {
        margin: 0 auto 22px;
    }

    .current-role-content h3 {
        font-size: 24px;
    }

    .expertise-card {
        text-align: center;
    }

    .expertise-icon {
        margin-left: auto;
        margin-right: auto;
    }
}

.nowrap{
    white-space: nowrap;
}

/* =========================================================
   FINAL MOBILE HOME PAGE OVERRIDE
   Keep this section at the very end of style.css
   ========================================================= */

@media screen and (max-width: 650px) {

    #isg-header {
        height: auto !important;
        min-height: 0 !important;
    }

    #isg-header .isg-intro {
        width: 100%;
        max-width: none;
        margin: 0 auto;
        padding: 105px 18px 70px !important;
    }

    .isg-mobile-logo {
        display: block;
    }

    .isg-mobile-logo img {
        width: 158px !important;
        height: 158px;
        margin: 0 auto 30px;
        object-fit: cover;
    }

    .isg-header-icons li.isg-logo {
        display: none;
    }

    .isg-header-icons {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
        margin: 0 auto 34px !important;
    }

    .isg-header-icons li {
        float: none;
        margin: 0;
        line-height: 1;
    }

    .isg-header-icons li.isg-social a {
        width: 44px !important;
        height: 44px !important;
        line-height: 44px !important;
        margin: 0 !important;
    }

    .isg-header-icons li.isg-social a::before {
        font-size: 18px;
    }

    #isg-header h1 {
        max-width: 360px;
        margin: 0 auto 12px !important;
        font-size: 1.78rem !important;
        line-height: 1.08 !important;
        letter-spacing: 0.065em !important;
        overflow-wrap: normal;
        word-break: normal;
    }

    #isg-header .isg-intro p.isg-subtitle,
    #isg-header .isg-subtitle {
        max-width: 345px !important;
        margin: 0.3rem auto !important;
        font-size: 0.84rem !important;
        line-height: 1.38 !important;
        letter-spacing: 0.015em !important;
        text-align: center;
    }

    .isg-role-badge {
        max-width: 355px;
        margin: 31px auto 48px !important;
    }

    .isg-role-badge span {
        margin-bottom: 8px;
        font-size: 11px;
        letter-spacing: 2.4px;
    }

    .isg-role-badge strong {
        max-width: 355px;
        font-size: 1.03rem !important;
        line-height: 1.35;
    }

    #isg-header .isg-role-badge + .isg-subtitle {
        max-width: 345px !important;
        margin: 0 auto 44px !important;
    }

    .isg-home-actions {
        display: flex;
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
        flex-direction: column;
        align-items: center;
        gap: 11px;
    }

    .isg-home-actions .isg-download-btn {
        width: 220px;
        min-width: 220px;
        margin: 0 !important;
        padding: 11px 16px;
        justify-content: center;
        font-size: 0.76rem;
    }

    .home-extra-content {
        padding: 18px 18px 48px;
    }

    .home-section {
        padding: 52px 0;
        margin-bottom: 0;
    }

    .home-section-heading {
        margin-bottom: 30px;
    }

    .home-section-heading h2 {
        font-size: 29px;
    }

    .highlights-grid,
    .expertise-grid {
        grid-template-columns: 1fr;
    }

    .highlight-card,
    .expertise-card {
        min-height: auto;
    }

    .current-role-card {
        display: block;
        min-height: 0;
        padding: 30px 22px;
        text-align: center;
    }

    .current-role-icon {
        width: 76px;
        height: 76px;
        flex-basis: 76px;
        margin: 0 auto 22px;
    }

    .current-role-icon i {
        font-size: 29px;
    }

    .current-role-content h3 {
        font-size: 23px;
        line-height: 1.25;
    }

    .current-role-content p {
        font-size: 14px;
        line-height: 1.7;
    }

    .expertise-card {
        text-align: center;
    }

    .expertise-icon {
        margin-right: auto;
        margin-left: auto;
    }
}

@media screen and (max-width: 390px) {

    #isg-header .isg-intro {
        padding-right: 14px !important;
        padding-left: 14px !important;
    }

    .isg-mobile-logo img {
        width: 145px !important;
        height: 145px;
    }

    .isg-header-icons {
        gap: 6px;
    }

    .isg-header-icons li.isg-social a {
        width: 40px !important;
        height: 40px !important;
        line-height: 40px !important;
    }

    #isg-header h1 {
        max-width: 330px;
        font-size: 1.6rem !important;
    }

    .isg-home-actions .isg-download-btn {
        width: 210px;
        min-width: 210px;
    }
}




/* =========================================================
   ABOUT PANEL
========================================================= */

.about-panel-inner {
    background: #ffffff;
}

.about-hero {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 32px;
    align-items: center;
    margin-bottom: 65px;
    padding: 35px;
    border-radius: 14px;
    background: #f7f7f9;
}

.about-photo img {
    display: block;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
}

.about-eyebrow,
.about-section-heading span,
.about-cta > span {
    display: block;
    margin-bottom: 9px;
    color: #25264d;
    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2.5px;
}

.about-hero-content h2 {
    margin: 0 0 14px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 33px;
    font-weight: 600;
}

.about-hero-content p {
    margin-bottom: 14px;
    color: #74777b;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    line-height: 1.75;
}

.about-hero-content .about-lead {
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.5;
}

.about-section {
    margin-bottom: 70px;
}

.about-section-heading {
    margin-bottom: 30px;
}

.about-section-heading h3 {
    margin: 0;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 29px;
    font-weight: 600;
}

.about-summary p {
    color: #707479;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    line-height: 1.85;
}

.about-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.about-stat-card {
    min-height: 155px;
    padding: 25px 18px;
    border: 1px solid #e6e6ea;
    border-radius: 10px;
    text-align: center;
}

.about-stat-card i {
    display: block;
    margin-bottom: 12px;
    color: #25264d;
    font-size: 25px;
}

.about-stat-card strong {
    display: block;
    margin-bottom: 7px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
}

.about-stat-card span {
    color: #85888c;
    font-family: "Inter", sans-serif;
    font-size: 13px;
}

.about-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.about-profile-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    min-height: 110px;
    padding: 22px;
    border-radius: 10px;
    background: #f7f7f9;
}

.about-profile-item i {
    width: 38px;
    color: #25264d;
    font-size: 23px;
    text-align: center;
}

.about-profile-item span {
    display: block;
    margin-bottom: 5px;
    color: #898c91;
    font-family: "Inter", sans-serif;
    font-size: 12px;
}

.about-profile-item strong {
    display: block;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.45;
}

.about-competencies {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.about-competencies span {
    display: inline-block;
    padding: 10px 15px;
    border: 1px solid #dedee4;
    border-radius: 25px;
    color: #25264d;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 500;
}

.about-value-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 17px;
}

.about-value-card {
    min-height: 270px;
    padding: 27px 23px;
    border: 1px solid #e6e6ea;
    border-radius: 10px;
}

.about-value-icon {
    display: flex;
    width: 52px;
    height: 52px;
    margin-bottom: 20px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #25264d;
}

.about-value-icon i {
    color: #ffffff;
    font-size: 20px;
}

.about-value-card h4 {
    margin: 0 0 13px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
}

.about-value-card p {
    margin: 0;
    color: #7c7f84;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    line-height: 1.75;
}

.about-philosophy {
    margin-bottom: 70px;
    padding: 42px 35px;
    border-left: 5px solid #25264d;
    border-radius: 10px;
    background: #f7f7f9;
    text-align: center;
}

.about-philosophy i {
    margin-bottom: 15px;
    color: #25264d;
    font-size: 28px;
}

.about-philosophy blockquote {
    margin: 0 0 13px;
    padding: 0;
    border: 0;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
}

.about-philosophy span {
    color: #898c91;
    font-family: "Inter", sans-serif;
    font-size: 13px;
}

.about-cta {
    padding: 42px 35px;
    border-radius: 12px;
    background: #25264d;
    text-align: center;
}

.about-cta > span {
    color: rgba(255, 255, 255, 0.65);
}

.about-cta h3 {
    margin: 0 0 14px;
    color: #ffffff;
    font-family: "Outfit", sans-serif;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.3;
}

.about-cta p {
    max-width: 570px;
    margin: 0 auto 25px;
    color: rgba(255, 255, 255, 0.72);
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.7;
}

.about-cta .isg-button {
    margin: 0;
}

@media screen and (max-width: 700px) {

    .about-hero {
        display: block;
        padding: 28px 22px;
        text-align: center;
    }

    .about-photo img {
        width: 165px;
        height: 165px;
        margin: 0 auto 25px;
    }

    .about-hero-content h2 {
        font-size: 32px;
    }

    .about-stats-grid,
    .about-profile-grid,
    .about-value-grid {
        grid-template-columns: 1fr;
    }

    .about-profile-item {
        text-align: left;
    }

    .about-value-card {
        min-height: auto;
        text-align: center;
    }

    .about-value-icon {
        margin-right: auto;
        margin-left: auto;
    }

    .about-philosophy {
        padding: 32px 22px;
    }

    .about-philosophy blockquote {
        font-size: 19px;
    }

    .about-cta {
        padding: 34px 22px;
    }
}


/* =========================================================
   RESUME PANEL
========================================================= */

.resume-panel-inner {
    background: #ffffff;
}

.resume-hero {
    margin-bottom: 65px;
    padding: 42px 36px;
    border-radius: 14px;
    background: #f7f5f7;
    text-align: center;
}

.resume-eyebrow,
.resume-section-heading span,
.resume-cta > span {
    display: block;
    margin-bottom: 9px;
    color: #4c2345;
    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2.5px;
}

.resume-hero h2 {
    margin: 0 0 15px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 39px;
    font-weight: 600;
}

.resume-hero-lead {
    max-width: 590px;
    margin: 0 auto 25px;
    color: #73767b;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.75;
}

.resume-hero-actions,
.resume-cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.resume-hero-actions .isg-button,
.resume-cta-actions .isg-button {
    margin: 0;
}

.resume-section {
    margin-bottom: 72px;
}

.resume-section-heading {
    margin-bottom: 30px;
}

.resume-section-heading h3 {
    margin: 0;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 29px;
    font-weight: 600;
}

.resume-section-intro {
    margin-bottom: 28px;
    color: #74777b;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    line-height: 1.8;
}


/* CURRENT ROLE */

.resume-current-role {
    display: flex;
    gap: 25px;
    padding: 32px;
    border-left: 5px solid #4c2345;
    border-radius: 12px;
    background: #f7f5f7;
}

.resume-current-icon {
    display: flex;
    width: 75px;
    height: 75px;
    flex: 0 0 75px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #4c2345;
}

.resume-current-icon i {
    color: #ffffff;
    font-size: 28px;
}

.resume-current-period,
.resume-period {
    display: inline-block;
    margin-bottom: 8px;
    color: #4c2345;
    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.resume-current-content h4 {
    margin: 0 0 6px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
}

.resume-current-location {
    margin-bottom: 14px;
    color: #94969a;
    font-size: 13px;
}


/* HIGHLIGHTS */

.resume-highlights-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 17px;
}

.resume-highlight-card {
    min-height: 150px;
    padding: 25px 18px;
    border: 1px solid #e6e3e6;
    border-radius: 10px;
    text-align: center;
}

.resume-highlight-card i {
    display: block;
    margin-bottom: 12px;
    color: #4c2345;
    font-size: 25px;
}

.resume-highlight-card strong {
    display: block;
    margin-bottom: 7px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 22px;
    font-weight: 600;
}

.resume-highlight-card span {
    color: #85888c;
    font-family: "Inter", sans-serif;
    font-size: 13px;
}


/* TIMELINE */

.resume-timeline-item {
    display: grid;
    grid-template-columns: 75px 1fr;
    gap: 20px;
    margin-bottom: 22px;
}

.resume-timeline-marker {
    position: relative;
    padding-top: 27px;
    text-align: center;
}

.resume-timeline-marker::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #4c2345;
    content: "";
    transform: translateX(-50%);
}

.resume-timeline-marker::after {
    position: absolute;
    top: 13px;
    bottom: -35px;
    left: 50%;
    width: 1px;
    background: #ded9dd;
    content: "";
}

.resume-timeline-item:last-child .resume-timeline-marker::after {
    display: none;
}

.resume-timeline-marker span {
    color: #4c2345;
    font-family: "Outfit", sans-serif;
    font-size: 13px;
    font-weight: 600;
}

.resume-timeline-content {
    padding: 27px;
    border: 1px solid #e6e3e6;
    border-radius: 10px;
    background: #ffffff;
}

.resume-role-header {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 15px;
}

.resume-role-header h4 {
    margin: 0 0 5px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 21px;
    font-weight: 600;
}

.resume-role-header p {
    margin: 0;
    color: #8b8e91;
    font-size: 13px;
}

.resume-timeline-content > p,
.resume-current-content > p {
    color: #74777b;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.8;
}

.resume-responsibilities {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.resume-responsibilities li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 22px;
    color: #74777b;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    line-height: 1.6;
}

.resume-responsibilities li::before {
    position: absolute;
    top: 7px;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4c2345;
    content: "";
}


/* EXPERTISE */

.resume-expertise-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 17px;
}

.resume-expertise-card {
    min-height: 230px;
    padding: 26px 23px;
    border: 1px solid #e6e3e6;
    border-radius: 10px;
}

.resume-expertise-icon {
    display: flex;
    width: 50px;
    height: 50px;
    margin-bottom: 18px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #4c2345;
}

.resume-expertise-icon i {
    color: #ffffff;
    font-size: 20px;
}

.resume-expertise-card h4 {
    margin: 0 0 17px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 18px;
    font-weight: 600;
}

.resume-tags,
.resume-soft-skills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.resume-tags span,
.resume-soft-skills span {
    padding: 8px 12px;
    border: 1px solid #ded9dd;
    border-radius: 22px;
    color: #4c2345;
    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 500;
}


/* EDUCATION */

.resume-education-card {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 22px;
    margin-bottom: 17px;
    padding: 25px;
    border: 1px solid #e6e3e6;
    border-radius: 10px;
}

.resume-education-year {
    color: #4c2345;
    font-family: "Outfit", sans-serif;
    font-size: 15px;
    font-weight: 600;
}

.resume-education-content h4 {
    margin: 0 0 5px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;
}

.resume-institution {
    margin-bottom: 13px;
    color: #929499;
    font-size: 13px;
}

.resume-education-content ul {
    margin: 0;
    padding-left: 18px;
}

.resume-education-content li {
    margin-bottom: 7px;
    color: #74777b;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    line-height: 1.55;
}


/* CERTIFICATIONS */

.resume-certification-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.resume-certification-card {
    display: flex;
    gap: 18px;
    align-items: center;
    padding: 23px;
    border-radius: 10px;
    background: #f7f5f7;
}

.resume-certification-card > i {
    width: 42px;
    color: #4c2345;
    font-size: 26px;
    text-align: center;
}

.resume-certification-card h4 {
    margin: 0 0 5px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
}

.resume-certification-card p {
    margin: 0;
    color: #8b8e91;
    font-size: 13px;
}


/* AWARDS */

.resume-awards-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.resume-award-card {
    display: flex;
    gap: 20px;
    padding: 25px;
    border: 1px solid #e6e3e6;
    border-radius: 10px;
}

.resume-award-icon {
    display: flex;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #4c2345;
}

.resume-award-icon i {
    color: #ffffff;
    font-size: 23px;
}

.resume-award-card span {
    display: block;
    margin-bottom: 5px;
    color: #4c2345;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.resume-award-card h4 {
    margin: 0 0 8px;
    color: #1f2041;
    font-family: "Outfit", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}

.resume-award-card p {
    margin: 0;
    color: #7d8085;
    font-size: 13px;
    line-height: 1.65;
}


/* CTA */

.resume-cta {
    padding: 42px 35px;
    border-radius: 12px;
    background: #4c2345;
    text-align: center;
}

.resume-cta > span {
    color: rgba(255, 255, 255, 0.65);
}

.resume-cta h3 {
    margin: 0 0 14px;
    color: #ffffff;
    font-family: "Outfit", sans-serif;
    font-size: 27px;
    font-weight: 600;
}

.resume-cta p {
    max-width: 560px;
    margin: 0 auto 25px;
    color: rgba(255, 255, 255, 0.72);
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.7;
}


/* RESPONSIVE */

@media screen and (max-width: 700px) {

    .resume-hero {
        padding: 34px 22px;
    }

    .resume-hero h2 {
        font-size: 33px;
    }

    .resume-current-role {
        display: block;
        padding: 28px 22px;
        text-align: center;
    }

    .resume-current-icon {
        margin: 0 auto 20px;
    }

    .resume-highlights-grid,
    .resume-expertise-grid {
        grid-template-columns: 1fr;
    }

    .resume-timeline-item {
        grid-template-columns: 1fr;
    }

    .resume-timeline-marker {
        display: none;
    }

    .resume-role-header {
        display: block;
    }

    .resume-period {
        margin-top: 8px;
    }

    .resume-education-card {
        grid-template-columns: 1fr;
    }

    .resume-expertise-card {
        min-height: auto;
        text-align: center;
    }

    .resume-expertise-icon {
        margin-right: auto;
        margin-left: auto;
    }

    .resume-tags,
    .resume-soft-skills {
        justify-content: center;
    }

    .resume-award-card {
        display: block;
        text-align: center;
    }

    .resume-award-icon {
        margin: 0 auto 18px;
    }

    .resume-cta {
        padding: 34px 22px;
    }
}

/* ==================================================
   PORTFOLIO SECTION
================================================== */

.portfolio-content {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 35px;
    box-sizing: border-box;
}

.portfolio-heading {
    max-width: 760px;
    margin-bottom: 45px;
}

.portfolio-label {
    display: inline-block;
    margin-bottom: 10px;
    color: #2e4057;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
}

.portfolio-heading h2 {
    margin: 0 0 15px;
    font-size: 42px;
    line-height: 1.15;
}

.portfolio-heading p {
    margin: 0;
    color: #666;
    font-size: 16px;
    line-height: 1.8;
}

/* Portfolio grid */

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
}

/* Portfolio card */

.portfolio-item {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e4e7eb;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(28, 40, 55, 0.08);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.portfolio-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(28, 40, 55, 0.14);
}

/* Portfolio image */

.portfolio-image {
    position: relative;
    width: 100%;
    height: 280px;
    overflow: hidden;
    background: #eef1f4;
}

.portfolio-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
}

.portfolio-item:hover .portfolio-image img {
    transform: scale(1.04);
}

/* Portfolio description */

.portfolio-details {
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr);
    gap: 15px;
    padding: 25px;
}

.portfolio-number {
    color: #a8afb7;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
}

.portfolio-details h3 {
    margin: 0 0 10px;
    color: #2e4057;
    font-size: 21px;
    line-height: 1.35;
}

.portfolio-details p {
    margin: 0;
    color: #666;
    font-size: 14px;
    line-height: 1.7;
}

/* Tags */

.portfolio-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.portfolio-tags span {
    display: inline-block;
    padding: 6px 10px;
    color: #2e4057;
    background: #edf1f5;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

/* Tablet */

@media only screen and (max-width: 991px) {
    .portfolio-content {
        padding: 50px 25px;
    }

    .portfolio-grid {
        grid-template-columns: 1fr;
    }

    .portfolio-image {
        height: auto;
        min-height: 250px;
    }

    .portfolio-image img {
        height: auto;
        min-height: 250px;
        object-fit: cover;
    }
}

/* Mobile */

@media only screen and (max-width: 600px) {
    .portfolio-content {
        padding: 40px 18px;
    }

    .portfolio-heading {
        margin-bottom: 30px;
    }

    .portfolio-heading h2 {
        font-size: 32px;
    }

    .portfolio-heading p {
        font-size: 14px;
    }

    .portfolio-grid {
        gap: 22px;
    }

    .portfolio-image {
        min-height: 190px;
    }

    .portfolio-image img {
        min-height: 190px;
    }

    .portfolio-details {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 10px;
        padding: 20px 16px;
    }

    .portfolio-details h3 {
        font-size: 18px;
    }
}

/* ===========================================
   AUSTRALIAN EXPERIENCE
=========================================== */

.resume-australia-grid{
    display:grid;
    gap:30px;
}

.resume-australia-card{
    display:flex;
    gap:24px;
    padding:28px;
    background:#fff;
    border:1px solid #ececec;
    border-radius:8px;
    box-shadow:0 8px 25px rgba(0,0,0,.05);
}

.resume-australia-icon{
    flex:0 0 70px;
    width:70px;
    height:70px;
    border-radius:50%;
    background:#4C2345;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
}

.resume-australia-content{
    flex:1;
}

.resume-australia-content p{
    margin-bottom:12px;
}

@media(max-width:768px){

    .resume-australia-card{
        flex-direction:column;
    }

    .resume-australia-icon{
        margin:auto;
    }

}

/* ==================================================
   CONTACT SECTION
   Single-column layout
================================================== */

/*
Do not add custom styles for:
.isg-panel-close
.isg-panel-up
.isg-panel-rotated-text
.isg-panel-inner
*/


/* ==================================================
   MAIN CONTENT
================================================== */

#contact .contact-content{
    position:relative;
    width:100%;
    max-width:900px;
    margin:0 auto;
    padding:0 40px;
    box-sizing:border-box;
}


/* ==================================================
   HERO
================================================== */

.contact-hero{
    max-width:820px;
    margin:0 auto;
    padding:70px 0 50px;
    text-align:center;
}

.contact-eyebrow{
    display:block;
    margin-bottom:14px;
    color:#2B6A73;
    font-size:13px;
    font-weight:700;
    letter-spacing:4px;
}

.contact-hero h2{
    margin:0 0 18px;
    color:#20203f;
    font-size:52px;
    line-height:1.15;
}

.contact-hero p{
    max-width:760px;
    margin:0 auto;
    color:#666;
    font-size:18px;
    line-height:1.9;
}


/* ==================================================
   COUNTRY CONTACT CARDS
================================================== */

.contact-country-card{
    display:flex;
    width:100%;
    min-width:0;
    flex-direction:column;
    margin-bottom:24px;
    padding:34px;
    background:#fff;
    border:1px solid #e8e8e8;
    border-radius:12px;
    box-shadow:0 12px 35px rgba(0,0,0,.07);
    box-sizing:border-box;
}

.contact-country-header{
    display:flex;
    align-items:center;
    gap:18px;
    min-width:0;
    margin-bottom:28px;
}

.contact-country-header > div:last-child{
    min-width:0;
}

.contact-country-icon{
    display:flex;
    flex:0 0 62px;
    width:62px;
    height:62px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#2B6A73;
    color:#fff;
    font-size:24px;
}

.contact-country-header span{
    display:block;
    margin-bottom:5px;
    color:#2B6A73;
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
}

.contact-country-header h3{
    margin:0;
    color:#20203f;
    font-size:24px;
    line-height:1.3;
}


/* ==================================================
   CONTACT DETAILS
================================================== */

.contact-detail-list{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    width:100%;
    margin-bottom:24px;
}

.contact-detail{
    display:flex;
    min-width:0;
    align-items:center;
    gap:16px;
    padding:17px 18px;
    background:#f8fafb;
    border:1px solid #edf0f1;
    border-radius:9px;
    box-sizing:border-box;
}

.contact-detail-icon{
    display:flex;
    flex:0 0 46px;
    width:46px;
    height:46px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eaf3f3;
    color:#2B6A73;
    font-size:18px;
}

.contact-detail > div:last-child{
    min-width:0;
}

.contact-detail span{
    display:block;
    margin-bottom:4px;
    color:#777;
    font-size:13px;
}

.contact-detail a{
    display:inline-block;
    color:#20203f;
    font-size:17px;
    font-weight:600;
    line-height:1.4;
    text-decoration:none;
    overflow-wrap:anywhere;
}

.contact-detail a:hover{
    color:#2B6A73;
}

.contact-country-description{
    margin:0 0 24px;
    color:#666;
    font-size:15px;
    line-height:1.75;
}


/* ==================================================
   WHATSAPP BUTTON
================================================== */

.contact-whatsapp-button{
    display:flex;
    width:100%;
    min-height:50px;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin-top:auto;
    padding:14px 18px;
    background:#2B6A73;
    border-radius:6px;
    box-sizing:border-box;
    color:#fff;
    font-size:15px;
    font-weight:600;
    line-height:1.3;
    text-align:center;
    text-decoration:none;
    transition:background .25s ease,
               transform .25s ease;
}

.contact-whatsapp-button:hover{
    background:#214f56;
    color:#fff;
    transform:translateY(-2px);
}


/* ==================================================
   EMAIL, WEBSITE AND LINKEDIN
================================================== */

.contact-links{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    width:100%;
    margin:34px 0 38px;
}

.contact-link-row{
    display:flex;
    width:100%;
    min-width:0;
    align-items:center;
    gap:18px;
    padding:19px 22px;
    background:#fff;
    border:1px solid #e8e8e8;
    border-radius:10px;
    box-sizing:border-box;
    color:#20203f;
    text-decoration:none;
    box-shadow:0 8px 25px rgba(0,0,0,.05);
    transition:transform .25s ease,
               box-shadow .25s ease;
}

.contact-link-row:hover{
    color:#20203f;
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(0,0,0,.09);
}

.contact-link-icon{
    display:flex;
    flex:0 0 50px;
    width:50px;
    height:50px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#2B6A73;
    color:#fff;
    font-size:20px;
}

.contact-link-content{
    min-width:0;
    flex:1;
}

.contact-link-row span{
    display:block;
    margin-bottom:4px;
    color:#777;
    font-size:12px;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.contact-link-row strong{
    display:block;
    color:#20203f;
    font-size:16px;
    line-height:1.5;
    overflow-wrap:anywhere;
}

.contact-link-arrow{
    flex:0 0 auto;
    color:#aaa;
    font-size:20px;
}


/* ==========================================
   QR SECTION
========================================== */

.contact-qr-section{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:40px 0 20px;
}

.contact-qr-card{
    width:360px;
    max-width:100%;
    padding:35px;
    text-align:center;
    background:#fff;
    border:1px solid #e8e8e8;
    border-radius:16px;
    box-shadow:0 18px 45px rgba(0,0,0,.08);
    transition:.3s;
}

.contact-qr-card:hover{
    transform:translateY(-5px);
    box-shadow:0 24px 55px rgba(0,0,0,.12);
}

.contact-qr-label{
    display:block;
    margin-bottom:12px;
    color:#2B6A73;
    font-size:12px;
    font-weight:700;
    letter-spacing:3px;
}

.contact-qr-card h3{
    margin:0 0 25px;
    color:#20203f;
    font-size:34px;
    line-height:1.3;
}

.contact-qr-image{
    width:220px;
    max-width:100%;
    height:auto;
    margin:0 auto 25px;
    display:block;
}

.contact-qr-card p{
    margin:0;
    color:#666;
    font-size:17px;
    line-height:1.8;
}

@media(max-width:768px){

    .contact-qr-card{
        width:100%;
        padding:28px;
    }

    .contact-qr-card h3{
        font-size:28px;
    }

    .contact-qr-image{
        width:180px;
    }

}


/* ==================================================
   ACTION BUTTONS
================================================== */

.contact-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    padding:45px 0 70px;
}


/* ==================================================
   TABLET
================================================== */

@media(max-width:900px){

    #contact .contact-content{
        max-width:760px;
        padding:0 30px;
    }

    .contact-workspace-image{
        height:450px;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media(max-width:650px){

    #contact .contact-content{
        padding:0 18px;
    }

    .contact-hero{
        padding:55px 0 40px;
    }

    .contact-hero h2{
        font-size:38px;
    }

    .contact-hero p{
        font-size:16px;
        line-height:1.75;
    }

    .contact-country-card{
        padding:24px;
    }

    .contact-country-header{
        align-items:flex-start;
        gap:15px;
    }

    .contact-country-header h3{
        font-size:21px;
    }

    .contact-detail{
        padding:15px;
    }

    .contact-detail a{
        font-size:15px;
    }

    .contact-link-row{
        gap:14px;
        padding:17px;
    }

    .contact-link-icon{
        flex-basis:46px;
        width:46px;
        height:46px;
        font-size:18px;
    }

    .contact-link-row strong{
        font-size:14px;
    }

  .contact-workspace-image{
    height:500px;
}

    .contact-qr-card{
        right:15px;
        bottom:15px;
        left:15px;
        width:auto;
        max-width:none;
        padding:20px;
    }

    .contact-qr-image{
        width:125px;
    }

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media(max-width:420px){

    #contact .contact-content{
        padding:0 12px;
    }

    .contact-country-card{
        padding:20px;
    }

    .contact-country-icon{
        flex-basis:52px;
        width:52px;
        height:52px;
        font-size:21px;
    }

    .contact-detail{
        gap:13px;
    }

    .contact-detail-icon{
        flex-basis:42px;
        width:42px;
        height:42px;
    }

    .contact-whatsapp-button{
        font-size:14px;
    }

    .contact-link-arrow{
        display:none;
    }

    .contact-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .contact-actions .isg-button{
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }

}

/*==========================
        GALLERY
==========================*/

.gallery-intro{
    max-width:900px;
    margin:0 auto 40px;
    text-align:center;
    color:#666;
    line-height:1.8;
    font-size:17px;
}

.gallery-filter{
    text-align:center;
    margin-bottom:40px;
}

.gallery-filter button{
    background:#fff;
    border:2px solid #20203f;
    color:#20203f;
    padding:10px 22px;
    margin:6px;
    border-radius:30px;
    cursor:pointer;
    transition:.3s;
    font-weight:600;
}

.gallery-filter button:hover,
.gallery-filter button.active{
    background:#2B6A73;
    border-color:#2B6A73;
    color:#fff;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:25px;
}

.gallery-item{
    position:relative;
    overflow:hidden;
    border-radius:15px;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
}

.gallery-item img{
    width:100%;
    display:block;
    transition:.5s;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

.gallery-caption{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:18px;
    background:linear-gradient(transparent,rgba(0,0,0,.8));
    color:#fff;
}

.gallery-caption h4{
    margin:0;
    font-size:18px;
}

@media(max-width:768px){

.gallery-grid{
    grid-template-columns:1fr;
}

.gallery-filter button{
    margin:4px;
    padding:9px 16px;
}

}

.gallery-item{
    transition:all .3s ease;
}

.home-image-box{
    position:relative;
    overflow:hidden;
    background:#1F2041;
}

.home-image-box::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(20,20,45,.75) 0%,
        rgba(20,20,45,.35) 40%,
        rgba(20,20,45,0) 75%
    );
}

.home-banner-image{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .6s ease;
}

.home-image-box:hover .home-banner-image{
    transform:scale(1.05);
}

.home-banner-overlay{
    position:absolute;
    left:50px;
    bottom:50px;
    max-width:500px;
    color:#fff;
    z-index:2;
}

.home-banner-overlay::before{
    content:"";
    position:absolute;
    inset:-30px;
    background:linear-gradient(
        90deg,
        rgba(31,32,65,.85),
        rgba(31,32,65,0)
    );
    z-index:-1;
}

.home-banner-overlay span{
    display:inline-block;
    color:#7fd0d5;
    letter-spacing:3px;
    font-size:12px;
    margin-bottom:15px;
}

.home-banner-overlay h2{
    font-size: 56px;
    line-height: 1.1;
}

.home-banner-overlay p{
    color:#eee;
    line-height:1.8;
    font-size:17px;
}