/*
Theme Name: Codebase
Theme URI: https://codebasecowork.com
Author: Andre Fredette
Author URI: https://andre.dev
Description: Theme for Codebase Coworking
Version: 1.0
*/


/* font adjustments */

	h2{
		font-size: 50px;
	}
	h3{
		font-size: 44px;
	}
	@media (max-width:768px){
		h2{
			font-size:40px;
		}
		h3,
		.membership h3.membership__title,
		.section-news h2.section__title{
			font-size:30px;
		}
	}

	.section-offer .section__item h3{
		font-size:24px;
	}
	.section-membership .section__entry,
	.membership .membership__entry,
	.section-news .section__subtitle,
	.section-news .section__content p,
	.section-rooms .section__entry,
	.section-plan h4.section__small,
	.section-plan .section__offer h3,
	.section-spaces .section__entry,
	.section-offer .section__entry,
	.section-offer .section__item {
		font-size:24px;
	}
	.section-features .section__additional li,
	.section-plan .section__entry{
		font-size:20px;
	}

/* Header */
	header.header{
		position:sticky;
	}
	body.admin-bar .header{
	  top:32px;
	}
	@media (max-width: 767px), screen and (max-width: 812px) and (orientation: landscape) {
    .header .header__logo img {
      max-width: 105px;
    }
  }
  @media (max-width: 1023px) and (min-width:400px) {
    .header .header__logo {
      max-width: 170px;
    }
  }

  /* header banner */
  header.header{
    display:flex;
    flex-direction:column;
	}
	header .header__inner{
	    width:100%;
	}
	.code-banner{
	    width:100%;
	    background:#3db5a8;
	}
	.code-banner .banner-content{
	    max-width:1473px;
	    margin:auto;
	    text-align:center;
	    color:#fff;
	    font-size:22px;
	    padding:.25em;
	}
	@media (max-width: 767px), screen and (max-width: 812px) and (orientation: landscape){
	    .header {
	        padding-bottom:0;
	    }
	    .code-banner{
	        margin-top:12px;
	    }
	    .code-banner .banner-content{
	        padding:.25em 1em;
	    }
	}


	/* Navigation */

		li.heading{
		    margin-left:-2em;
		}
		.nav.is-active li.heading{
			margin-left:-0.25em;
		}
		.nav.is-active li.heading a{
			font-size:16px;
		}

		li.heading > a{
		    box-sizing: border-box;
				font-family: urw-din-condensed;
				font-size: 23px;
				font-weight: 700;
				margin: 0;
				outline: 0;
				padding: 0 0 0 3px;
				text-transform: uppercase;
		}

		.nav > ul > li.current-menu-item,
		.nav > ul > li.current_page_ancestor {
  		background-color: #3db5a8;
  	}

  	.nav.is-active li.current-menu-item,
  	.nav.is-active li.current_page_ancestor{
  		background-color:revert;
  		transition:none;
  	}

  	.nav.is-active li .dropdown{
  		display:block;
  	}

  	li.menu-item-62 .dropdown--size-1 ul.sub-menu{
  		padding-left:0;
  	}

  	@media (min-width:768px){
	  	.nav.header-menu > ul > li{
	  		padding:0;
	  	}
	  	.nav.header-menu > ul > li > a {
	  		display: block;
	    	padding: 36px 10px 36px;
	  	}
  	}

  .flag > a:focus{
  	outline:none;
  }

  .section-plan .section__offer li:before {
  	top:5px;
  }

/* Hero */
	.hero{
		margin-top:-104px;
	}
	@media (max-width: 1023px){
	    .hero .hero__subtitle {
	        margin-left:0px;
	    }
	}
	@media (max-width: 1311px) {
	    .hero .hero__subtitle {
	        margin-left:0px;
	    }
	}

/* page titles */
	section.section-amenities,
	section.section-about,
	section.section-rooms,
	section.section-blog,
	section.section-simple{
		padding-top:0;
	}

	.section-about .section__title{
		padding-top:43px;
	}

/* buttons */
	.btn--space {
		border-radius: 11px;
	}

/* home */
	.section-news{
		background-color:rgba(0,0,0, 0.55);
	}
	.membership .membership__title{
		margin-bottom:8px;
	}

/* blog */
	.pagination{
		margin-top:2em;
		text-align:center;
		font-family: "urw-din-condensed";
    font-size: 23px;
    line-height: 1.3;
    text-transform: uppercase;
    color: #000;
    text-decoration: none;
    font-weight: bold;
	}
	.pagination .page-numbers{

	}

/* amenities */
.features--images li {
	padding-bottom:65px;
}
.features li span img{
    max-width:100px;
    max-height:100px;
    object-fit: fill;
}
@media (min-width:768px){
	.features li > span{
	    display:flex;
	    flex-direction: column;
	    justify-content: flex-end;
	    min-height:100px;
	}
}
.section-amenities .section__content{
	padding-bottom:43px;
}
body.membership-amenities section.section-offers{
	padding-top:0;
}
@media (max-width: 1311px) {
      .section-offers .section__offers li {
        font-size: 18px;
      }
      .section-offers .section__offers li:before {
      	top:5px;
      }
}

@media (min-width:768px) and (max-width: 1311px) {
      .section-offer .section__item-actions {
      	margin-top:40px;
      }
}



/* membership */
	.section__item .spaces .spaces__item:first-child .space__title,
	.section__item .spaces .spaces__item:first-child .space__entry{

	}
	.section-plan .section__entry ul {
  		padding-left:32px;
	}
	body.post-type-archive-membership .section-offer .section__aside {
		margin-top:0;
	}

	@media (min-width:1312px){
		.section-spaces--community .section__item + .section__item{
			margin-top:115px;
		}
	}
	@media (min-width:768px){
		section.section-offer{
			padding-top:36px;
		}
	}
	.section-features .section__additional li:before {
		top:5px;
	}
	.section__actions.member__actions{
    display:flex;
    align-items:flex-start;
    flex-direction: column;
	}
	.section__actions.member__actions a{
	    margin-bottom:2em;
	}
	.btn--membership{
	    color: #fff;
	    background-color: #3db5a8;
	    font-size: 16px;
	    letter-spacing: 0;
	    text-transform: uppercase;
	    padding: 16px 2em;
	    border-radius: 11px;
	    font-weight: 700;
	    border: 1px solid #3db5a8;
	    font-family: "urw-din";
	}
	.btn--membership:hover {
	    background-color: #fff;
	    color: #3db5a8;
	}
	.btn--compare{
    color:#fff;
    background-color:#3db5a9;
	}


/* spaces */
	.section-plan .section__offer ul{
    padding-left:32px;
	}
	.space--community .space__image{
	  margin-bottom:20px;
	}
	.section-spaces--community{
    padding:61px 0 0px;
	}
	body.tax-membership-type .section-spaces--community{
		padding-bottom:30px;
	}

	.section-plan .section__body,
	.section-plan .section__inner{
	    padding-top:0;
	}
	.section-plan .slider-gallery{
	    padding-top:50px;
	    padding-bottom:70px;
	}
	.section-plan--dedication{
		padding: 63px 0 87px;
	}

	body.post-type-archive-space footer{
	  margin-top:100px;
	}

	@media (min-width:813px){
		body.post-type-archive-membership .spaces .spaces__item:nth-child(1),
		body.post-type-archive-space .spaces .spaces__item:nth-child(1) {
	     border-left: 1px solid #c5b4a1;
	  }
	  body.post-type-archive-membership .spaces .spaces__item:nth-child(3),
		body.post-type-archive-space .spaces .spaces__item:nth-child(3) {
	     border-right: 1px solid #c5b4a1;
	  }

	  .section__content .section__offer:nth-child(2){
	    border-left: 1px solid #C2AF9C;
		}
	}

	.section-spaces .section__entry .section__head:before {
		display:none;
	}
	.section-spaces--community .section__item + .section__item{
		margin-bottom:30px;
	}

/* about */
	.member .member__actions a + a:before{
		top:-2px;
	}
	.no-horizontal-padding{
		padding-left:0;
		padding-right:0;
	}
	@media (max-width:1311px){
		.member .member__actions a + a:before{
			top:9px;
		}
	}
	@media (max-width:812px){
		.member .member__actions a + a:before{
			top:6px;
		}
	}
	.section-community .section__title{
		margin-bottom: 36px;
	}
	.section-community .section__entry .section__head{
		padding-top:0;
	}

/* faq */
.section-simple .section__speaker{
	font-size:50px;
}

.slider-gallery .slider__prev img,
.slider-gallery .slider__next img{
    opacity:.6;
}

/* hubspot */

.hubspot-form-wrapper{
	margin:2em 0;
}
.js-thank-you{
	padding:0 0.5em;
	font-weight:bold;
}
h1.form-title{
	color: #306e7b;
	font-family: 'urw-din-condensed';
	font-size: 44px;
	line-height: 1.3;
	text-transform: uppercase;
}

 /* whitney fixes */
	li.menu-item-62 .dropdown--size-1 ul.sub-menu{
		padding-left:0;
	}
	.section-amenities .section__entry p{
    font-size:24px;
	}
	@media (max-width:1311px){
		.hero .hero__title{
			font-size:58px;
		}
		h2{
      font-size: 45px;
    }
    h3.membership__title{
      font-size: 40px;
    }
		.features h3{
        font-size:22px;
    }
    .features p{
        font-size:16px;
    }
	}
	@media (max-width:480px){
    h1.form-title{
        font-size: 10vw;
    }
    body.home .section-membership .section__entry,
    .membership .membership__entry,
    .section-news .section__content p{
        font-size:18px;
    }
	}
	@media (max-width:420px){
    h2.section__title{
        font-size:9vw;
    }
	}
	@media (max-width: 767px), screen and (max-width: 812px) and (orientation: landscape){
    .dropdown ul.sub-menu li{
        margin-bottom:.75em;
    }
    ul.js-nav > li > a{
      padding:.5em 0;
    }
    .dropdown{
        margin-top:.5em;
    }
    .dropdown ul.sub-menu li a{
        font-size:15px;
    }
	}
	@media (min-width:768px){
    .nav > ul >li > a,
    .btn--red{
        font-size:20px;
    }
    .btn--red{
        min-width:183px;
    }
    li.heading > a{
        font-size:20px;
    }
    .dropdown a{
        font-size:20px;
    }
	}


footer.footer{
    background-position: -7px -7px !important;
    background-size: 150% !important;
}

/* ------------------------------------------------------------ *\
  hero--video
\* ------------------------------------------------------------ */
.hero--video {
  position: relative;
  overflow: hidden; }
.hero--video .hero__background {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 1; }
.hero--video video,
  .hero--video iframe {
    max-width: none;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    min-height: calc(100% + 1px);
    min-width: calc(100% + 1px);
    pointer-events: none; }
.hero--video .hero__inner {
    position: relative;
    z-index: 2; }


/* page stuff */
.section-simple .section__content > ul {
    margin-left:2em;
}
.section-simple .section__content ul li{
    font-size:20px;
    margin-bottom:.5em;
}

/* ------------------------------------------------------------ *\
	Pricing Page
\* ------------------------------------------------------------ */

.pricing-page {

}

.pricing-page h2 {
	font-size: 54px;
	color: #306D7B;
}

.pricing-page .cols {
	display: flex;
	margin: 0 -10px;
	flex-wrap: wrap;
}

.pricing-page .col {
	padding: 0 10px;
}

.pricing-page .col--1of2 {
	flex: 0 0 50%;
}

.pricing-page .col--size-1 {
	flex: 0 0 47%;
	max-width: 47%;
}

.pricing-page .col--size-2 {
	flex: 0 0 53%;
	max-width: 53%;
}

@media(max-width: 1200px) {
	.pricing-page .col--size-1 {
		flex: 0 0 50%;
		max-width: 50%;
	}

	.pricing-page .col--size-2 {
		flex: 0 0 50%;
		max-width: 50%;
	}
}

@media(max-width: 767px) {
	.pricing-page .cols {
		display: block;
		margin: 0 0px;
	}

	.pricing-page .col {
		padding: 0 0px;
		max-width: 100%;
	}
}

@media(max-width: 767px) {
	.pricing-page h2 {
		font-size: 26px;
	}
}

/* ------------------------------------------------------------ *\
	Shell Large
\* ------------------------------------------------------------ */

.pricing-page .shell--large {
	max-width: 1473px;
}

@media(max-width: 767px) {
	.pricing-page .shell--large {
		padding: 0 20px;
	}	
}

/* ------------------------------------------------------------ *\
	Section Services
\* ------------------------------------------------------------ */

.pricing-page .section-services {
	padding: 35px 0;
	margin-bottom: 25px;
}

.pricing-page .section-services .section__head {
	margin-bottom: 92px; 
}

@media(max-width: 767px) {
	.pricing-page .section-services {
		padding: 21px 0;
		margin-bottom: 25px;
	}

	.pricing-page .section-services .section__head {
		margin-bottom: 21px; 
	}
}

/* ------------------------------------------------------------ *\
	Services
\* ------------------------------------------------------------ */

.pricing-page .services {
	border-bottom: 1px solid #707070;
	padding-bottom: 14px;
}

/* ------------------------------------------------------------ *\
	Service
\* ------------------------------------------------------------ */

.pricing-page .service {
	position: relative;
	min-height: 210px; 
	margin-bottom: 36px;
	font-family: "urw-din";
}

.pricing-page .service h4 {
	margin-bottom: 0px;
	text-transform: uppercase;
	font-size: 24px;
	font-weight: 700;
	font-family: "urw-din";
}

.pricing-page .service .service__image {
	position: absolute; 
	top: 0;
	left: 0;
	width: 261px;
	height: 210px;
	overflow: hidden;
}

.pricing-page .service .service__image a {
	position: absolute; 
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: opacity .4s;
}

.pricing-page .service .service__image a:hover {
	opacity: .8; 
}

.pricing-page .service .service__image img {
	position: absolute; 
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.pricing-page .service .service__head {
	width: calc(100% - 261px);
	margin: 0 0 0 auto;
	padding: 10px 6px 10px 21px;
}

.pricing-page .service .service__body {
	width: calc(100% - 261px);
	margin: 0 0 0 auto;
	padding: 0 0 0 16px;
}

.pricing-page .service .service__btn {
	display: inline-block; 
	padding: 8px 13px 10px 12px;
	min-width: auto;
	font-family: 'urw-din-condensed';
	font-size: 20px;
}

.pricing-page .service .service__actions {
	margin-top: 15px; 
}

@media(max-width: 1024px) {
	.pricing-page .service .service__image a {
		position: relative; 
		top: auto;
		left: auto;
		width: 100%;
		height: auto;
		display: block; 
		padding: 0 0 60%;
	}

	.pricing-page .service .service__image {
		position: relative; 
		top: auto;
		left: auto;
		width: 100%;
		height: auto;
		margin-bottom: 10px;
	}

	.pricing-page .service .service__head {
		width: 100%;
		padding: 10px 6px 10px;
	}

	.pricing-page .service .service__body {
		width: 100%;
		padding: 0px 0 0 0;
	}
}

@media(max-width: 767px) {
	.pricing-page .service {
		margin-bottom: 58px; 
	}

	.pricing-page .service h4 {
		font-size: 16px;
		margin-bottom: 3px;
	}

	.pricing-page .service .service__head {
		padding: 10px 0px 14px 0px;
	}

	.pricing-page .service .service__image {
		margin-bottom: 7px;
	}

	.pricing-page .service .service__image a {
		padding: 0 0 43%;
	}

	.pricing-page .service .service__btn {
		padding: 8px 17px 10px 12px;
		font-size: 15px;
	}

	.pricing-page .service .service__actions {
		padding-left: 22px;
		margin-top: 11px;
	}
}

/* ------------------------------------------------------------ *\
	List Price
\* ------------------------------------------------------------ */

.pricing-page .list-price {
	color: #1F262E;
	font-size: 18px;
	list-style-type: none; 
	margin-bottom: 0;
}

.pricing-page .list-price--cols {
	columns: 2;
	column-gap: 30px;
	margin-right: -47px;
	column-rule-style: solid;
	column-rule-width: 2px;
	column-rule-color: #6A6B6A6C;
}

@media(max-width: 1560px) {
	.pricing-page .list-price--cols {
		column-gap: 15px;
		margin-right: -10px;
	}
}

@media(max-width: 1200px) {
	.pricing-page .list-price--cols {
		columns: 1;
		column-gap: 0px;
		margin-right: 0px;
	}
}

@media(max-width: 767px) {
	.pricing-page .list-price {
		font-size: 14px;
	}
}

/* ------------------------------------------------------------ *\
	List Check
\* ------------------------------------------------------------ */

.pricing-page .list-check {
	padding-left: 43px;
	margin-bottom: 0; 
	list-style: none;
	color: #1F262E;
	font-size: 18px;
	line-height: 1.44;
}

.pricing-page .list-check li {
	position: relative;
	padding-left: 22px;
}

.pricing-page .list-check li ~ li {
	margin-top: 2px; 
}

.pricing-page .list-check li:before {
	content: '';
	position: absolute; 
	top: 11px;
	left: 2px;
	width: 8px;
	height: 16px;
	border: 2px solid #3DB5A8;
	border-left: 0;
	border-top: 0;
	transform: translate(-50%, -50%) rotate(40deg);
}

@media(max-width: 1400px) {
	.pricing-page .list-check {
		padding-left: 10px;
	}
}

@media(max-width: 767px) {
	.pricing-page .list-check  {
		font-size: 14px;
		padding-left: 4px;
	}

	.pricing-page .list-check li {
		padding-left: 18px;
	}

	.pricing-page .list-check li ~ li {
		margin-top: 0px; 
	}

	.pricing-page .list-check li:before {
		top: 7px;
		left: 2px;
		width: 6px;
		height: 12px;
		border: 1px solid #3DB5A8;
		border-top: 0;
		border-left: 0;
	}
}

/* ------------------------------------------------------------ *\
	Section Tables
\* ------------------------------------------------------------ */

.pricing-page .section-tables {
	padding: 8px 0 92px;
}

.pricing-page .section-tables .section__inner {
	display: flex;
	align-items: flex-start;
}

.pricing-page .section-tables h2 {
	margin-bottom: 0px;
	line-height: 1;
}

.pricing-page .section-tables .section__content {
	flex: 1;
	padding-right: 50px; 
}

.pricing-page .section-tables .section__content-entry {
	padding-left: 30px; 
	margin-top: -10px;
}

.pricing-page .section-tables .section__entry {
	border: 1px solid #707070;
	flex: 0 0 35%;
}

.pricing-page .section-tables .section__col--size-1 {
	flex: 0 0 41%;
}

.pricing-page .section-tables .section__col--size-2 {
	flex: 1;
}

@media(max-width: 1560px) {
	.pricing-page .section-tables .section__content-entry {
		padding-left: 30px; 
		margin-top: -10px;
	}

	.pricing-page .section-tables .section__entry {
		flex: 0 0 35%;
	}
}

@media(max-width: 1400px) {
	.pricing-page .section-tables .section__content-entry {
		padding-left: 15px; 
		margin-top: -10px;
	}
}

@media(max-width: 1024px) {
	.pricing-page .section-tables .section__cols {
		display: block;
	}

	.pricing-page .section-tables .section__col {
		max-width: 100%;
	}

	.pricing-page .section-tables .section__content-entry {
		padding-left: 0px; 
		margin-top: 30px;
	}
}

@media(max-width: 767px) {
	.pricing-page .section-tables {
		padding: 8px 0 210px;
	}

	.pricing-page .section-tables .section__inner {
		display: block;
	}

	.pricing-page .section-tables .section__content {
		padding-right: 0px; 
	}

	.pricing-page .section-tables .section__content-entry {
		margin-top: 37px;
	}

	.pricing-page .section-tables .section__entry {
		margin-top: 21px;
	}
}

/* ------------------------------------------------------------ *\
	Table 
\* ------------------------------------------------------------ */

.pricing-page .table ~ .table {
	margin-top: 26px;
}

.pricing-page .table h4 {
	margin-bottom: 12px;
	color: #1F262E;
	font-size: 24px;
	text-transform: uppercase;
	font-family: "urw-din";
}

.pricing-page .table td {
	font-family: 'urw-din-condensed';
	font-size: 18px;
	vertical-align: top;
	padding-top: 7px;
	padding-bottom: 2px;
	border-bottom: 1px solid #707070;
}

.pricing-page .table td:first-child {
	font-weight: 700;
	letter-spacing: -.02em;
}

.pricing-page .table td:nth-child(2) {
	padding-left: 17px;
}

.pricing-page .table td:nth-child(3) {
	padding-left: 15px;
}

.pricing-page .table td a {
	font-size: 14px;
	font-style: italic;
	color: #3DB5A8;
	font-family: "urw-din";
	font-weight: 700;
	text-decoration: none; 
}

.pricing-page .table--offset-top {
	padding-top: 33px;
}

@media(max-width: 767px) {
	.pricing-page .table {
		padding: 0 23px;
	}

	.pricing-page .table h4 {
		margin-bottom: 12px;
		color: #1F262E;
		font-size: 16px;
		text-transform: uppercase;
		font-family: "urw-din";
	}

	.pricing-page .table td {
		font-size: 14px;
	}

	.pricing-page .table td:nth-child(2) {
		padding-left: 6px;
	}

	.pricing-page .table td:nth-child(3) {
		padding-left: 3px;
	}

	.pricing-page .table td a {
		font-size: 12px;
	}

	.pricing-page .table ~ .pricing-page .table {
		margin-top: 36px;
	}

	.pricing-page .table--offset-top {
		padding-top: 18px;
	}
}

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

.pricing-page .map {
	position: relative; 
	height: 100%;
	padding: 0 0 94%;
}

.pricing-page .map img {
	position: absolute; 
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

@media(max-width: 767px) {
	.pricing-page .map {
		position: relative; 
		height: 100%;
		padding: 0 0 100%;
	}
}


.header {
	z-index: 3000;
}