/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
	color: #444;
	font-weight: 500;
	line-height: 1.5;
	margin: 0 0 30px 0;
	font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif;
}

h4 {font-size: 16px;}

::selection {
    background: #093f7c;
    color: #FFF;
    text-shadow: none;
}
::-moz-selection {
	background: #093f7c; /* Firefox */
	color: #FFF;
	text-shadow: none;
}
::-webkit-selection {
	background: #093f7c; /* Safari */
	color: #FFF;
	text-shadow: none;
}

#logo img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    height: 100px;
    padding: 10px 0px;
}

#content p {line-height: 1.4;}
#footer .footer-widgets-wrap {
	position: relative;
	padding: 50px 0 30px 0;
}
#copyrights a:first-child { 
	margin-left: 0;
	color: #FFF;
 }

.menu-link {
	display: block;
	line-height: 22px;
	padding: 14px 15px;
	color: #444;
	font-weight: 500;
	font-size: 0.85rem;
	letter-spacing: 0px;
	text-transform: none;
	font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif;
}

.menu-item:hover > .menu-link,
.menu-item.current > .menu-link {
	color: #0334b1;
	font-weight: 600;
}

.fbox-content p {
    margin-top: 0.5rem;
    margin-bottom: 0px;
    color: #999;
}

body {
    line-height: 1.5;
    color: #333;
	font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif;
	font-size: 0.875rem;
	font-weight: 300;
	text-align: left;
}

.font-body { font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif; }
.font-primary { font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif; }
.font-secondary { font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif; }

.media-box {padding: 0 0 30px 0;}

.portfolio-desc h3 {
    margin: 0;
    padding: 0;
    font-size: 1.25rem;
}

.portfolio-desc span, .portfolio-desc span a {
    color: #333;
    padding: 10px 0 0 0;
}

.header-misc-element, .header-misc-icon {
    margin: 0 15px;
}
.slider-caption h2 {
    font-size: 3rem;
    letter-spacing: 0px;
    text-transform: none;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 0;
}

.heading-block h1 + span { font-size: 1.25rem; }
.heading-block h2 + span { font-size: 1.15rem; }
.heading-block h3 + span,
.heading-block h4 + span { font-size: 1rem; }
.heading-block::after {
	content: '';
	display: block;
	margin-top: 30px;
	width: 40px;
	border-top: 2px solid #D4D4D4;
}

.lead {
    font-size: 1rem;
    font-weight: 300;
}

.button {
	display: inline-block;
	position: relative;
	cursor: pointer;
	outline: none;
	white-space: nowrap;
	margin: 5px;
	padding: 8px 22px;
	font-size: 0.875rem;
	line-height: 24px;
	background-color: #5ca743;
	color: #FFF;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0px;
	border: none;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}

.button.button-rounded { border-radius: 3px!important; }
.button.button-circle { border-radius: 20px!important; }
.button-dirtygreen { background-color: #1693A5 !important; }
.button-orange { background-color: #F26D20 !important; }
.button-blue { background-color: #1265A8 !important; }

#copyrights {
    padding: 25px 0 30px 0;
    background-color: #093f7c;
    font-size: 0.8rem;
    line-height: 1.8;
    color: #DDD;
}

.copyright-links a {
    display: inline-block;
    margin: 0 3px;
    color: #EEE;
    border-bottom: 1px dotted #444;
	font-size: 0.8rem;
}

.entry-title h2,
.entry-title h3,
.entry-title h4 {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0px;
}

.entry-title h2 a, .entry-title h3 a, .entry-title h4 a {color: #093f7c;}

.post-grid .entry-title h2 {
    font-size: 1rem;
    letter-spacing: 0;
    font-weight: 500;
}

.entry-content {margin-top: 20px;}

.btn-outline-secondary {
    color: #093f7c;
    border-color: #093f7c;
}

.btn-outline-dark {
    color: #093f7c;
    border-color: #093f7c;
}

.entry-title h2 a:hover,
.entry-title h3 a:hover,
.entry-title h4 a:hover { color: #777; }

#gotoTop {
	display: none;
	z-index: 599;
	position: fixed;
	width: 40px;
	height: 40px;
	background-color: #093f7c;
	background-color: #093f7c49;
	font-size: 1.25rem;
	line-height: 36px;
	text-align: center;
	color: #FFF;
	top: auto;
	left: auto;
	right: 30px;
	bottom: 90px;
	cursor: pointer;
	border-radius: 20px;
}
.stretched #gotoTop { bottom: 30px; }
#gotoTop:hover { background-color: #093f7c; }

#page-title h1 {
    padding: 0;
    margin: 0;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0px;
    color: #333;
    font-size: 1.75rem;
    text-transform: none;
}

#footer {
    position: relative;
    background-color: #EEE;
    border-top: 0px solid rgba(0,0,0,0.2);
}

.title-bottom-border::before,
.title-bottom-border::after {display: none;}

.title-bottom-border h1,
.title-bottom-border h2,
.title-bottom-border h3,
.title-bottom-border h4,
.title-bottom-border h5,
.title-bottom-border h6 {
	width: 100%;
	padding: 0 0 0.75rem;
	border-bottom: 2px solid #EEE;
}

.owl-carousel .owl-dots .owl-dot {
	display: inline-block;
	zoom: 1;
	width: 8px;
	height: 8px;
	margin: 30px 4px 0 4px;
	opacity: 0.5;
	border-radius: 50%;
	background-color: #093f7c;
	-webkit-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}

.button.button-3d {
	border-radius: 3px;
	box-shadow: inset 0 -3px 0 rgba(0,0,0,0.15);
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.button.button-3d:hover {
	background-color: #999;
	opacity: 0.9;
}
.slider-caption p {
	margin-top: 15px;
	margin-bottom: 10px;
	font-size: 1.5rem;
	font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif;
}

h1 > span:not(.nocolor):not(.badge),
h2 > span:not(.nocolor):not(.badge),
h3 > span:not(.nocolor):not(.badge),
h4 > span:not(.nocolor):not(.badge),
h5 > span:not(.nocolor):not(.badge),
h6 > span:not(.nocolor):not(.badge) { color: #093f7c; }

.fbox-content h3 span.subtitle {
    display: block;
    margin-top: 5px;
    color: #444;
    font-weight: 300;
    text-transform: none;
}

.fbox-content h4 {
    font-size: 0.75rem;
    font-weight: 500;
    font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif;
    text-transform: none;
    margin-bottom: 0;
    color: #333;
}

.fbox-plain .fbox-icon i,
.fbox-plain .fbox-icon img {
	border: none;
	background-color: transparent !important;
	color: #0a91d2;
	border-radius: 0;
}

.fbox-outline .fbox-icon a {
    border: 1px solid #faa619;
    padding: 0.25rem;
    border-radius: 50%;
}

.fbox-icon i, .fbox-icon img {
    border-radius: 50%;
    background-color: #f37721;
}

.fbox-plain.fbox-sm .fbox-icon i {font-size: 1.5rem;}
.fbox-border.fbox-light .fbox-icon i, .fbox-border.fbox-light .fbox-icon img {color: #418839;}
.fbox-border.fbox-light .fbox-icon a {border-color: #418839;}

.sm-form-control {
	display: block;
	width: 100%;
	height: 38px;
	padding: 8px 14px;
	font-size: 15px;
	line-height: 1.42857143;
	color: #555555;
	background-color: #ffffff;
	background-image: none;
	border: 1px solid #DDD;
	border-radius: 5px !important;
	-webkit-transition: border-color ease-in-out .15s;
	-o-transition: border-color ease-in-out .15s;
	transition: border-color ease-in-out .15s;
}

.widget > h4 {
    margin-bottom: 25px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0px;
    text-transform: uppercase;
}

.fbox-content h3 {
    font-size: 1.25rem;
    font-weight: 500;
    font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif;
    text-transform: none;
    margin-bottom: 0;
    color: #333;
}

.fbox-content h4 {
    font-size: 1rem;
    font-weight: 400;
    font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif;
    text-transform: none;
    margin-bottom: 0;
    color: #333;
}

.fbox-content p {
    margin-top: 0.5rem;
    margin-bottom: 0px;
    color: #333;
}

.heading-block h1,
.heading-block h2,
.heading-block h3,
.heading-block h4,
.emphasis-title h1,
.emphasis-title h2 {
	margin-bottom: 0;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0px;
	color: #333;
}

.team-title h4 {
    display: block;
    margin-bottom: 0;
    font-size: 1.25rem;
    text-transform: none;
    letter-spacing: 0px;
    font-weight: 500;
}

.i-rounded:hover,
.i-circled:hover {
	background-color: #093f7c;
	color: #FFF;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	box-shadow: 0 0 0 rgba(0,0,0,0.2);
}
.promo h3 {
	font-weight: 500;
	margin-bottom: 0;
}

.portfolio-desc h3 a:hover {color: #093f7c;}

blockquote {
	padding: 10px 20px;
	margin: 0 0 20px;
	font-size: 1rem;
	border-left: 5px solid #EEE;
	font-style: italic;
}

.icon-color {background-color: #093f7c;}
.i-small.i-rounded, .i-small.i-circled, .i-small.i-bordered {
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
    color: #EEE;
}
.i-rounded, .i-plain, .i-circled, .i-bordered, .social-icon {
    display: block;
    float: left;
    margin: 4px 11px 7px 0;
    text-align: center !important;
    font-size: 28px;
    color: #FFF;
    text-shadow: 1px 1px 1px rgba(0,0,0,0);
    cursor: pointer;
    font-style: normal;
}

.heading-block h1, .heading-block h2, .heading-block h3, .heading-block h4, .emphasis-title h1, .emphasis-title h2 {
    margin-bottom: 0;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0px;
    color: #093f7c;
}

.portfolio-desc h3 a:hover {color: #093f7c;}

a {
    text-decoration: none !important;
    color: #093f7c;
}

.grid-filter-wrap {
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
}

.grid-filter li a:hover { color: #555; }

.grid-filter li.activeFilter a {
	color: #FFF;
	background-color: #093f7c;
	margin: 0;
	font-weight: 500;
}

.team-title span {
    display: block;
    color: #093f7c;
    font-weight: 300;
    font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif;
    font-style: italic;
    font-size: 0.85rem;
    margin-top: 0px;
}
.team-list .team-title {padding-top: 15px;}
.team-content {
    margin-top: 1rem;
    color: #333;
}

.portfolio-desc h3 a {color: #093f7c;}
.portfolio-item .portfolio-image,
.portfolio-item .portfolio-image > a,
.portfolio-item .portfolio-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 5px;
}
.clients-grid .grid-item a {opacity: 1;}
.clients-grid .grid-item a:hover {opacity: 0.6;}

.widget p {
	line-height: 1.6;
	font-size: 0.75rem;
}

abbr[title], abbr[data-original-title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    border-bottom: 0;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
    font-size: 0.75rem;
}

.before-heading {
    display: block;
    margin: 0 0 5px;
    font-size: 1rem;
    font-family: 'Montserrat', 'IBM Plex Sans Thai', sans-serif;
    font-style: italic;
    font-weight: 400;
    color: #999;
}

.color {color: #093f7c !important;}
.text-light {color: #EEE !important;}
.text-dark {color: #333 !important;}
.counter.counter-lined + h5::before {
    display: block;
    position: relative;
    margin: 10px auto 15px auto;
    content: '';
    width: 15%;
    border-top: 2px solid #444;
    opacity: 0.9;
}

.breadcrumb {
    position: absolute !important;
    width: auto !important;
    top: 50% !important;
    left: auto !important;
    right: 15px !important;
    margin: 0 !important;
    background-color: transparent !important;
    padding: 0 !important;
    font-size: 80%;
    transform: translateY(-50%);
}

/* dark */
.dark .i-rounded,
.dark .i-circled {
	background-color: #EEE; 
	color: #093f7c !important;
}
.dark .i-rounded:hover, .dark .i-circled:hover {
    background-color: #fec901;
    color: #093f7c;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
    box-shadow: 0 0 0 rgba(0,0,0,0.2);
}
.dark .section, .section.dark {
    background-color: #093f7c;
    border-color: rgba(255,255,255,0);
}
.dark #footer, #footer.dark {
    color: rgba(255,255,255,0.75);
    background-color: #093f7c;
    border-top-color: rgba(255,255,255,0.15);
}
.dark #copyrights, #copyrights.dark {
    color: #EEE;
    background-color: #111;
}
.dark .team-content {color: #CCC;}