/*!
Theme Name: John B. Jackson
Theme URI: https://candcdigital.co
Author: candcdigital.co
Author URI: https://candcdigital.co
Description: Custom template for John B. Jackson
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: jackson
Tags
*/


@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

html,
body {
    font-weight: normal;
    font-size: 16px;
    color: #CCCCCC;  
    background-color: #fff;
    font-family:var(--primary-font);
}

a {
    color: #13161A;
    text-decoration: none;
}
a:hover {
    text-decoration: none;
    color: var(--primary-color);
}

h1, h2{
    font-family: "Playfair Display", serif;
}

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

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

input:focus,
button:focus {
    box-shadow: none;
    outline: none;
}

:root {
    --primary-color: #CA8646;
   --primary-font: 'Inter', serif;
}

.btn, input[type="submit"] {
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    border-radius:0;
    padding-left: 30px;
    padding-right: 30px;
    line-height: 40px;
    text-transform: uppercase;
    background-color: var(--primary-color);
    border: 2px solid var(--primary-color);
}

input[type="submit"] {
	color:#fff !important;
}

input[type="submit"]:hover {
    color:#1A243F !important;
	background:#fff !important;
    border: 2px solid var(--primary-color) !important;
}


.btn.btn-black {
    border-color: #1A243F;
    background-color: #1A243F;
}

.btn:hover {
    color: var(--primary-color);
    background-color: #fff;
    border-color: var(--primary-color);
}

.title {
    margin-bottom: 40px;
    max-width: 800px;
    color: #444444;
    font-weight: 300;
}

.title h2 {
    font-size: 40px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #1A243F;
}

.title p strong {
    font-weight: bold;
    color: var(--primary-color);
    text-transform: uppercase;
}

.title-center {
    text-align: center;
}

.title-center .title {
    max-width: 600px;
    display: inline-block;
}

.bg-color {
    background-color: #F1F4F6;
    border-top: 1px solid #C4C4C4;
    border-bottom: 1px solid #C4C4C4;
}

section {
    padding:100px 0;
}

input, 
select, 
textarea {
    color: #040404 !important;
    height: 55px;
    width: 100%;
    font-size: 16px;
    padding: 6px 20px;
    border-radius: 0;
    border: 1px solid #C4C4C4;
    margin-bottom:10px;
	margin-top:10px;
    background-color:#EDEDED;
}

.main-menu, .main-logo {
   box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
}

textarea {
    resize: none;
}

input[type="radio"],
input[type="checkbox"] {
    width: inherit;
    height: initial;
}

input:focus, 
textarea:focus, 
select:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color:  var(--primary-color) !important;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
select::-webkit-input-placeholder {
    color: #444444;    
}

input::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder {
    color: #444444;    
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
    color: #444444;    
}

input:-moz-placeholder,
textarea:-moz-placeholder,
select:-moz-placeholder {
    color: #444444;    
}

.rating-star ul {
    display: flex;
    color: #CA8646;
    margin-bottom: 10px;
    justify-content: center;
}

.rating-star ul li {
    font-size: 30px;
    margin-right: 5px;
}

.rating-star ul li:last-child {
    margin-right: 0;
}


/*header*/

.header {
    position: relative;
    z-index: 9999999 !important;
    background-color: #fff;
    overflow: hidden;
}

.main-logo {
    padding: 15px;
    text-align: center;
    background-color: #CA8646;
	position:relative;
	z-index:3;
}

.topbar {
    padding:15px 0px;
	padding-right:30px;
    color: #fff;
    margin-left:0px;
    background-color: #1A243F;
	position:relative;
	z-index:2;
	padding-left:30px;
}

.topbar p strong {
    color: var(--primary-color);
    text-transform: uppercase;
}

.header .buttons {
    min-width: 442px;
    font-weight: bold;
    font-size: 16px;
}

.header .buttons .btn {
    margin-right: 15px;
    margin-bottom: 2px;
    margin-top: 2px;
}

.header .buttons .btn:last-child {
    margin-right: 0;
}

.main-menu {
    background-color: #fff;
}

.menu-content {
    padding: 18px 0;
    padding-left: 40px;
    padding-right: 70px;
}

.is-sticky .header {
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
}

.is-sticky .header .topbar {
    display: none;
}

.is-sticky .menu-content {
    padding-top: 15px;
    padding-bottom: 15px;
}

.is-sticky .main-logo img{
    max-width: 60px;
}

.header .nav ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-direction: initial;
}

.nav ul li {
    color: #1A243F;
    font-weight: 700;
    font-size: 16px;
    position: relative;
    margin-right: 30px;
    text-transform: uppercase;
}

.nav ul li:last-child {
    margin-right: 0;
}

.nav ul li a {
    padding:0;
    color: #1A243F;
    display: block;
    font-weight: 700;
	
}

.nav ul li a:hover, 
.nav ul li.active>a {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
}

.navbar-toggler {
    padding: 0;
    height: initial;
    line-height: initial;
}

.navbar-toggler-icon {
    width: initial;
    height: initial;
    color: #0A0A0A;
    border-radius: 4px;
    padding: 4px 8px;
    border: 1px solid #0A0A0A;
}

.navbar-toggler-icon:hover {
    color: var(--primary-color);
    border-color:var(--primary-color);
}

.navbar-toggle {
    background: 0 0!important;
    border: none!important;
    float: left!important;
    cursor: pointer;
    padding-left: 0!important;
}

.navbar-toggle .icon-bar {
    display: block;
    width: 25px;
    height: 2px;
    border-radius: 1px;
    background:#151515 !important;
    margin-bottom: 4px!important;
}

.m-phone a {
  width: 30px;
  min-width: 30px;
  height: 30px;
  line-height: 30px;
  color: #fff;
  display: block;
  float: right;
  text-align: center;
  border-radius: 100%;
  background-color: var(--primary-color);
}

/*hero-section*/

.hero-section {
    padding: 150px 0;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #000;
}

.hero-section:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 70%);
}

.hero-text {
    font-size: 18px;
    max-width:600px;
}

.hero-text h1 {
    color: #fff;    
    font-size: 60px;
    font-weight: 700;
    margin-bottom: 30px;
}

.hero-text ul {
    margin-top: 30px;
}

.hero-text ul li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 15px;
}

.hero-text ul li:before {
    position: absolute;
    content: "\f058";
    top: 0;
    left: 0;
    color: #fff;
    font-family: "fontawesome";
}

.hero-text ul li strong {
    font-weight: bold;
    color: var(--primary-color);  
}

.hero-form {
    max-width: 550px;
	width:100%;
    text-align: center;
    background-color: #1A243F;
    padding: 30px;
    -webkit-box-shadow: 0 0 24px rgb(0 0 0 / 8%);
    -moz-box-shadow: 0 0 24px rgb(0 0 0 / 8%);
    -ms-box-shadow: 0 0 24px rgb(0 0 0 / 8%);
    -o-box-shadow: 0 0 24px rgb(0 0 0 / 8%);
    box-shadow: 0 0 24px rgb(0 0 0 / 8%);
}

.hero-form ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;    
}

.hero-form ul li {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;    
}

.hero-form ul li:nth-child(2),
.hero-form ul li:nth-child(3) {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;    
}


.hero-form h2 {
    font-size: 40px;
    font-weight: bold;
    color: #fff;
    text-transform: uppercase;
}

.hero-form form {
    margin-top: 20px;
}

.hero-form textarea {
    height: 120px;
    padding-top: 15px;
}

.hero-form .btn {
    width: 100%;
}

.low-month-content {
    padding: 50px 20px;
    text-align: center;
    position: relative;
    margin: 30px 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;    
}

.low-month-content .title {
    max-width: 100%;
    color: #fff;
}

.low-month-content h2 {
    margin: 20px 0;
    color: var(--primary-color);
}

/*about-section*/

.ab-thumb {
    position: relative;
    margin-bottom: 30px;
}

.ab-thumb .text {
    position: absolute;
    left: 0;
    bottom: 0;
    color: #fff;
    padding: 20px 30px;
    font-size: 20px;
    font-weight: 600;
    background-color: #1A243F;
}

.ab-thumb .text h4 {
    font-size: 60px;
    font-weight: bold;
}

.about-text {
    color: #766F6B;
}

.about-text h3 {
    font-size: 18px;
    font-weight: bold;
    color: #1A243F;
    text-transform: uppercase;
}

.about-text .btn {
    margin-top: 20px;
}

/* choose-section */

.choose-section {
    color: #CCC;
    background-color: #1A243F;
}

.choose-section .title {
    color: #EDEDED;
}

.choose-section .title h2 {
    color: #fff;
}

.choose-list ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;     
}

.choose-list ul li {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;    
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;  
    border-right: 1px solid #3A4A78;  
    border-top: 1px solid #3A4A78;  
}

.choose-list ul li:nth-child(1),
.choose-list ul li:nth-child(2),
.choose-list ul li:nth-child(3) {
    border-top: 0;
}

.choose-list ul li:nth-child(3n) {
    border-right: 0;
}

.choose {
    padding:30px 15px;
}

.choose h3 {
    font-size: 28px;
    color: #fff;
    margin-top: 20px;
    margin-bottom: 20px;
    font-family: "Playfair Display", serif;
}
.choose-section .btn {
    margin-top: 50px;
}

/*works-section*/

.works-section .ab-thumb .text {
    left: initial;
    right: 0;
}

.work-list ul {
  counter-reset: list;
  list-style: none;      
}

.work-list ul li {
    display: flex;
    color: #766F6B;
    position: relative;
    counter-increment: list;
    margin-bottom: 30px;
}

.work-list ul li h3 {
    font-size: 18px;
    font-weight: bold;
    color: #1A243F;
    text-transform: uppercase;    
}

.work-list ul li .thumb {
    min-width: 150px;
    margin-right: 20px;
}

.work-list ul li .text {
    align-self: center;
}

.work-list p:last-child {
    margin-bottom: 0;
}

.work-list ul li:before {
    content: counter(list);
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    position: absolute;
    left: -15px;
    top: -15px;    
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    border-radius: 100%;
    background-color: var(--primary-color);
}

/*testimonial-section*/

.testimonial-section {
    background-color: #000;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.testimonial-slider {
    max-width: 900px;
    width: 100%;
    display: inline-block;
}

.testimonial-slider:before, 
.testimonial-slider:after {
    position: absolute;
    content: "";   
    width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    background-size: contain;     
}

.contact-section input[type="submit"] {
border-color: #1A243F;
background-color: #1A243F;
}


.testimonial-slider:before {
    top: -20px;
    left: -70px;    
    background-image: url(images/others/i1.png);    
}

.testimonial-slider:after {
    right: -70px;
    bottom: 0;
    background-image: url(images/others/i2.png);
}

.testimonial-section .title {
    margin-bottom: 0;
}

.testimonial-section .title h2 {
    color: #fff;
}

.testimonial p strong {
    text-transform: capitalize;
    font-weight: normal;
}

.rating-star {}

.testimonial {
    text-align: center;
}

.testimonial h3 {
    color: #CCC;
    margin-top: 20px;
    font-size: 32px;
    font-style: italic;
    font-family: "Playfair Display", serif;
}

.author {
    margin-top: 30px;
}

.author img {
    display: inline-block;
}

/*faq-section*/


.accordion .card {
    padding:15px 20px;
    margin-bottom: 20px;
    border: 0 !important;
    border-radius: 0 !important;
    margin-bottom: 20px;
    color: #fff;
    background-color: #1A243F;    
}

.accordion .card-header {
    border: 0;
    margin: 0;
    padding: 0;
    background-color: transparent;
}

.accordion .card-header button {
    width: 100%;
    border: 0;
    color: var(--primary-color);
    text-align: left;
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
    background-color: transparent;
    position: relative;
    padding-right: 30px;
    padding: 0;
    padding-right: 30px;
}

.card-body {
    padding:15px 0 0;
}

.accordion .card-header button:after {
    position: absolute;
    top: -2px;
    right: 0;
    content: "\f106";
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    color: var(--primary-color);
    font-family: "fontawesome";
}

.accordion .card-header button[aria-expanded="true"]:after {
    content: "\f106";
}

.accordion .card-header button[aria-expanded="false"]:after {
    content: "\f078";
}


.contact-section {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #1A243F;
}

.contact-section .hero-form {
    background-color: var(--primary-color);
}

.contact-text,
.contact-text .title {
    color: #CCCCCC;    
}

.contact-section .title h2 {
    color: #fff;
}

.contact-text ul {
    margin-top: 30px;
}

.contact-text ul li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 15px;
}

.contact-text ul li:before {
    position: absolute;
    content: "\f058";
    top: 0;
    left: 0;
    color: #fff;
    font-family: "fontawesome";
}

.contact-text ul li strong {
    font-weight: bold;
    color: var(--primary-color);  
}

.footer-section {
    padding: 15px 30px;
    background-color: var(--primary-color);
}

.footer-menu ul  {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;    
}

.footer-menu ul li {
    margin-right: 15px;
    font-size: 15px;
    font-weight: bold;
    text-transform: uppercase;
}

.footer-menu ul li a{
    color: #fff;
}

.footer-menu ul li a:hover{
    color: #000;
}

.footer-menu ul li:last-child {
    margin-right: 0;
}

.footer-section .btn {
    margin-top: 2px;
    margin-bottom: 2px;
}

a, button {
    -webkit-transition: all 500ms;
    -moz-transition: all 500ms;
    -ms-transition: all 500ms;
    -o-transition: all 500ms;
    transition: all 500ms;
}



/* md */
@media (min-width: 1400px){

	.container	{
		max-width:1320px;
	}
}

/* md */
@media (min-width: 1200px) and (max-width: 1590px) {

	.topbar {
		font-size: 14px;
	}
	.header .buttons .btn {
		padding-left: 15px;
		padding-right: 15px;
		font-size:15px;
		margin-right: 0;
	}
	.header .buttons {
		min-width:360px;
	}
	.menu-content {
		/*padding: 13px 0;
		padding-left: 0;*/
		padding-right: 15px;
	}
	.nav ul li {
		font-size: 14px;
        margin-right: 7px;
	}
	.footer-menu ul li {
		font-size: 14px;
	}
}
.topbar p { margin-bottom:0;}
/* md */
@media (min-width: 992px) and (max-width: 1199px) {

	.topbar {
		padding-left: 20px;
		padding-right: 20px;
		font-size: 14px;
	}
	.header .buttons .btn, 
	.footer-section .btn {
		padding-left: 15px;
		padding-right: 15px;
		font-size: 12px;
		margin-right: 0;
		line-height: 30px;
	}
	.header .buttons {
		min-width: 295px;
	}
	.menu-content {
		padding: 8px 0;
		padding-left:20px;
		padding-right: 15px;
	}
	.nav ul li {
		font-size: 14px;
		margin-right:10px;
	}
	.footer-menu ul li {
		font-size: 14px;
	}
	.hero-text h1 {
		font-size: 50px;
	}
	.hero-form h2, 
	.title h2 {
		font-size: 36px;
	}
	.choose h3 {
		font-size: 24px;
	}
	
}

/* md */
@media (max-width: 991px) {
.hero-form { margin-left:auto; margin-right:auto;}
	.topbar {
		display: none;
	}
	.header .buttons .btn, 
	.footer-section .btn {
		padding-left: 15px;
		padding-right: 15px;
		font-size: 12px;
		margin-right: 0;
		line-height: 30px;
	}
	.header .buttons {
		min-width: 295px;
	}
	.menu-content {
		padding: 8px 0;
		padding-left: 0;
		padding-right: 15px;
	}
	.nav ul li {
		font-size: 14px;
		margin-right:10px;
	}
	.main-logo img, 
	.is-sticky .main-logo img {

	}		
	.menu-content,
	.is-sticky .menu-content {
		padding-top: 15px;
	}
	.choose h3 {
		font-size: 22px;
	}
}

/* sm */
@media (min-width: 768px) and (max-width:1199px) {
		 .main-logo img {
  max-width: 60px;
  margin-left:-5px;
}
.main-menu {
	padding-top:5px;
	padding-bottom:5px;
}
.topbar p { font-size:13px;}
}

@media (min-width: 768px) and (max-width:991px) {
.navbar-nav { padding-left:50px;}
.main-menu {
	padding-top:20px;
	padding-bottom:19px;
}
}

/* sm */
@media (max-width: 767px) {
	.header {overflow:visible !important;}
.col-md-1.col-xl-2.pr-0 .sticky-wrapper {
	display:none !important;
}
	.main-logo, 
	.header .buttons {
		display: none;
	}
	.menu-content, 
	.is-sticky .menu-content {
		padding: 0 15px;
	}
	.m-center {
		text-align: center;
	}
	.menu-content .logo {
		text-align: center;
		padding:10px 15px;
		display: inline-block;
		background-color: var(--primary-color);
	}
	.menu-content .logo img {
		max-width: 60px;
	}
	.header .nav ul {
		display: block;
	}
	.header .nav ul li {
		margin-bottom: 15px;
		margin-right: 0;
	}
	.choose-list ul li {
	  -ms-flex: 0 0 100%;
	  flex: 0 0 100%;
	  max-width: 100%;
	  border-right: 0;
	  border-top: 0;
	}	
	.choose {
		padding: 0;
		margin-bottom: 50px;
	}
	.choose-section .btn {
		margin-top: 0;
	}
	.testimonial h3 {
		font-size: 26px;
	}
	.footer-section {
		text-align: center;
	}
	.footer-section .buttons {
		margin-top: 15px;
	}
	.hero-form {
		margin-top: 30px;
	}
	.testimonial-slider:before {;
	    left: -10px;      
	}
	.testimonial-slider:after {
	    right: -10px;
	    background-image: url(../images/others/i2.png);
	}
	.footer-menu ul {
		justify-content: center;
	}	
}

/* xs Portrait */
@media (max-width: 575px) {

	.hero-section {
		padding: 100px 0;
	}
	.hero-text h1 {
		font-size: 46px;
	}
	.hero-form h2 {
		font-size: 30px;
	}
	.title h2 {
		font-size: 30px;
	}
	.testimonial-slider:before,
	.testimonial-slider:after {
		display: none;
	}
	.accordion .card-header button {
		font-size: 18px;
	}
}



/* xs Portrait */
@media (max-width: 475px) {
	.hero-form ul li:nth-child(2), 
	.hero-form ul li:nth-child(3) {
	  -ms-flex: 0 0 100%;
	  flex: 0 0 100%;
	  max-width: 100%;
	}
	.btn {
		font-size: 12px;
		padding-left: 15px;
		padding-right: 15px;
	}	
	.hero-form {
		padding: 20px 15px;
	}
	.work-list ul li .thumb {
		min-width: 100px;
	}
	input[type="submit"] {
  font-size: 13px;
}

}



label.gform-field-label.gform-field-label--type-inline.gfield_consent_label {
	cursor:pointer;
}


section#shadow-host-companion {
	display:none !important;
}

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


legend.gfield_label.gform-field-label.gfield_label_before_complex {
	display:none !important;
}
div.hidden_label label {
	display:none !important;
}
label.gform-field-label.gform-field-label--type-sub.hidden_sub_label.screen-reader-text {
	display:none !important;
}

.ginput_container.ginput_container_consent {
	position:relative;
	padding-left:25px;
}

.ginput_container.ginput_container_consent input {
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}


@media (min-width:768px) {
.gfield--type-phone {
	display:inline-block;
	width:calc(50% - 10px);
	float:left;
}
.gfield--type-email {
	display:inline-block;
	width:calc(50% - 10px);
	float:left;
	margin-left:20px;
}
}

h2.gform_submission_error { display:none !important;}

h2.gform_submission_error + ol { display:none !important;}

.gfield_validation_message {text-align:left !important; font-size:12px !important;}
.contact-section .gfield_validation_message {color:#fff !important; }

a.candc {
    background: url(images/candc.png) no-repeat left center;
    margin-left: 0;
    padding-left: 25px;
    display: inline-block;
    color: var(--primary-color);
    font-weight: 600;
  background-size: 20px 22px;
}