/*   
Theme Name: CWA
Version: 1.0
Description: CWA
Author: ComradeWebAgency
Author URI: https://comradeweb.com
*/

.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.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%; /* Image does not overflow the content area */
  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 p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}
.help.pa-help{
  /* 	background-color: #f8f8f800; */
  margin:50px 0 0;
}
.pa-help .container{
  /* 	padding-right: 0; */
  /*     padding-left: 0; */
}
.pa-help .help__container{
  /* 	padding:0; */
}
.flexible.practice-areas{
	padding:40px 0 0;
  max-width: 800px;
}
.flexible .practice-areas__container{
	padding:0;
}
.flexible .practice-areas__container .h2{
	margin-bottom:30px;
}
.flexible .practice-areas__tabs .swiper-slide:not(:last-child) {
  margin-right: 35px;
}
.reach-us  .subtitle{
    font-size: 20px;
}
/* ================================ */
@media screen and (max-width: 768px) {
  .estate > .container > h2 {
    margin-bottom: 50px;
  }
}

.services__item-link > h3 {
  padding: 0;
  margin: 0;
  font-weight: 500;
}

.estate > .container > h2 {
  font-family: PlayfairDisplay;
  line-height: 1.3;
  color: #000;
  font-size: 24px;
  text-align: center;
  max-width: 737px;
  margin: 0 auto 90px;
  font-weight: 700;
}

.template .template__inner {
  border-bottom: none !important;
}

.scenario__arrows-wrap:before {
  left: 0 !important;
  width: 100% !important;
}

.sidebar-info-block-wolink {
  font-family: PlayfairDisplay;
  font-weight: 400;
  font-size: 20px;
  color: #000;
  text-decoration: none;
  line-height: 1.2;
}

.practice-areas-inner__col:first-child .content:first-child h2 {
  margin-bottom: 30px;
  margin-top: 0 !important;
}
.services__item-text .services__item-link {
  font-weight: 600;
}
.hero__info-inner .subtitle{
	font-size:16px;
}
.flexible.consultation {
  margin: 20px 0;
  padding: 50px 0;
  position: relative;
  width: auto;
}

@media screen and (max-width: 1279px) {
  .flexible.consultation {
    text-align:center
  }
}

@media screen and (max-width: 768px) {
  .flexible.consultation {
    padding:90px 0
  }
}

.flexible.consultation .container {
  position: relative;
  width: auto;
}

.flexible.consultation .h2-big {
  color: #fff;
  margin-bottom: 10px
}

@media screen and (max-width: 768px) {
  .flexible.consultation .h2-big {
    font-size:28px;
    line-height: 1.4
  }
}

.flexible.consultation .btn {
  min-width: 210px
}

.flexible .consultation__bg img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.flexible .consultation__container {
  padding: 0 30px
}

@media screen and (max-width: 768px) {
 .flexible .consultation__container {
  padding:0
}
}

.flexible .consultation__row {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-flow: column;
}

@media screen and (max-width: 1279px) {
 .flexible .consultation__row {
  flex-direction:column
}
}

.flexible .consultation__col:not(:last-child) {
  margin-right: 20px;
  margin-bottom: 20px;
}

@media screen and (max-width: 1279px) {
  .flexible .consultation__col:not(:last-child) {
    margin-right:0
  }
}

.flexible .consultation__text {
  color: #fff
}

@media screen and (max-width: 1279px) {
  .flexible .consultation__text {
    margin-bottom:20px
  }
}

.flexible .consultation--scenarios .consultation__col:first-child {
  max-width: 500px
}

.flexible .consultation--scenarios .consultation__row {
  justify-content: space-between
}

.flexible .consultation--scenarios .consultation__container {
  padding: 0 85px
}
.flexible .consultation__text a{
	color:#fff;
	border-bottom-color: #fff;
}



.testimonials {
  position: relative;
  overflow: hidden;
  text-align: center;
  background-image: url(/wp-content/themes/CWA/front/dist/assets/img/aerostat.png);
  background-repeat: no-repeat;
  background-position: calc(100% + 60px) 50%;
  background-size: 185px;
  background-attachment: fixed
}

@media screen and (max-width: 768px) {
  .testimonials {
    background-size:122px
  }
}

.testimonials .h2 {
  margin-bottom: 125px
}

@media screen and (max-width: 1439px) {
  .testimonials .h2 {
    margin-bottom:80px
  }
}

@media screen and (max-width: 768px) {
  .testimonials .h2 {
    margin-bottom:60px
  }
}

.testimonials__aerostat img {
  position: absolute;
  top: 150px;
  right: -60px;
  width: 185px;
  -o-object-fit: contain;
  object-fit: contain
}

@media screen and (max-width: 768px) {
  .testimonials__aerostat img {
    top:120px;
    width: 122px
  }
}

.testimonials__container {
  position: relative;
  padding: 100px 100px 150px
}

@media screen and (max-width: 1279px) {
  .testimonials__container {
    padding:80px 0 130px
  }
}

@media screen and (max-width: 768px) {
  .testimonials__container {
    padding:75px 0 115px
  }
}

.testimonials__slider {
  position: relative;
  padding: 0 190px
}

@media screen and (max-width: 1279px) {
  .testimonials__slider {
    padding:0 100px
  }
}

@media screen and (max-width: 768px) {
  .testimonials__slider {
    padding:0
  }
}

.testimonials__slider:before {
  position: absolute;
  top: 0;
  left: 0;
  height: 65px;
  color: #000;
  font-size: 200px;
  font-family: PlayfairDisplay;
  line-height: 1;
  opacity: .1;
  content: "â€œ"
}

@media screen and (max-width: 768px) {
  .testimonials__slider:before {
    display:none
  }
}

.testimonials__slider:after {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 65px;
  color: #000;
  font-size: 200px;
  font-family: PlayfairDisplay;
  line-height: 1;
  opacity: .1;
  content: "â€"
}

@media screen and (max-width: 768px) {
  .testimonials__slider:after {
    display:none
  }
}

.testimonials__slider .h2-big {
  margin-bottom: 30px
}

@media screen and (max-width: 768px) {
  .testimonials__slider .h2-big {
    font-size:24px;
    line-height: 1.3
  }
}

.testimonials__rating {
  display: flex;
  justify-content: center;
  margin-bottom: 40px
}

@media screen and (max-width: 768px) {
  .testimonials__rating {
    margin-bottom:25px
  }
}

.testimonials__star:not(:last-child) {
  margin-right: 15px
}

@media screen and (max-width: 768px) {
  .testimonials__star:not(:last-child) {
    margin-right:10px
  }
}

.testimonials__star.testimonials__star--grey {
  opacity: .2
}

.testimonials__star picture {
  display: flex;
  align-items: flex-start
}

.testimonials__star picture img {
  width: 30px;
  height: 30px;
  -o-object-fit: contain;
  object-fit: contain
}

@media screen and (max-width: 768px) {
  .testimonials__star picture img {
    width:15px;
    height: 15px
  }
}

.testimonials__arrows {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 50px
}

.testimonials__arrow {
  position: relative;
  width: 70px;
  height: 18px;
  outline: none;
  cursor: pointer
}

.testimonials__arrow.swiper-button-disabled {
  opacity: .2;
  pointer-events: none
}

.testimonials__arrow picture {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: flex-start;
  transition: .3s ease-in-out
}

.testimonials__arrow picture:last-child {
  visibility: hidden;
  opacity: 0
}

.testimonials__arrow picture img {
  width: 70px;
  height: 18px;
  -o-object-fit: contain;
  object-fit: contain
}

.no-touchevents .testimonials__arrow:hover picture:first-child {
  visibility: hidden;
  opacity: 0
}

.no-touchevents .testimonials__arrow:hover picture:last-child {
  visibility: visible;
  opacity: 1
}

.testimonials__arrow--left {
  margin-right: 15px;
  transform: scaleX(-1)
}
.testimonials__slider::before {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 65px;
  color: rgb(0, 0, 0);
  font-size: 200px;
  font-family: PlayfairDisplay;
  line-height: 1;
  opacity: 0.1;
  content: "“";
}
.testimonials__slider:after {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 65px;
  color: #000;
  font-size: 200px;
  font-family: PlayfairDisplay;
  line-height: 1;
  opacity: .1;
  content: "”";
}

@media screen and (max-width: 1023px) {
 .flexible .consultation--scenarios .consultation__container {
  padding:0 30px
}
}

@media screen and (max-width: 768px) {
 .flexible .consultation--scenarios .consultation__container {
  padding:0
}
}

@media screen and (max-width: 1279px) {
  .flexible .consultation--scenarios .h2-big {
    margin-bottom:30px
  }
}



select{
	    text-transform: none;
    width: 100%;
    padding: 11px 20px;
    color: #fff;
    background-color: transparent;
    border: 1px solid hsla(0,0%,100%,.6);
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
}
select option {
	color: #000;
}
.blog-inner__col .content table td, .blog-inner__col .content table th {
    border: 1px solid #d1d1d1;
    padding: 10px;
}
.blog-inner__col .content table{
    border-collapse: collapse;
}
.breadcrumbs__link{
	margin-bottom:0;
	margin-top:2px;
}
.estate-form__select, .estate-form__select select{
	color:#000;
}
span.red-required {
    color: red;
}
table.message-fields td.field-value li{
	list-style: none!important;
    margin-left: 0!important;
}
.reach-us .subtitle{
	font-size:16px;
}
.reach-us .form {
    margin-top: 0;
}
/* update 10/19 */
.help__container .text{
	max-width:640px;
	    margin-top: 10px;
}
.call-us__col:last-child{
	align-items: flex-start;
}
.services__head-content .text{
	    max-width: 50%;
    margin-top: 10px;
}
.services__head-col-home.services__head-col:first-child .services__head-content:before{
	    left: 50%;
}
.contact-us .map-wrap .map-iframe{
	    position: absolute;
    width: 100%;
    height: 100%;
}
.contact-us .map-wrap .map-addresses {
    position: relative;
    padding: 30px;
    pointer-events: none;
    width: 30%;
    left: 70%;
}
.contact-us .map-wrap .map-iframe iframe{
	width:100%!important;
}
@media screen and (max-width: 1800px){
	.contact-us .map-wrap .map-addresses {
    width: 35%;
    left: 65%;
}
}
@media screen and (max-width: 1530px){
	.contact-us .map-wrap .map-addresses {
   width: 45%;
    left: 55%;
}
}
@media screen and (max-width: 1200px){
	.contact-us .map-wrap .map-addresses {
       width: 53%;
    left: 47%;
}
}
@media screen and (max-width: 991px){
	.contact-us .map-wrap .map-addresses {
       width: 100%;
    left: 0%;
}
	.contact-us .map-wrap .map-iframe {
		position: relative;
	}
}
/* the floating Google rating badge stays out of the open phone menu */
body.open-menu [class*="elfsight-app-"],
body.open-menu .es-badge-container {
	display: none !important;
}
/* accessibility: visible keyboard focus (the bundles set outline: none) */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid currentColor !important;
	outline-offset: 2px;
}
/* the top bar's phone slides in when it takes focus instead of staying above the window */
.header__call-us:focus-within {
	margin-top: 0;
}
/* accessibility: grey text and breadcrumbs dark enough to read on white (4.5:1) */
body a.breadcrumbs__link {
	color: #757575;
}
body .practice-areas-inner__sidebar-info-block-text,
body .team__item-position,
body .team-inner__partner,
body .team-inner__col:first-child,
body .team-inner__contacts-link,
body .blog__info,
body .stories__item-info,
body .blog-inner__author-text,
body .blog-inner__author-link,
body .contact-us__text,
body .contact-us__link {
	color: #6f6f6f;
}
/* accessibility: links inside text are underlined, not told apart by colour alone */
.content p a:not([class]),
.content li a:not([class]),
.content td a:not([class]),
.template__inner p a:not([class]),
.template__inner li a:not([class]),
.practice-areas__slide p a:not([class]),
.practice-areas-inner__list li a:not([class]),
.practice-areas-inner__sidebar-info-block-text a:not([class]),
body .footer__comrade {
	text-decoration: underline;
	text-underline-offset: 2px;
}
/* a scenario's banner photo keeps its full width before it loads, so the story below does not jump */
@media screen and (max-width: 768px) {
	.scenarios-banner__img {
		align-self: stretch;
	}
}
/* practice-area tabs: the text panel keeps to its column (it was a fixed 700px), and on phones and tablets
   the tab row scrolls sideways natively (custom.js drops the bundle's tab slider), with a fade at the edge it continues past */
.practice-areas-inner__col:first-child .practice-areas__slider {
	max-width: 100%;
}
@media screen and (max-width: 768px) {
	.flexible .practice-areas__tabs .swiper-container {
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		scroll-snap-type: x proximity;
		scroll-padding-inline: 2px;
		scrollbar-width: none;
		padding: 4px 2px;
		margin: -4px -2px;
		width: auto;
	}
	.flexible .practice-areas__tabs .swiper-container::-webkit-scrollbar {
		display: none;
	}
	.flexible .practice-areas__tabs .swiper-wrapper {
		width: max-content;
	}
	.flexible .practice-areas__tabs .swiper-slide {
		scroll-snap-align: center;
	}
	.flexible .practice-areas__tabs .swiper-container.is-dragging {
		scroll-snap-type: none;
		cursor: grabbing;
	}
	.flexible .practice-areas__tabs .swiper-container.is-scrollable {
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 56px), transparent);
		mask-image: linear-gradient(to right, #000 calc(100% - 56px), transparent);
	}
	.flexible .practice-areas__tabs .swiper-container.is-scrollable.is-scrolled {
		-webkit-mask-image: linear-gradient(to right, transparent, #000 32px, #000 calc(100% - 56px), transparent);
		mask-image: linear-gradient(to right, transparent, #000 32px, #000 calc(100% - 56px), transparent);
	}
	.flexible .practice-areas__tabs .swiper-container.is-scrollable.is-end {
		-webkit-mask-image: linear-gradient(to right, transparent, #000 32px);
		mask-image: linear-gradient(to right, transparent, #000 32px);
	}
}

/* 404: one line under the heading saying what happened */
.not-found__text {
	max-width: 560px;
	margin: -40px auto 40px;
	color: #575757;
	font-size: 18px;
	line-height: 1.6;
	text-align: center;
}
@media (max-width: 767px) {
	.not-found__text {
		margin: -20px auto 30px;
		font-size: 16px;
	}
}
.not-found__text a {
	color: inherit;
	text-decoration: underline;
}

/* accessibility: header dropdowns open from the keyboard too (custom.js) — on a focused link, while focus is
   inside the dropdown, or opened by its button; Escape dismisses one until focus leaves it or the mouse comes back */
.header__nav .with-dropdown > a:focus-visible + .header__dropdown,
.header__nav .with-dropdown > .header__dropdown:focus-within,
.header__nav .with-dropdown.is-open > .header__dropdown {
	visibility: visible;
	opacity: 1;
	transform: none;
}
.header__nav li.with-dropdown.is-dismissed > div.header__dropdown {
	visibility: hidden;
	opacity: 0;
	transform: translateY(-15px);
}
/* in the phone menu without touch the submenu arrows stay hidden for the mouse, as before, and show when Tab reaches them */
@media (max-width: 1280px) {
	.no-touchevents .header__nav > ul > li > a > .header__nav-link-arrow:not(:focus-visible) {
		display: block;
		position: absolute;
		width: 1px;
		height: 1px;
		margin: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}
	.no-touchevents .header__nav > ul > li > a > .header__nav-link-arrow:focus-visible {
		display: block;
	}
}

/* language switcher (Translate; replaces Weglot's, same look): a white 69x34 box, the current language
   (the link Translate marks w--current) on top, the other languages drop below it on hover, focus or tap */
.header__col-end {
	display: contents;
}
.lang-switch {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-self: center;
	width: 69px;
	height: 34px;
	margin: 0 5px;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
	font-size: 11.9px;
	font-weight: 700;
	line-height: 1.6;
}
.lang-switch__link {
	display: flex;
	align-items: center;
	gap: 8.5px;
	width: 100%;
	height: 34px;
	padding: 0 12.75px;
	color: #000;
	text-decoration: none;
	background: #fff linear-gradient(transparent, transparent) no-repeat 12.75px 28px / calc(100% - 25.5px) 1px;
	border-radius: 0 0 4.25px 4.25px;
	transition: opacity 0.2s;
}
.lang-switch__link.w--current {
	order: -1;
	background-image: linear-gradient(#4f5abb, #4f5abb);
	border-radius: 4.25px;
}
.lang-switch__link:not(.w--current) {
	position: absolute;
	top: 34px;
	left: 0;
	opacity: 0;
	pointer-events: none;
}
.lang-switch__flag {
	flex: none;
	width: 17px;
	height: 14px;
}
.lang-switch:hover .lang-switch__link.w--current,
.lang-switch:not(.is-dismissed):focus-within .lang-switch__link.w--current,
.lang-switch.is-open .lang-switch__link.w--current {
	border-radius: 4.25px 4.25px 0 0;
}
.lang-switch:hover .lang-switch__link:not(.w--current),
.lang-switch:not(.is-dismissed):focus-within .lang-switch__link:not(.w--current),
.lang-switch.is-open .lang-switch__link:not(.w--current) {
	opacity: 1;
	pointer-events: auto;
}

/* home overview: from 721px to 768px the portrait's wig sits behind the "OVERVIEW" label, grey on grey;
   a lighter grey with a dark halo keeps it readable there, other widths unchanged */
@media screen and (min-width: 721px) and (max-width: 768px) {
	.overview .overview__col .subtitle {
		color: #d9d9d9;
		text-shadow: 0 0 4px rgba(0, 0, 0, 0.9), 0 0 10px rgba(0, 0, 0, 0.8);
	}
}

/* Google Sheets connector's notice under the forms: room from the button; on the dark Bottom Form the labels' light colour */
.wpcf7-form .gscf7-frontend-gdpr-notice {
	clear: both;
	margin-top: 24px;
	font-size: 14px;
	line-height: 1.5;
}
.wpcf7-form.form:not(.estate-form) .gscf7-frontend-gdpr-notice {
	color: rgba(255, 255, 255, 0.7);
}
