/*
	Theme Name: Phil Thompson
	Theme URI: http://philthompson.ca
	Description: Phil Thompson WordPress Theme
	Version: 1.0.0
	Author: Kevin Wallace

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    FONTS
\*------------------------------------*/

@font-face {
    font-family: 'Avenir Book';
    src: url('fonts/Avenir-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir Book';
    src: url('fonts/Avenir-BookOblique.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-HeavyOblique.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-Heavy.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-MediumOblique.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-Oblique.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-Roman.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size: 62.5%;
}
body {
	font: 400 18px/1.5 Avenir, sans-serif;
	color: #666;
}
body.show-nav {
	overflow: hidden;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#666;
	font-weight: 700;
	text-decoration:none;
	-moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a:hover {
	color:#222222;
	text-decoration:none;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}
hr {
	margin: 1rem 0;
	height: 1px;
	border-top: none !important;
	background-color: #707070;
}
.wp-block-spacer.inline-block {
	display: inline-block;
}


/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: Avenir, sans-serif;
	font-style: normal;
	font-weight: 700;
	color: #E6936C;
	margin-top: 0;
	margin-bottom: 1rem;
	line-height: 1.1;
}

h4 {
	margin-top: 4rem;
}

.reversed h1,
.reversed h2,
.reversed h3,
.reversed h4,
.reversed h5,
.reversed h6 {
  color: #FFF;
}

h1 { font-size: 60px; }
h2 { font-size: 32px; color: #048ABF; }
h3 { font-size: 28px; }
h4 { font-size: 24px; }
h5 { font-size: 22px; }
h6 { font-size: 18px; }

p {
	margin-bottom: 4rem;
}

.reversed p,
.reversed li,
.reversed a,
.reversed span {
	color: #FFF;
}

ul {
	padding-left: 2rem;
}

li {
	margin-bottom: 3rem;
}


/*------------------------------------*\
	BUTTONS
\*------------------------------------*/

.btn,
.nf-form-content button, 
.nf-form-content input[type=button], 
.nf-form-content input[type=submit] {
	font-family: proxima-nova, sans-serif;
  background-color: #048ABF !important;
  color: #FFF;
  font-weight: 700;
  line-height: 1;
  padding: 2rem 3rem !important;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 16px;
  height: auto !important;
  border-radius: 0;
  position: relative;
  display: inline-block;
  overflow: hidden;
  -moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.btn:hover,
.nf-form-content button:hover, 
.nf-form-content input[type=button]:hover, 
.nf-form-content input[type=submit]:hover {
  background-color: #0594CC !important;
  color: #FFF !important;
}

.btn.active, 
.btn:active,
.nf-form-content button.active, 
.nf-form-content input[type=button].active, 
.nf-form-content input[type=submit].active,
.nf-form-content button:active, 
.nf-form-content input[type=button]:active, 
.nf-form-content input[type=submit]:active {
	outline: none;
}



/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

.wrapper {
	width:100%;
	height: 100%;
	margin: 0 auto;
	position: relative;
	background-color: #FFF;
	overflow: hidden;
}

main {
	overflow: hidden;
}

section {
	padding: 10rem 0;
}

.container {
	position: relative;
}

.container-fluid {
	padding: 0 3rem;
}

.large-gutter {
  margin-right: -30px;
  margin-left: -30px;
}

.large-gutter > .col, 
.large-gutter > [class*="col-"] {
  padding-right: 30px;
  padding-left: 30px;
}

.small-gutter {
  margin-right: -10px;
  margin-left: -10px;
}

.small-gutter .col, 
.small-gutter [class*="col-"] {
  padding-right: 10px;
  padding-left: 10px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters .col,
.no-gutters [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.post-edit-link { display: none; }



/*------------------------------------*\
    HEADER
\*------------------------------------*/

header {
	position: relative;
	background-color: #F7F7F7;
	padding: 2.5rem 5rem;
	z-index: 10;
}

header .container {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

header h1 {
	color: #26303C;
	font-size: 44px;
	margin-bottom: 0;
}

header .btn {
	margin-left: 2rem;
}

header .mobile {
	display: none;
}

.navbar {
	padding: 0;
}

.navbar-brand {
	margin-right: 0;
}

.navbar-brand img {
	width: 20rem;
}

.navbar-nav ul {
	margin-bottom: 0;
}

.navbar-nav li {
  margin: 0;
  display: inline-block;
  list-style-type: none;
  line-height: 1;
  position: relative;
  transition: all 200ms linear;
}

.navbar-nav li:last-child {
  padding-right: 0;
}

.navbar-nav li a {
	font-family: Avenir, sans-serif;
	padding: 0.5rem 2rem;
	font-size: 17px;
	font-weight: 700;
	color: #666;
}

.navbar-nav li a:hover {
	color: #222222;
}

.navbar-toggler {
	border: none;
}

.navbar-toggler:active,
.navbar-toggler:focus {
	outline: none;
}

.navbar-light .navbar-toggler-icon {
	width: 24px;
	height: 17px;
	background-image: none;
	position: relative;
	border-bottom: 3px solid #000;
  transition: all 300ms linear;
}

.navbar-light .navbar-toggler-icon:after, 
.navbar-light .navbar-toggler-icon:before{
	width: 24px;
	position: absolute;
	height: 3px;
	background-color: #000;
	top: 0;
	left: 0;
	content: '';
	z-index: 2;
  transition: all 300ms linear;
}

.navbar-light .navbar-toggler-icon:after {
	top: 7px;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
	transform: rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before {
	transform: translateY(7px) rotate(-45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
	border-color: transparent;
}

.navbar-light .navbar-nav .nav-link {
	font-family: proxima-nova, sans-serif;
	position: relative;
	padding: 0.5rem 1.5rem;
	font-size: 16px;
	display: inline-block;
	font-weight: 400;	
	color: #444;
  transition: all 200ms linear;
}

.navbar-light .navbar-nav .active>.nav-link, 
.navbar-light .navbar-nav .nav-link.active, 
.navbar-light .navbar-nav .nav-link.show, 
.navbar-light .navbar-nav .show>.nav-link {
	color: #111;
}

.dropdown-toggle::after {
  display: none;
}

.navbar-light .dropdown-item.active, 
.navbar-light .dropdown-item,
.navbar-light .dropdown-item:focus {
	font-family: geom-graphic, sans-serif;
  color: #FFF;
  text-decoration: none;
  font-weight: 400;
}

.navbar-light .dropdown-item.active,
.navbar-light .dropdown-item:focus {
  color: rgba(255,255,255,.75);
}


@media all and (min-width: 1201px) {

	.navbar-light .navbar-nav .nav-item .dropdown-menu { 
		display: none; 
		border-radius: 0;
		border: none;
		padding: 0;
		background-color: #ef492b;
		box-shadow: 10px 10px 20px 0px rgba(0,0,0,0.15);
		-webkit-box-shadow: 10px 10px 20px 0px rgba(0,0,0,0.15);
		-moz-box-shadow: 10px 10px 20px 0px rgba(0,0,0,0.15);
	}
	
	.navbar-light .navbar-nav .nav-item:hover .dropdown-menu { 
		display: block; 
	}
	
	.navbar-light .navbar-nav .nav-item:hover .nav-link { 
		color: #ef492b;  
	}
	
	.navbar-light .dropdown-item.active, 
	.navbar-light .dropdown-item {
	  font-size: 16px;
	  padding: 1.5rem 3rem;
	}
	
	.navbar-light .dropdown-item:hover {
	  color: #FFF;
	  text-decoration: none;
	  background-color: #333;
	}
	
	.navbar-light .dropdown-item.active, 
	.navbar-light .dropdown-item:active,
	.navbar-light .dropdown-item:focus {
	  color: rgba(255,255,255,.75);
	  text-decoration: none;
	  background-color: #c53d24;
	  cursor: default;
	}

}


/*------------------------------------*\
    FEATURED SECTION
\*------------------------------------*/

section.featured {
	position: relative;
	background-color: #E6936C;
  padding: 12rem 0;
}

section.featured .highlight {
	position: absolute;
	bottom: 0;
	right: 0;
	height: 100%;
	width: 100%;
	background-color: #ED9972;
	clip-path: polygon(60% 0, 100% 0, 100% 100%, 40% 100%);
	z-index: 0;
}

section.featured .phil {
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
  background-image: url('img/photo_phil_hotels.png'); 
	background-size: auto 95%;
  background-position: calc(50% + 30rem) bottom;
  background-repeat: no-repeat;
	z-index: 1;
}

section.featured .container {
	z-index: 3;
}

section.featured h2 {
	font-size: 56px;
	font-weight: 600;
}


/*------------------------------------*\
    SUB FEATURED SECTION
\*------------------------------------*/

section.sub_featured {
	position: relative;
  padding: 4rem 0;
  border-bottom: 1px solid #BABABA;
  font-weight: 600;
  color: #26303C;
  text-align: center;
}

section.sub_featured .col-sm-3 {
	position: relative;
}

section.sub_featured .col-sm-3:after {
	content: "•";
	position: absolute;
	right: 0;
	top:0;
}

section.sub_featured .col-sm-3:last-child:after {
	content: "";
}


/*------------------------------------*\
    INTRO SECTION
\*------------------------------------*/

section.intro {
	position: relative;
	background-image: url('img/illustration_intro.svg'); 
	background-size: auto 80%;
  background-position: calc(50% + 55rem) center;
  background-repeat: no-repeat;
}


/*------------------------------------*\
    CLIENTS SECTION
\*------------------------------------*/

section.clients {
	position: relative;
	background-color: #023e73;
}

section.clients .highlight {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-color: rgb(4 178 217 / 20%);
	clip-path: polygon(0 0, 22% 0, 0 80%);
	z-index: 0;
}

section.clients .row {
	display: flex;
	align-items: center;
}

section.clients .row:first-child {
	margin-bottom: 5rem;
}

section.clients .row:not(:first-child) {
	margin-bottom: 0;
}

section.clients .col-lg-4 {
	position: relative;
}

section.clients .col-lg-4:after {
	content: "";
	position: absolute;
	height: 10rem;
	width: 1px;
	right: 0;
	top: -2rem;
	background-color: #DDD;
}

section.clients .heading {
	text-align: right;
	padding-right: 4rem;
}

section.clients h3 {
	font-size: 26px;
	color: #04c4d9;
}

section.clients .content {
	padding-left: 4rem;
}


/*------------------------------------*\
    INDUSTRIES SECTION
\*------------------------------------*/

section.industries {
	position: relative;
	background-image: url('img/illustration_industries.svg'); 
	background-size: auto 90%;
  background-position: calc(50% - 30rem) bottom;
  background-repeat: no-repeat;
}

section.industries p {
	margin-bottom: 0;
}


/*------------------------------------*\
    CONTACT SECTION
\*------------------------------------*/

section.contact {
	position: relative;
	background-color: #26303C;
}

section.contact .highlight {
	position: absolute;
	bottom: 0;
	right: 0;
	height: 100%;
	width: 100%;
	background-color: #2E3946;
	clip-path: polygon(70% 0, 100% 0, 100% 100%, 50% 100%);
	z-index: 0;
}

section.contact h2 {
	font-size: 50px;
	color: #E6936C;
}

section.contact ul {
	padding: 0;
}

section.contact li {
	padding-left: 5rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	list-style: none;
  background-repeat: no-repeat;
}

section.contact li:first-child { 
	background-size: 30px auto;
	background-image: url('img/icon_location.svg'); 
	background-position: left center;
}

section.contact li:nth-child(2) { 
	background-image: url('img/icon_email.svg'); 
	background-size: 20px auto;
	background-position: 4px center;
}

section.contact li:last-child { 
	background-image: url('img/icon_phone.svg'); 
	background-size: 15px auto;
	background-position: 6px center;
}

section.contact form {
	margin-top: 7rem;
}

.nf-form-content {
  padding: 0 !important;
  max-width: 800px !important;
}

.nf-form-fields-required {
	display: none;
}

.nf-field-container .nf-field-label {
	display: none;
}

#ninja_forms_required_items, .nf-field-container {
	margin-bottom: 15px !important; 
}

.nf-form-content .list-select-wrap .nf-field-element>div, 
.nf-form-content textarea,
.nf-form-content .list-select-wrap>div select,
.list-select-wrap select:active+div, 
.list-select-wrap select:focus+div {
	-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #F8F8F8 !important;
  background-position: 10px 10px;
  background-repeat: no-repeat;
  padding-left: 20px !important;
  color: #666;
  border: 1px solid #CCC !important;
  width: 100%;
  margin: 0;
  height: 60px !important;
  border-radius: 0;
}

.nf-form-content .list-select-wrap>div div:after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 20px;
  position: absolute;
  right: 20px;
  bottom: 0;
  height: 56px !important;
  line-height: 56px !important;
  color: #FFF !important;
}

.nf-field-element input,
.nf-form-content textarea.ninja-forms-field {
	padding: 15px 20px !important;
	border: 1px solid #CCC !important;
}

#ninja_forms_required_items, 
.nf-field-container {
  margin-bottom: 10px;
}

.nf-form-content .submit-wrap .nf-field-element {
	display: flex;
  justify-content: flex-end;
}

.nf-form-content button, 
.nf-form-content input[type=button], 
.nf-form-content input[type=submit] {
	-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #04c4d9 !important;
  border: none !important;
  color: white !important;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0;
  margin: 0;
  font-weight: 600;
  text-transform: none;
  height: auto !important;
  line-height: 1;
  -moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.nf-form-content button, .nf-form-content input[type=button]:hover, 
.nf-form-content input[type=submit]:hover {
  background-color: #04b2d9 !important;
  color: white !important;
}

.nf-error.field-wrap .nf-field-element:after {
  color: #fff !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 20px;
  content: "\f12a";
  position: absolute;
  background-color: #04c4d9 !important;
  top: 0 !important;
  right: 0 !important;
  height: 56px !important;
  width: 56px !important;
  line-height: 56px !important;
  text-align: center;
  transition: all .5s;
  z-index: 2;
}

.nf-pass.field-wrap .nf-field-element:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 24px;
  content: "\f058";
  position: absolute;
  right: 20px !important;
  height: 56px !important;
  line-height: 56px !important;
  transition: all .5s;
  z-index: 2;
}

.nf-form-content textarea.ninja-forms-field {
	border: 1px solid #CCC !important;
	height: 15rem !important;
}

.nf-error.listimage-wrap .nf-field-element ul, 
.nf-error .ninja-forms-field {
	border: 1px solid #04c4d9 !important;
}

.nf-error-msg {
	margin-left: 0;
	font-size: 12px;
	color: #04c4d9 !important;
}

.nf-error-msg.nf-error-field-errors {
	text-align: center;
  font-size: 16px;
  line-height: 1.5;
  padding: 0 1rem;
  color: #04c4d9 !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  border: none;
  -webkit-text-fill-color: #787878;
  -webkit-box-shadow: none;
  transition: background-color 5000s ease-in-out 0s;
  letter-spacing: 0;
}


/*------------------------------------*\
    TITLE SECTION
\*------------------------------------*/

section.title {
	position: relative;
	background-color: #048abf;
}

section.title .highlight {
	position: absolute;
	bottom: 0;
	right: 0;
	height: 100%;
	width: 100%;
	background-color: rgb(4 178 217 / 20%);
	clip-path: polygon(65% 0, 100% 0, 100% 100%, 50% 100%);
	z-index: 0;
}

section.title.fees .illustration {
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
  background-image: url('img/illustration_fees.svg'); 
	background-size: auto 80%;
  background-position: calc(50% + 30rem) center;
  background-repeat: no-repeat;
	z-index: 1;
}

section.title.articles .illustration,
section.title.single .illustration {
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
  background-image: url('img/illustration_articles.svg'); 
	background-size: auto 80%;
  background-position: calc(50% + 30rem) bottom;
  background-repeat: no-repeat;
	z-index: 1;
}

section.title .container {
	z-index: 3;
}

section.title h2 {
	font-size: 60px;
	font-weight: 600;
}

section.title.articles h1 {
	margin-bottom: 0;
}

section.title.single h1 {
	font-size: 44px;
	margin-bottom: 0;
}

section.title p {
	padding-right: 8rem;
}


/*------------------------------------*\
    INITIAL CONSULTATIONS SECTION
\*------------------------------------*/

section.initial_consultations {
	position: relative;
	background-color: #F0F0F0;
  padding: 6rem 0;
  text-align: center;
}

section.initial_consultations h3 {
	color: #04c4d9;
}

section.initial_consultations p {
	margin-bottom: 0.5rem;
}


/*------------------------------------*\
    SERVICES HEADINGS
\*------------------------------------*/

section.transaction_advisory h3,
section.hotel_transactions h3,
section.business_relationships h3,
section.commercial_real_estate h3 {
	color: #04b2d9;
	margin-top: 4rem;
}

section.business_relationships h4 {
	color: #04c4d9;
}

.wp-block-media-text {
	margin-top: 8rem;
}

.wp-block-media-text>.wp-block-media-text__content {
	padding: 0 0 0 10%;
}

.wp-block-media-text>.wp-block-media-text__content p {
  margin-bottom: 0;
}


/*------------------------------------*\
    TRANSACTION ADVISORY SECTION
\*------------------------------------*/

section.transaction_advisory ul {
	padding-left: 0;
}

section.transaction_advisory li {
	position: relative;
	padding-left: 15rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	background-size: 10rem auto;
	list-style: none;
  background-repeat: no-repeat;
  margin-bottom: 0;
}

section.transaction_advisory li:first-child { 
	background-image: url('img/icon_purchase.svg'); 
	background-position: left 1rem;
}

section.transaction_advisory li:last-child { 
	background-image: url('img/icon_sale.svg'); 
	background-position: left 1rem;
}

section.transaction_advisory li h4 {
	margin-top: 0;
	color: #04c4d9;
}


/*------------------------------------*\
    HOTEL TRANSACTIONS SECTION
\*------------------------------------*/

section.business_relationships,
section.commercial_real_estate {
	position: relative;
	background-color: #023e73;
}

section.hotel_transactions ul.hotels {
  columns: 3;
  -webkit-columns: 3;
  -moz-columns: 3;
  margin-bottom: 4rem;
}

section.hotel_transactions ul.hotels li {
	margin-bottom: 0.5rem;
	list-style-type: square;
}

section.hotel_transactions ul.purchase,
section.commercial_real_estate ul.purchase {
	padding-left: 0;
}

section.hotel_transactions ul.purchase li,
section.commercial_real_estate ul.purchase li {
	position: relative;
	padding-left: 15rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	list-style: none;
	background-size: 10rem auto;
	background-position: left 1rem;
  background-repeat: no-repeat;
  margin-bottom: 0;
}

section.hotel_transactions ul.purchase li:first-child,
section.commercial_real_estate ul.purchase li:first-child { background-image: url('img/icon_purchase.svg'); }
section.hotel_transactions ul.purchase li:nth-child(2),
section.commercial_real_estate ul.purchase li:nth-child(2),
section.transaction_advisory ul.purchase li:nth-child(2) { background-image: url('img/icon_sale.svg'); }
section.hotel_transactions ul.purchase li:nth-child(3),
section.commercial_real_estate ul.purchase li:nth-child(3),
section.transaction_advisory ul.purchase li:nth-child(4) { background-image: url('img/icon_financing.svg'); }
section.hotel_transactions ul.purchase li:nth-child(4),
section.commercial_real_estate ul.purchase li:nth-child(4) { background-image: url('img/icon_structure.svg'); }
section.hotel_transactions ul.purchase li:nth-child(5) { background-image: url('img/icon_approval.svg'); }
section.transaction_advisory ul.purchase li:nth-child(5) { background-image: url('img/icon_partner.svg'); }
section.transaction_advisory ul.purchase li:nth-child(3) { background-image: url('img/icon_lease.svg'); }

section.hotel_transactions ul.purchase li h4,
section.commercial_real_estate ul.purchase li h4 {
	margin-top: 0;
	color: #04c4d9;
}


/*------------------------------------*\
    BLOG
\*------------------------------------*/

section.blog .row {
	justify-content: center;
}

section.blog article {
	border: 1px solid #BABABA;
	margin-bottom: 5rem;
}

section.blog article img {
	width: 100%;
	height: 20rem;
	object-fit: cover;
	object-position: 50% 50%;
}

section.blog article .content {
	padding: 3rem;
}

section.blog article .content h2,
section.blog article .content h2 a {
	color: #023e73;
	font-size: 22px;
	margin-bottom: 1rem;
}

section.blog article .content p {
	font-size: 14px;
	margin-bottom: 0;
}

section.blog article .content a.readmore {
	display: inline-block;
	margin-top: 1rem;
	margin-bottom: 0;
}

section.blog article .details {
	/*border-top: 1px solid #BABABA;*/
	background-color: #04b2d9;
	padding: 1.5rem 3rem;
	font-size: 14px;
	display: flex;
	font-weight: 500;
	justify-content: space-between;
}

section.blog article .details .date,
section.blog article .details .category {
	color: white;
}

section.single-post #breadcrumbs {
	margin-bottom: 4rem;
}

section.single-post article img {
	width: 100%;
	max-height: 40rem;
	object-fit: cover;
	object-position: 50% 50%;
	margin-bottom: 3rem;
}

section.single-post article ul {
	margin-bottom: 3rem;
}

section.single-post article ul li {
	margin-bottom: 0.5rem;
}

section.single-post article ul li ul {
	margin-bottom: 0.5rem;
}

section.single-post article .category a {
	background-color: #04c4d9;
	font-size: 14px;
	padding: 0.5rem 1rem;
	color: #FFF;
}

section.single-post article table {
	margin-bottom: 3rem;
}

section.single-post article table thead td {
	background-color: #F0F0F0;
}

section.single-post article table td {
	border: 1px solid #BABABA;
	padding: 1rem 2rem;
}

section.single-post .previous-next .col-lg-6:first-of-type {
	border-right: 1px solid #cdcdcd;
}

.pagination {
	display: flex;
	justify-content: center;
}

.pagination .pages {
	margin-right: 2rem;
}

.pagination .current {
	background-color: #2E3946;
	color: #FFF;
}

.pagination .current,
.pagination a.page {
	padding: 0.5rem;
	display: inline-block;
	min-width: 2.5rem;
	text-align: center;
}

.pagination a.page {
	background-color: #EEE;
}

.pagination .nextpostslink {
	margin-left: 2rem;
}

.pagination .previouspostslink {
	margin-right: 2rem;
}


/*------------------------------------*\
    BLOG CATEGORIES SECTION
\*------------------------------------*/

section.categories {
	position: relative;
  padding: 4rem 0;
  border-bottom: 1px solid #BABABA;
  font-weight: 600;
  color: #26303C;
  text-align: center;
}

section.categories a {
	position: relative;
	padding: 0.5rem 1.5rem;
	display: inline-block;
	font-size: 18px;
	font-weight: 400;
}

section.categories a.current {
	font-weight: 700;
	text-decoration: underline;
}

section.categories a:after {
	content: "•";
	position: absolute;
	right: 0;
	top: 0.5rem;
}

section.categories a:last-child:after {
	content: "";
}


/*------------------------------------*\
    FOOTER
\*------------------------------------*/

footer {
	position: relative;
  background-color: #222222;
	padding: 12rem 0;
}

footer h3 {
	font-size: 32px;
}

footer .contactus a {
	color: #FFF;
}

footer ul {
	list-style: none;
	padding: 0;
	margin-left: 4rem;
}

footer ul li {
  margin-bottom: 1.5rem;
}

footer ul li a {
	font-weight: 400;
}

footer .copyright {
	font-size: 14px;
	margin-top: 2rem;
	margin-bottom: 0;
  line-height: 1.6;
  color: #FFF;
}

footer .copyright img,
.menu.mobile .copyright img {
	display: inline-block;
	vertical-align: middle;
}

footer span {
	display: inline-block;
}

footer .socials a {
	margin-left: 0.3rem;
	vertical-align: bottom;
}

.grecaptcha-badge {
	display: none;
}


/*------------------------------------*\
    ANIMATIONS
\*------------------------------------*/

.slideUp {
	transform: translateY(150px);
	animation: slideUp 1s ease forwards 0s;
}

.slideDown {
	transform: translateY(0px);
	animation: slideDown 1s ease forwards 0s;
}

.slideLeft {
	transform: translateX(400px);
	animation: slideLeft 1s ease forwards 0s;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
    display: block;
  }
  100% {
    opacity: 0;
    display: none;
  }
}

@keyframes slideLeft {
  0% {
    transform: translateX(400px);
  }
  100% {
    transform: translateX(0px);
  }
}

@keyframes slideUp {
  0% {
    transform: translateY(300px);
  }
  100% {
    transform: translateY(0px);
  }
}

@keyframes slideDown {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(300px);
  }
}

@keyframes reveal {
  0% {
    width: 100%;
  }
  100% {
    width: 0;
  }
}

@keyframes zoomOut {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes swooshAnimate {
  0% {
    width: 0px;
  }
  100% {
    width: 100px;
  }
}


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/


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

}


@media screen and (max-width: 1300px) {
  
  h1, h1 a,section.title.single h1 { font-size: 40px; }
  h2, h2 a { font-size: 32px; }
  h3, h3 a { font-size: 28px; }
  h4, h4 a { font-size: 24px; }
  h5, h5 a { font-size: 20px; }
  h6, h6 a { font-size: 16px; }

}


@media screen and (max-width: 1200px) { 
  
  header .btn {
	  position: absolute;
	  right: 8rem;
		top: -0.6rem;
  }
  
  .navbar-nav {
	  padding: 2rem 0 0;
  }
  
  .navbar-nav li {
	  text-align: right;
	  display: block;
  }
  
  .navbar-nav li a {
	  display: inline-block;
	  padding: 1rem;
	  font-size: 16px;
  }
  
  section.clients .col-lg-4:after {
		height: 11rem;
		top: -3rem;
  }
	
}


@media screen and (max-width: 1024px) {
	
	h1, h1 a, section.title.single h1 { font-size: 38px; }
  h2, h2 a { font-size: 30px; }
  h3, h3 a { font-size: 26px; }
  h4, h4 a { font-size: 22px; }
  h5, h5 a { font-size: 18px; }
  h6, h6 a { font-size: 14px; }
  
  body,
  li {
	  font-size: 16px;
  }
  
  .btn,
	.nf-form-content button, 
	.nf-form-content input[type=button], 
	.nf-form-content input[type=submit] {
		font-size: 15px !important;
	  padding: 1.5rem 2.5rem !important;
  }
  
  .large-gutter {
	  margin-right: -25px;
	  margin-left: -25px;
	}
	
	.large-gutter > .col, 
	.large-gutter > [class*="col-"] {
	  padding-right: 25px;
	  padding-left: 25px;
	}
	
	header .btn {
		top: 0;
	}
  
  section {
	  padding: 8rem 0;
  }
  
  section.featured {
	  padding: 10rem 0;
  }
  
  section.featured h2,
  section.title h2 {
	  font-size: 44px;
  }
  
  section.industries {
  	background-position: calc(50% - 25rem) bottom;
	}
	
	section.contact h2 {
	  font-size: 44px;
  }
  
  section.blog .category-title span {
	  font-size: 14px;
  }
  
  section.title.articles .illustration,
  section.title.single .illustration {
	  background-position: calc(50% + 25rem) bottom;
  }
  
  section.categories a {
		font-size: 14px;
  }

}


@media screen and (max-width: 991px) {
	
	h1, h1 a, section.title.single h1 { font-size: 34px; }
  h2, h2 a { font-size: 26px; }
  h3, h3 a { font-size: 24px; }
  h4, h4 a { font-size: 22px; }
  h5, h5 a { font-size: 20px; }
  h6, h6 a { font-size: 18px; }
  
  header {
	  padding: 2.5rem 4rem;
	}
	
	section.featured .highlight {
		clip-path: polygon(65% 0, 100% 0, 100% 100%, 35% 100%);
	}
	
	section.featured .phil {
	  background-position: calc(50% + 26rem) bottom;
	}
  
  section.sub_featured {
	  font-size: 14px;
  }
  
  section.intro {
	  padding-bottom: 25rem;
		background-size: 70% auto;
	  background-position: calc(50% + 2rem) bottom;
	}
	
	section.transaction_advisory li,
	section.hotel_transactions ul.purchase li,
	section.commercial_real_estate ul.purchase li {
		padding-left: 10rem;
		background-size: 7rem auto;
	}
  
  section.business_relationships h4 {
	  margin-top: 2rem;
  }
  
  .previous-next .col-lg-6:first-of-type {
	  border-right: none;
  }
	
	footer ul {
		margin-left: 2rem;
	}
	
	footer p,
	footer ul li {
		font-size: 14px;
	}

}


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

	h1, h1 a, section.title.single h1 { font-size: 28px; }
  h2, h2 a { font-size: 22px; }
  h3, h3 a { font-size: 20px; }
  h4, h4 a { font-size: 20px; }
  h5, h5 a { font-size: 16px; }
  h6, h6 a { font-size: 14px; }
  
  body,
  li {
	  font-size: 15px;
  }
  
  .navbar-brand h1 {
    font-size: 30px;
  }
  
  section {
	  padding: 6rem 0;
  }
  
  section.featured {
	  padding: 8rem 0;
  }
  
  .nf-form-content .list-select-wrap .nf-field-element>div, 
	.nf-form-content input:not([type=button]), 
	.nf-form-content textarea,
	.nf-form-content .list-select-wrap>div select,
	.list-select-wrap select:active+div, 
	.list-select-wrap select:focus+div {
	  height: 50px !important;
  }
  
  .nf-form-content .list-select-wrap>div div:after {
	  height: 50px !important;
	  line-height: 50px !important;
	}
	
	#ninja_forms_required_items, 
	.nf-field-container {
	  margin-bottom: 10px;
	}
	
	#ninja_forms_required_items, .nf-field-container {
		margin-bottom: 2rem !important;
	}
	
	.nf-form-content button, 
	.nf-form-content input[type=button], 
	.nf-form-content input[type=submit] {
	  height: auto !important;
	}
	
	.nf-error.field-wrap .nf-field-element:after {
	  height: 50px !important;
	  width: 50px !important;
	  line-height: 50px !important;
	}
	
	.nf-pass.field-wrap .nf-field-element:after {
		right: 16px !important;
	  height: 50px !important;
	  line-height: 50px !important;
	}
	
	section.blog article img {
		height: 20rem;
		margin-bottom: 2rem;
	}
	
	section.blog article .stretch img {
		height: 20rem;
    margin: 2rem calc(-50vw + 50%) 2rem;
  }
  
  section.blog article .wp-block-columns.wide {
    margin: 4rem calc(-40vw + 50%) 0rem;
  }
  
  section.blog .category-title {
    margin-top: 0rem;
  }
  
  section.blog .category-title span {
	  font-size: 12px;
  }
  
  section.blog .category-title hr {
    margin: 0 auto 4rem;
  }
	
	footer .copyright {
    font-size: 12px;
  }
  
  .wp-block-media-text>.wp-block-media-text__media {
	  align-self: flex-start;
  }
  
}


@media screen and (max-width: 575px) {  
	
	.container,
	.container-fluid.max-1360 {
    padding: 0 3rem;
  }
  
  header {
	  padding: 2.5rem 3rem;
	}
  
  header .btn {
	  display: none;
  }
  
  header .mobile {
    display: block;
    position: absolute;
    right: 6rem;
    width: 2.25rem;
    top: 13px;
  }
  
  .navbar-brand img {
    width: 16rem;
  }
  
  section.featured {
    padding: 8rem 0 10rem;
  }
  
  section.featured .highlight {
    clip-path: polygon(100% 40%, 100% 0, 100% 100%, 30% 100%);
  }
  
  section.featured .phil {
    background-position: calc(50% + 9rem) bottom;
    background-size: 50% auto;
  }
  
  section.featured h2,
  section.title h2 {
	  font-size: 36px;
  }
  
  section.featured p {
    padding-right: 0;
  }
  
  section.sub_featured .col-sm-3:after {
	  right: -5px;
  }
  
  section.sub_featured .content {
	  padding: 3px 0;
  }
  
  section.sub_featured .col-sm-3:after {
	  top: 3px;
  }
  
  section.sub_featured .col-sm-3:nth-child(2):after {
	  content: "";
  }
  
  section.intro {
    padding-bottom: 17rem;
    background-size: 100% auto;
  }
  
  section.clients .highlight {
    clip-path: polygon(0 0, 40% 0, 0 20%);
  }
  
  section.clients .row:first-child {
    margin-bottom: 3rem;
  }
  
  section.clients .col-lg-4:after {
	  display: none;
  }
  
  section.clients .content {
	  padding-left: 0;
	  margin-bottom: 4rem;
  }
  
  section.clients .heading {
    text-align: center;
    padding-right: 0;
  }
  
  section.clients .content p {
	  text-align: center;
	  font-size: 14px;
  }
  
  section.industries {
	  padding-bottom: 17rem;
	  background-position: center bottom;
	  background-size: 53% auto;
  }
  
  section.contact .highlight {
    clip-path: polygon(100% 30%, 100% 0, 100% 100%, 10% 100%);
  }
  
  section.contact form {
	  margin-top: 1rem;
  }
  
  section.contact li {
    padding-left: 4rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  
  section.title .highlight {
    clip-path: polygon(100% 40%, 100% 0, 100% 100%, 50% 100%);
  }
  
  section.title.fees .illustration {
    background-size: auto 36%;
    background-position: calc(50% + 14rem) bottom;
  }
  
  section.hotel_transactions ul.hotels {
	  columns: 1;
	  -webkit-columns: 1;
	  -moz-columns: 1;
  }
  
  section.transaction_advisory li,
	section.hotel_transactions ul.purchase li,
	section.commercial_real_estate ul.purchase li {
		padding-left: 7rem;
		background-size: 5rem auto;
	}
	
	section.title.articles .illustration,
	section.title.single .illustration {
    background-position: calc(50% + 20rem) bottom;
  }
	
	section.blog article .wp-block-columns.wide {
    max-width: 84vw;
    width: 84vw;
    margin: 4rem calc(-42vw + 50%) 0rem;
  }
  
  footer {
	  padding: 8rem 0;
	  text-align: center;
  }
  
  footer .navbar-brand {
	  margin-bottom: 3rem;
  }
  
  footer ul {
	  margin-left: 0;
  }
  
  footer ul.contact-info {
	  margin-top: 1rem;
	  margin-bottom: 3rem;
  }
  
  footer ul li {
	  margin-bottom: 0.5rem;
  }
  
  .wp-block-media-text {
    margin-top: 5rem;
  }
  
  .wp-block-media-text>.wp-block-media-text__content p {
	  margin-bottom: 0;
  }
	
}


/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#444;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#444;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#444;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.wp-block-image .alignright {
  margin: 0 0 1.5em 2.75em;
  max-width: 38%;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.wp-block-separator {
    border-top: 1px solid;
    border-bottom: none;
}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
