/* Custom CSS */

/* clear */
p {
	margin: 0;
	padding: 0;
}
/**/

.vcenter {
display: flex;
align-items: center;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
}


/* work */

.workdesc {
	padding: 15px 0;
}

#work .col-lg-4 {
	margin-bottom: 3rem;
}

#work .col-lg-4.last {
	margin-bottom: 0;
}


.ptf-divider {
	margin: 2rem 0;
}
.content-wrap {
	margin: 5em 0 0 0;
}

@media (max-width: 575px) {
.content-wrap {
	margin: 2.5em 0 0 0;
}
}


/* home about */

@media (max-width: 768px) {
	#about .___ptf-simple-image {
		padding-bottom: 1rem;
	}
}




/* work slide */

#workslide h4 {
	font-size: 1.5rem;
	text-decoration: none !important;
}
#workslide a {
	text-decoration: none !important;
}
#workslide .lnil {
    padding: 5px 0;
}
#workslide .ptf-slider-controls {
	padding: 2rem 0 0 0;
}
#workslide.bgdark h4 {
	color: white;
}
#workslide.bgdark p {
	color: white;
}


/*what we do*/

#whatwedo .row {
	#whatwedo .row.last .service {
		padding-bottom: 0;
		}
	}

#whatwedo .service {
padding-right: 2rem;
padding-bottom: 3rem;
}

#whatwedo h3 {
	padding-bottom: 0;
	}

#whatwedo .service {
	padding-bottom: 3rem;
}
#whatwedo .service.last {
		padding-bottom: 0;
}

@media (max-width: 768px) {
	#whatwedo .row {
		padding-bottom: 0;
		}
	#whatwedo .row.last .service {
		padding-bottom: 0;
		}
	}
@media (max-width: 575px) {
	#whatwedo .row {
		padding-bottom: 0;
		}
	#whatwedo .row.last .service {
		padding-bottom: 3rem;
		}
	#whatwedo .service.last {
			padding-bottom: 0 !important;
		}
	}


	



#awwwards {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 999;

	width: 90px;
	height: 135px;

	text-indent: -666em;

	background-image: url(../img/root/awwwards_honorable_white.png);
	background-repeat: no-repeat;
	background-size: 90px 135px;

	overflow: hidden;
}

#wpselected {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;

	width: 90px;
	height: 90px;

	text-indent: -666em;

	background-image: url(../img/root/wpselected-badge-left.png);
	background-repeat: no-repeat;
	background-size: 90px 90px;

	overflow: hidden;
}

.ptf-custom--9135 .typed-cursor {
	color: #ee3364;
}

.ptf-custom--0531 {
	position: absolute;
	bottom: 15%;
	left: 130px;

	color: #0b0b0b;
	font-size: 35px;
}

.ptf-custom--9503::after {
	content: '';

	position: absolute;
	top: 50%;
	left: calc(100% + 30px);

	width: 0;
	max-width: 60px;
	height: 1px;

	background-color: #1f0e49;

	transition: width .5s 1s ease-in-out;
}

.ptf-is-page-loaded .ptf-custom--9503::after {
	width: 100%;
}

.ptf-custom--5832 {
	position: relative;
	z-index: 1;

	margin-right: 50px;
}

.ptf-custom--5832::after {
	content: '';

	position: absolute;
	top: -50px;
	right: -50px;
	z-index: -1;

	width: 100%;
	height: 100%;

	border: 10px solid #00bec5;
}

.ptf-custom--5832 {
	position: relative;
	z-index: 1;

	margin-right: 50px;
}

.ptf-custom--5832::after {
	content: '';

	position: absolute;
	top: -50px;
	right: -50px;
	z-index: -1;

	width: 100%;
	height: 100%;

	border: 10px solid #00bec5;
}

.ptf-custom--3103 .ptf-services-box__link {
	background-color: rgba(0,0,0,.25);
}

.ptf-custom--3103 .ptf-highlight {
	background: linear-gradient(to top, transparent 5%, rgba(0,0,0,.25) 5% , rgba(0,0,0,.25) 37%, transparent 37%);
}

.ptf-custom--4111 .ptf-swiper-pagination--style-1 span {
	background-color: #fff;
}

.ptf-custom--4111 .ptf-swiper-button-prev--style-2,
.ptf-custom--4111 .ptf-swiper-button-next--style-2 {
	color: #fff;
}

.ptf-custom--6632 {
	margin-top: -225px;
}

.ptf-custom--9917 .ptf-social-icons a:not(:hover) {
	color: #fff;
}

.ptf-custom--8681 .ptf-countdown h5,
.ptf-custom--8681 .ptf-countdown strong {
	color: #fff;
}

.ptf-custom--9511 .ptf-swiper-pagination--style-1 span {
	background-color: #fff;
}

.ptf-is--homepage-05 .ptf-header--default .ptf-navbar,
.ptf-is--homepage-05 .ptf-header--default .ptf-navbar.ptf-navbar--solid {
	background-color: #191919;
}

.ptf-is--homepage-11 .ptf-navbar {
	padding: 0 35px;
}

.ptf-is--homepage-11 .ptf-navbar .container {
	width: 100%;
}

/* min-width 768px */
@media (min-width: 768px) {
	.ptf-custom--5136 {
		padding-left: 70px;
	}
	.ptf-custom--8620 {
		padding-right: 70px !important;
	}
	.ptf-custom--5317 {
		padding: 0 30px !important;
	}
	.ptf-custom--5171 {
		padding-right: 70px;
	}
	.ptf-custom--7205 {
		margin-top: -100px;
	}
	.ptf-custom--8511 {
		padding-right: 85px;
	}
	.ptf-custom--6525 {
		position: relative;
		z-index: 2;
	}
}

/* max-width 767px */
@media (max-width: 767px) {
	#awwwards,
	#wpselected {
		display: none;
	}
	.ptf-custom--9135 h2 {
		font-size: 28px
	}
	.ptf-custom--1631 {
		font-size: 38px;
	}
}

/* max-width 991px */
@media (max-width: 991px) {
	.ptf-custom--9182 {
		font-size: 48px;
		line-height: 60px;
	}
	.ptf-custom--9182 {
		font-size: 48px;
		line-height: 60px;
	}
}

/* max-width 575px */
@media (max-width: 575px) {
	.ptf-custom-9182 {
		font-size: 38px;
		line-height: 50px;
	}
	.ptf-custom-9182 {
		font-size: 38px;
		line-height: 50px;
	}
	.ptf-custom--0531 {
		bottom: 5%;
	}
}

body{
color: var(--ptf-color-);
letter-spacing: 0em;
}

.ptf-navbar-logo {
	width: 240px;
	max-width: 240px !important;
}
.ptf-navbar-logo img {
	max-width: 240px !important;
}
@media only screen and (max-width: 575px) {
	.ptf-navbar-logo img {
		width: 180px;
	}
}

/* paragraph */
p {
	font-size: 1rem;
	max-width: 850px;
	padding: 1rem 0;
	line-height: 150%;
}
@media only screen and (max-width: 575px) {
	p, li, .ptf-widget-links ul a, .ptf-footer--style-3 .ptf-footer__top .ptf-widget-contacts ul li span {
		font-size: 1.2rem !important;
	}

}
@media only screen and (max-width: 575px) {
	.ptf-widget-links ul li {
		margin-bottom: 3rem;
	}

}

@media only screen and (max-width: 376px) {
.ptf-footer--style-3 .ptf-footer__top [class^=col]:not(:last-of-type) {
	margin-bottom: 0;
}
.ptf-footer--style-3 .ptf-footer__top .ptf-widget-contacts ul li span {
    line-height: 1;
}
}


.ptf-services-list--style-5 li {
    font-size: 1rem;
}

/*anchors*/
a {
	text-decoration: underline;
	text-underline-offset: 4px;
}
a:hover {
	color: inherit;
}
.ptf-widget-links ul a:hover {
    color: inherit;
}
.ptf-footer-socials a {
	text-decoration: none;
}
/**/

/* FOCUS */
a:focus-visible {
    outline: 4px solid var(--ptf-accent-2) !important;
    border-radius: 3px !important;
}
img:focus-visible {
    outline: 4px solid #0000FF;
    border-radius: 3px;
}
button:focus-visible {
    outline: 4px solid #0000FF;
    border-radius: 3px;
}
li:focus-visible {
    outline: 4px solid #0000FF;
    border-radius: 3px;
}
.ptf-simple-image p:focus-visible {
    border: 4px solid #ffbf00;
    border-radius: 3px;
}
.email-cta a:focus-visible {
    outline: 4px solid #ffbf00;
    border-radius: 3px;
}
.ptf-widget-contacts a:focus-visible {
    outline: 4px solid #ffbf00;
    border-radius: 3px;
}
.ptf-widget-links a:focus-visible {
    outline: 4px solid #ffbf00;
    border-radius: 3px;
}
.ptf-footer__bottom a:focus-visible {
    outline: 4px solid #ffbf00;
    border-radius: 3px;
}
.ptf-swiper-button-prev:focus-visible {
    outline: 4px solid var(--ptf-accent-2);
    border-radius: 3px;
}
.ptf-swiper-button-next:focus-visible {
    outline: 4px solid var(--ptf-accent-2);
    border-radius: 3px;
}


/* container */

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    padding-right: var(--bs-gutter-x,1.5rem);
    padding-left: var(--bs-gutter-x,1.5rem);
}
@media (max-width: 576px) {
    .container, .container-sm {
        max-width: none;
    }
}
/* end container */


.skew {
	transform: skew(-18deg);
}

.lnil {
	font-weight: bold;
	font-size: 120%;
}


@media only screen and (min-width: 575px) {
	.hvid-mob {
		display: none;
	}
}


@media only screen and (max-width: 575px) {
.ptf-showcase-3 .ptf-showcase-slide {
    padding: 12rem 0 !important;
}
}


@media only screen and (max-width: 575px) {
.ptf-clients-list[data-columns='6'] .ptf-clients-list__item {
    text-align: center;
	padding: 20px;
}
}

/* References */
.ptf-clients-list__item img {
	padding: 5px;
	margin-right: 10px;
}
.ptf-clients-list__item {
    margin-top: 3rem;
}
.ptf-clients-list--start {
    justify-content: flex-start;
	gap: 1rem;
}
.ptf-clients-list {
	margin-top: 0;
}
@media only screen and (max-width: 768px) {
.ptf-clients-list {
    justify-content: space-around;
}
}

.ptf-clients-list__item img {
	max-width: 220px;
}
@media only screen and (max-width: 1440px) {
	.ptf-clients-list--start {
		gap: 1.5rem;
	}
	.ptf-clients-list__item img {
		max-width: 220px;
	}
}
@media only screen and (max-width: 1024px) {
	.ptf-clients-list--start {
		gap: 1.5rem;
	}
	.ptf-clients-list__item img {
		max-width: 180px;
	}
}
@media only screen and (max-width: 767px) {
	.ptf-clients-list__item {
		margin-top: 2rem;
	}
	.ptf-clients-list__item img {
		max-width: 180px;
	}
}
@media only screen and (max-width: 575px) {
	.ptf-clients-list__item {
		margin-top: 1em;
	}
	.ptf-clients-list__item img {
		max-width: 130px;
	}
}
@media only screen and (max-width: 425px) {
	.ptf-clients-list__item {
		margin-top: 1em;
	}
	.ptf-clients-list__item img {
		max-width: 135px;
	}
}
@media only screen and (max-width: 375px) {
	.ptf-clients-list__item {
		margin-top: 1rem;
	}
	.ptf-clients-list__item img {
		max-width: 125px;
	}
}






/* end ref */


h1 {
    font-size: 3rem /*!important*/;
}
@media only screen and (max-width: 575px) {
	h1.large-heading, .h1.large-heading {
		font-size: 2.2rem;
	}
}

.h2, h2 {
    font-size: 2rem;
}

.h3, h3 {
	font-size: 1.8rem !important;
	font-weight:600;
	padding-bottom: 1rem;
}

.h4, h4 {
	font-size: 1.5rem !important;
	font-weight:600;
	padding-bottom: 1rem;
}

.lighttext {
	font-weight: 300;
}

.ptf-footer--style-3 .ptf-footer__top {
	padding-top: 5rem;
}
.huge {
	font-size: 2rem;
	line-height: 1.2 !important;
}

h1.large-heading, .h1.large-heading {
	padding-bottom: 2rem;
	max-width: 850px;
}

/* phone */

.ptf-phone-block__phone {
	font-size: 1.8rem;
	padding: 0.5rem 0;
}
.ptf-phone-block__icon {
	font-size: 1rem;
	background-color: var(--ptf-accent-2);
}
.ptf-phone-block__caption {
	font-size: 1rem;
}
@media only screen and (max-width: 575px) {
.ptf-phone-block {
	display: block;
}
.callwrap {
	display: flex !important;
}
}
@media only screen and (max-width: 1024px) {
	.hide {
		display: none;
	}
}


/* phone hero */

.phone-hero {
	font-size: 1.5rem;
	font-weight: 600;
	width: 100%;
	display: flex;
	align-items: center;
  	justify-content: center;
	gap: 0.5em;
}
.phone-hero-icon {
	font-size: 1rem;
	background-color: var(--ptf-accent-2);
	font-size: 1.125rem;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 2.8125rem;
    height: 2.8125rem;
    color: var(--ptf-color-white);
    border-radius: 50%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.phone-spacing {
	padding-right:1rem;
}

@media only screen and (max-width: 575px) {
    .phone-hero {
        display: block;
		padding: 1rem 0;
    }
	.phone-hero-icon {
		margin: 0.5rem 0;
	}
}



/**/


.ptf-counter-up__value {
	font-size: 1.8rem !important;
}
.callwrap {
	display: contents;
	align-items: center;
}



/*pft showcase slide mod*/
.ptf-showcase-3 .ptf-showcase-slide {
	align-items: unset;
	height: 100% !important;
	min-height: unset;
}

.lnil {
    display: block;
	padding:20px 0;
	font-weight: bold;
}
.ptf-widget-links {
	columns: 1 !important;
}

.huge {
	font-size: 5.5rem;
	line-height: 1.2 !important;
}

.ptf-counter-up--style-2 .ptf-counter-up__title {
	font-size: 1rem;
}

.ptf-footer--style-3 {
    background-image: none;
}

.ptf-footer--style-3 .ptf-footer__top .ptf-widget-contacts ul li span {
	text-transform: none;
}
.ptf-widget-links ul a {
	text-transform: none;
}
.ptf-footer-fix {
	position: fixed; left: 0px; right: 0px; bottom: 0px;
}
@media only screen and (max-width: 425px) {
.ptf-footer--style-3 .ptf-footer__top .ptf-widget-contacts ul li {
    grid-template-columns: auto;
	margin-bottom: 2em;
}
}




.ptf-phone-block__caption, .ptf-counter-up .ptf-counter-up__title {
	text-transform: none;
}

.ptf-showcase-3 .ptf-showcase-slide {
	padding: 20rem 0;
}

.ptf-services-list--style-5 li {
    line-height: 1.5;
    padding: 0 0 1.5rem 0;
}

.bglight {
	background-color: var(--ptf-color-9);
}
.bgdark {
	background-color: var(--ptf-color-16);
}
.bgorange {
	background-color: var(--ptf-accent-1);
}

/* VIDEO */
/* Style the video: 100% width and height to cover the entire window */
#myVideo {
	position: absolute;
	left: 50%;
	transform: translate(-50%);
	top: 0;
	text-align: center;
	min-width: 100%;
	min-height: 100%;
  }
  
  /* Add some content at the bottom of the video/page */
  .content {
	position: fixed;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	color: #f1f1f1;
	width: 100%;
	padding: 20px;
  }
  
  /* Style the button used to pause/play the video */
  #myBtn {
	width: 200px;
	font-size: 18px;
	padding: 10px;
	border: none;
	background: #000;
	color: #fff;
	cursor: pointer;
  }
  
  #myBtn:hover {
	background: #ddd;
	color: black;
  }

  #videomask {
	background: rgba(0, 0, 0, 0.4); width:100%; height:100%; position:fixed;
  }

  .row {
    --bs-gutter-x: 2.5rem;
  }


  /* terms */
.terms h2 {
	padding-top: 2rem;
	padding-bottom: 0.5rem;
}
.terms p {
	padding-top: 0.5rem;
}
/**/

.rescue-font {
	background-color: rgb(0, 0, 0, 0.85);
	padding: 2rem;
	margin: 0 auto;
	display: inline-block;
}
@media only screen and (max-width: 575px) {
	.rescue-font {
		margin: 15rem 0 1rem 0;
		padding: 1rem;
	}
}
@media only screen and (max-width: 500px) {
	.rescue-font {
		margin: 12rem 0 1rem 0;
		padding: 1rem;
	}
}
@media only screen and (max-width: 400px) {
	.rescue-font {
		margin: 9rem 0 1rem 0;
		padding: 1rem;
	}
}

.email-cta {
color: #fff;
text-decoration: underline !important;
font-size: 4rem;
font-weight: bold;
}
@media only screen and (max-width: 767px) {
	.email-cta {
		font-size: 1.8rem;
		padding-top: 1rem;
	}
}
@media only screen and (max-width: 575px) {
	.email-cta {
		font-size: 1.3rem;
		padding-top: 1rem;
	}
}

.bg-1 {
    background-image: url(../img/root/triangles-bg.png);
    background-repeat: no-repeat;
    background-position:right;
}
.bg-2 {
    background-image: url(../img/home/footer-bg.png);
    background-repeat: no-repeat;
	background-size: cover;
    background-position: center;
}

/* ptf h1 h2 mod */
.ptf-showcase-slide h1 {
	text-align: center;
	line-height: 110% !important;
}
.ptf-showcase-slide h2 {
	font-size: 3em;
	padding: 1em 0;
	text-align: center;
}
@media only screen and (max-width: 575px) {
	.ptf-showcase-slide h1 {
		font-size: 2.8em;
		text-align: left;
		line-height: 125% !important;
	}
	.ptf-showcase-slide h2 {
		font-size: 1.8em;
		text-align: left;
		text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.75);
	}
}

.ptf-showcase-3 .ptf-showcase-image {
	background-position: top;
}

.ptf-filled-link {
    background-image: -webkit-gradient(linear, left top, right top, from(var(--ptf-accent-2)), color-stop(50%, var(--ptf-accent-3)), color-stop(50%, currentColor));
    background-image: -webkit-linear-gradient(left, var(--ptf-accent-2), var(--ptf-accent-3) 50%, currentColor 50%);
    background-image: linear-gradient(to right, var(--ptf-accent-2), var(--ptf-accent-3) 50%, currentColor 50%);
}

/* stripes general rules */
.stripe-space-m {
	padding: 3em 0;
}
.stripe-space-l {
	padding: 5em 0;
}
.stripe-space-xl {
	padding: 10em 0;
}
@media only screen and (max-width: 575px) {
	.stripe-space-xl {
		padding: 5em 0;
	}
}

/* SPLIDE carousel */

.splide__arrow {
    position: relative;
	display: inline-block;
	background: var(--ptf-accent-2);
    border-radius: 0;
    height: 2em;
    width: 5em;
	margin: 0 1em 1em 0;
    top: 55%;
}
.splide__arrow--prev {
    left: 0;
}
.splide__arrow--next {
    right: 0;
}
.splide__pagination {
	display: none;
	position: relative;
}
.splide.bgdark p {
	color: white;
	padding: 0;
}
.splide .desc {
	padding: 1em 0;
}
.splide .desc .count {
	color: var(--ptf-accent-2);
	font-size: 0.8rem;
	font-weight: lighter;
}

.my-carousel-progress {
	background: var(--ptf-accent-1);
  }
  
  .my-carousel-progress-bar {
	background: var(--ptf-accent-2);
	height: 4px;
	transition: width 400ms ease;
	width: 0;
  }

#auto-scroll-slider {
	margin: 2rem 0;
}

#auto-scroll .splide__arrows, .splide__arrows--ltr {
	display: none;
}
#auto-scroll li {
	margin: 0 1rem;
}

.jobsgrid {
	height: auto;
}
.jobsgrid img {
	object-fit: cover;
}
