/*
Theme Name: Linkage Theme
Author: J.V.A
Description: 「」
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: bootstrap, LESS, bower, gulp
Text Domain: oracle

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

:root {
	--c_blu: #1c3362;
	--c_blu_2: #101d36;
	--c_ylw: #a48f4b;
	--c_ylw_2: #65582e;
}

@media (min-width: 1400px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		max-width: 1497px;
	}
}

body {
	font-family: 'Montserrat', sans-serif;
	width: 1920px;
	max-width: 100%;
	margin: auto;
}

a, a:hover, a:focus {
	transition: all .3s;
}

img {
	height: auto;
	max-width: 100%;
}

.btn {
	transition: all .3s;
}

.btn-custom {
	color: #ffffff;
	background-color: var(--c_ylw);
	font-weight: 600;
}

.btn-custom:hover, .btn-custom:focus {
	color: #ffffff;
	background-color: var(--c_ylw_2);
}

.s_title {
	font-size: 1rem;
	letter-spacing: .2rem;
}

#page-wrap {
	overflow: hidden;
}

#main_header {
	background-color: var(--c_blu);
}

#main_header .site_logo {
	display: table;
	margin: auto;
}

#main_header .site_logo:hover, #main_header .site_logo:focus {
	transform: scale(.95);
}

#main_header .header_nav {
	text-align: right;
	margin: 0;
	padding: 0;
	list-style: none;
}

#main_header .header_nav > li {
	display: inline-block;
	vertical-align: middle;
	margin-right: 4rem;
}

#main_header .header_nav > li > a {
	color: #ffffff;
	text-transform: uppercase;
	display: table;
}

#main_header .header_nav > li > a:hover, #main_header .header_nav > li > a:focus, #main_header .header_nav > li > a.active {
	color: var(--c_ylw);
}

#banner_section {
	background-color: #000000;
}

#banner_section .image {
	position: relative;
	background-size: cover;
	background-position: center;
}

#banner_section .image:after {
	content: '';
	padding-top: 54.28%;
	background-color: #000000;
	opacity: .7;
	width: 100%;
}

#banner_section .image .container {
	position: absolute;
	z-index: 1;
	left: 0;
	right: 0;
}

#banner_section .image h2 {
	text-align: center;
	color: #ffffff;
	font-size: 4rem;
	letter-spacing: 1rem;
	margin-bottom: 2rem;
}

#banner_section .image h2 span {
	display: block;
	font-size: 3rem;
}

#banner_section .image .excerpt {
	text-align: center;
	font-size: 20px;
	color: #ffffff;
	width: 909px;
	max-width: 100%;
	margin: auto;
	line-height: 2;
	margin-bottom: 3rem;
}

#banner_section .image .btn-custom {
	display: table;
	margin: auto;
}

#about_section {
	background-color: var(--c_blu);
	padding: 8rem 0;
	color: #ffffff;
}

#about_section .s_title {
	color: #ffffff;
}

#about_section .content {}

#about_section .content h5 {
	line-height: 1.5;
	margin-bottom: 1rem;
}

#about_section .content p {
	line-height: 2;
	margin-bottom: 1rem;
}

#features_section {
	background-size: cover;
	background-position: center;
	padding: 5rem 0;
}

#features_section .top {
	margin-bottom: 1rem;
}

#features_section .top .img_container {
	width: 80px;
	border: solid 2px var(--c_ylw);
	border-radius: 100%;
	overflow: hidden;
	padding: 1rem;
	margin-right: 1rem;
}

#features_section .top .img_container .fake_image {
	padding-top: 100%;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

#features_section .top .title {
	margin: 0;
	font-size: 1.3rem;
	color: #ffffff;
	font-weight: 600;
}

#features_section .excerpt {
	color: #ffffff;
	line-height: 2;
}

#gallery_section {
	background-color: var(--c_blu);
	padding: 7rem 0;
}

#gallery_section .s_title {
	color: #ffffff;
}

#gallery_section .sub_title {
	color: #ffffff;
}

#gallery_section .cat_list {
	text-align: center;
	padding: 0;
	margin: 0;
	list-style: none;
}

#gallery_section .cat_list > li {
	display: inline-block;
	vertical-align: middle;
	margin: 0 2rem;
}

#gallery_section .cat_list > li > a {
	display: table;
	padding: 10px 20px;
	border: solid 2px transparent;
	color: #ffffff;
	border-radius: 3px;
}

#gallery_section .cat_list > li > a.active {
	border-color: #ffffff;
	color: var(--c_ylw);
}

#gallery_section .img_container {
	overflow: hidden;
	position: relative;
	background-color: #ffffff;
	display: block;
	padding: 7px;
}

#gallery_section .img_container:hover, #gallery_section .img_container:focus {
	padding: 0;
}

#gallery_section .img_container .fake_image {
	padding-top: 81.14%;
	background-size: cover;
	background-position: center;
	transition: all .3s;
}

#gallery_section .img_container .overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(28, 51, 98, 0.77);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	opacity: 0;
	transition: all .3s;
}

#gallery_section .img_container:hover .overlay, #gallery_section .img_container:focus .overlay {
	opacity: 1;
}

#gallery_section .img_container .overlay .title {
	font-size: 1.6rem;
	margin: 0;
}

#strip {
	background-color: var(--c_ylw);
}

#strip h4 {
	margin-bottom: 0;
	color: #fff;
	letter-spacing: 5px;
	font-weight: 300;
}

#testimonials_section {
	padding: 7rem 0;
	background-image: url(images/test-bg.jpg);
	background-size: cover;
	background-position: center;
}

#testimonials_section .s_title {
	color: var(--c_ylw);
}

#testimonials_section .box .content {
	font-size: 25px;
	color: #ffffff;
	margin-bottom: 2rem;
}

#testimonials_section .box .img_container {
	width: 108px;
	overflow: hidden;
	border-radius: 100%;
	margin-right: 2rem;
}

#testimonials_section .box .img_container .fake_image {
	padding-top: 100%;
	background-size: cover;
	background-position: center;
}

#testimonials_section .box .name {
	font-size: 20px;
	font-weight: 600;
	color: #ffffff;
}

#blog_section {
	padding: 7rem 0;
	background-color: var(--c_blu);
}

#blog_section .s_title {
	color: var(--c_ylw);
}

#blog_section .img_container {
	display: block;
	background-color: #ffffff;
	padding: 10px;
	margin-bottom: 1rem;
	box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.5);
}

#blog_section .img_container:hover, #blog_section .img_container:focus {
	transform: scale(.96);
}

#blog_section .img_container .fake_image {
	padding-top: 100%;
	background-size: cover;
	background-position: center;
}

#footer .footer_top {
	padding: 7rem 0;
	background-color: var(--c_blu_2);
}

#footer .footer_top .s_title {
	color: var(--c_ylw);
	margin-bottom: 2rem;
}

#footer .footer_top .footer_excerpt {
	font-size: 14px;
	line-height: 2;
}

#footer .footer_top .contact_box {
	position: relative;
}

#footer .footer_top .gform_required_legend {
	display: none;
}

#footer .footer_top .gform_wrapper.gravity-theme .gfield input, #footer .footer_top .gform_wrapper.gravity-theme .gfield textarea {
	background-color: transparent;
	border-width: 0 0 1px;
	color: #fff;
}

#footer .footer_top .socials {
	padding: 0;
	margin: 0;
	list-style: none;
	position: absolute;
	bottom: 26px;
	right: 0;
}

#footer .footer_top .socials > li {
	display: inline-block;
	vertical-align: middle;
}

.socials > li:not(:last-child) {
	margin-right: .5rem;
}

#footer .footer_top .socials > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 35px;
	width: 35px;
	border: solid 3px rgba(255, 255, 255, 0.45);
	color: #ffffff;
	border-radius: 100%;
}

#footer .footer_top .socials > li > a:hover, #footer .footer_top .socials > li > a:focus {
	color: var(--c_ylw);
	border-color: var(--c_ylw);
}

#footer .footer_bot {
	background-color: var(--c_blu);
	padding: 1rem 0;
}

#footer .footer_bot .footer_logo {
	margin-left: auto;
}

#innerpage_banner {
	background-size: cover;
	background-position: center;
	position: relative;
	height: 350px;
}

#innerpage_banner::before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: #000;
	opacity: .5;
}

.archive-grid .img_container {
	display: block;
	background-color: #ffffff;
	padding: 10px;
	margin-bottom: 1rem;
	box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.5);
}

.archive-grid .img_container:hover, .archive-grid .img_container:focus {
	transform: scale(.96);
}

.archive-grid .img_container .fake_image {
	padding-top: 100%;
	background-size: cover;
	background-position: center;
}

.wp-pagination .pagination {
	padding: 0;
	list-style: none;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}