/*
Theme Name: Blackbeard Software
Description: Theme developed by Blackbeard Software for blackbeardsoftware.com.
Author: Vörös A. Imre - Blackbeard Software
Author URI: https://blackbeardsoftware.com
Version: 1.0.0
License: Copyright © 2025 Blackbeard Software

This software cannot be modified, sold or given away without the written consent of the license holder.
*/

:root{
    --bg_color_dark_transparent: rgba(0, 31, 63, 0.75);
    --bg_color_dark: #001F3F;
    --bg_color_light_transparent: rgba(248, 248, 255, 0.75);
    --bg_color_light: #F8F8FF;
    --font_color_dark: #001F3F;
    --font_color_light: #F8F8FF;
    --grey: #b9c0d1;
    --highlight1: #B5FF33;
    --highlight1_rgba: rgba(181, 255, 51, 1);
    --highlight2: #87CEEB;
    --highlight2_rgba: rgba(135, 206, 235, 1);
    --highlight3: #FF4500;
    --highlight3_rgba: rgba(255, 69, 0, 1);
    --anim: 250ms;
    --font_heading: "BebasNeue-Regular", sans-serif;
    --font_thin: "LeagueSpartan-Thin", sans-serif;
    --font_extralight: "LeagueSpartan-ExtraLight", sans-serif;
    --font_light: "LeagueSpartan-Light", sans-serif;
    --font_regular: "LeagueSpartan-Regular", sans-serif;
    --font_medium: "LeagueSpartan-Medium", sans-serif;
    --font_semibold: "LeagueSpartan-SemiBold", sans-serif;
    --font_bold: "LeagueSpartan-Bold", sans-serif;
    --font_extrabold: "LeagueSpartan-ExtraBold", sans-serif;
    --font_black: "LeagueSpartan-Black", sans-serif;
}

/* GENERAL */

html, body {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 100%;
    line-height: 1.2;
    scroll-behavior: smooth;
}
body {
    background-color: var(--bg_color_light);
    color: var(--font_color_dark);
    overflow-x: hidden;
    font-family: var(--font_extralight);
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
    position:relative;
}
body img {
	display:block;
	max-width:100%;
	max-height:100%;
}
h1,h2,h3,h4,h5 {
    margin:0;
}
p {
	margin:0;
}
.nobr {
	white-space: nowrap;
}
.highlight1{
	color: var(--highlight1);
}
.highlight2{
	color: var(--highlight2);
}
.highlight3{
	color: var(--highlight3);
}
.light {
    font-family:var(--font_extralight);
    font-weight:200;
}
.bold,
strong {
    font-family:var(--font_bold);
    font-weight:600;
}
.black {
    font-family:var(--font_black);
    font-weight:900;
}
.service-actual.smaller{
	font-size: 24px;
    font-family: var(--font_light);
}
.service-actual.smaller li{
	font-size: 22px;
	line-height:1.2;
    font-family: var(--font_light);
}
.service-actual a{
    color:inherit;
}
.service-actual a:hover,
.service-actual a:focus,
.service-actual a:active{
    color:var(--highlight2);
}
h3{
    font-size:40px;
    color:var(--highlight1);
    font-weight:600;
    font-family:var(--font_bold);
}
*:not(input):not(textarea),
[tabindex]:not(input):not(textarea),
button,
a {
    caret-color: transparent;
}
input,
textarea {
    caret-color: auto;
}
#backdrop{
	display: none;
}

/* BUTTON RESET */

button{
	border: none;
    margin: 0;
    padding: 0;
    width: auto;
    overflow: visible;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: normal;
    -webkit-font-smoothing: inherit;
    -moz-osx-font-smoothing: inherit;
    -webkit-appearance: none;
	cursor: pointer;
}
button::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/* HEADER */

header {
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background-color: transparent;
    color: var(--font_color_light);
    transition: all var(--anim) ease;
}
header.sticky {
    height: 80px;
    background-color: var(--bg_color_dark);
    box-shadow: 0 0 5px 0px rgba(135, 206, 235, 0.3);
    transition: all var(--anim) ease;
}
header .container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    align-items: center;
    height: 100%;
    padding: 0 25px;
    box-sizing: border-box;
}

/* LOGO */

.blackbeard {
    font-family: var(--font_heading);
    cursor: pointer;
}
.software {
    font-family: var(--font_extralight);
}
.logolink {
    text-decoration: none !important;
    transform:scale(1);
    transition: all var(--anim) ease;
}
.logolink:hover path,
.logolink:focus path,
.logolink:active path{
    transform:scale(0.95);
    transition: all var(--anim) ease;
}
.logolink .blackbeard {
    color: var(--font_color_light);
    font-size: 44px;
    vertical-align: middle;
    display: inline-block;
    line-height: 1;
    margin: 0;
    margin-left: 25px;
    transition: all var(--anim) ease;
}
.logolink:hover .blackbeard,
.logolink:focus .blackbeard,
.logolink:active .blackbeard {
    color: var(--highlight1);
    transition: all var(--anim) ease;
}
.logolink path,
.logolink path,
.logolink path {
    fill: var(--font_color_light) !important;
    transition: all var(--anim) ease;
}
.logolink:hover path,
.logolink:focus path,
.logolink:active path {
    fill: var(--highlight1) !important;
    transition: all var(--anim) ease;
}
.logo {
    max-height: 100px;
    height: 100%;
    padding: 10px 0;
    box-sizing: border-box;
    transition: all var(--anim) ease;
}
.logo svg{
    max-height: 100px;
    height: 100%;
    display: inline-block;
    vertical-align: middle;
}
.sticky .logo{
    height: 80px;
    transition: all var(--anim) ease;
}
.sticky .logolink p {
    font-size: 36px;
    margin-top: 7px;
    transition: all var(--anim) ease;
}

/* MENU */

.menu {
    display: flex;
    gap: 25px;
    padding-right: 30px;
    font-family: var(--font_heading);
    font-weight: 400;
}
.menu a {
    color: var(--font_color_light);
    text-decoration: none;
    font-size: 24px;
    padding: 8px 25px 5px 25px;
    position: relative;
    transition: color var(--anim) ease;
}
.menu a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    background-color: transparent;
    box-shadow: -0px 0px 0px rgba(135, 206, 235, 0);
    transform: translateX(-50%) skew(-12deg);
    transform-origin: center;
    z-index: -1;
    transition: all var(--anim) ease;
}
.menu a::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translateX(-50%) skew(-12deg);
    transform-origin: center;
    transition: all var(--anim) ease;
}
.menu a:hover::before,
.menu a:focus::before,
.menu a:active::before {
    box-shadow: -4px 4px 0px var(--highlight3);
    background-color: var(--highlight1);
    transition: all var(--anim) ease;
}
.menu a:hover,
.menu a:focus,
.menu a:active {
    color: var(--highlight3);
    transition: color var(--anim) ease;
}
.hamburger {
    display: none;
    font-size: 30px;
    cursor: pointer;
}

/* HERO */

.hero-container {
    min-height: 1080px;
    display: flex;
    flex-direction: column;
}
.video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    /*width: 100vw;*/
    height: 1080px;
}
.hero-content {
    position: relative;
    z-index: 1;
    color: var(--font_color_light);
    text-align: center;
    padding: 100px 25px 60px 25px;
    background-color: var(--bg_color_dark_transparent);
    flex: 1 1 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
    height: 100%;
}
.main-title {
    text-align: left;
    max-width: 1440px;
    margin: 0 auto;
    padding-top: 100px;
    width: 100%;
}
.main-title h1 {
    font-size: 100px;
    font-family: var(--font_heading);
    font-weight:400;
    margin-bottom: 30px;
    transform-origin: center center;
    display: inline-block;
}
.main-title h2 {
    color: var(--highlight1);
    font-size: 60px;
    font-family: var(--font_thin);
    font-weight: 100;
    margin-bottom: 40px;
}

.main-title ul {
    font-size: 40px;
    font-family: var(--font_thin);
    font-weight: 100;
    margin:0;
    margin-left: 80px;
    margin-bottom: 30px;
}
.main-title li {
    margin-bottom: 16px;
}
.main-title sup{
    font-size:20px;
}
.zero-compromise {
    font-size: 40px;
    font-family: var(--font_heading);
    font-weight: 400;
    text-align: center;
    letter-spacing: 1vw;
    opacity: 0;
    color: var(--bg_color_light_transparent);
}

/* LOCK IT DOWN LANDING */

.hero-lock-it-down .hero-content{
    background-image: 
      linear-gradient(to right, var(--bg_color_dark_transparent), rgba(0, 31, 63, 0.95)), 
      url('./assets/img/bulletproof-wordpress-setup/cybersecurity-1920.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom:150px;
}
.hero-lock-it-down .hero-content .main-title{
    padding-top: 50px;
}
.hero-lock-it-down .hero-content .main-title h2 {
    margin-bottom:40px;
}
.hero-lock-it-down .hero-content .main-title li {
    margin-bottom:30px;
}
.problem-photo {
    border: 2px solid var(--highlight3);
    box-sizing: border-box;
    max-width:650px;
}
.problem-content .about-us-left {
    flex: 1 1 650px;
}
.problem-content .about-us-right {
    flex: 1 1 calc(100% - 700px);
}
.problem-content .about-us-text {
    color:var(--font_color_dark);
    font-size:30px;
}
.problem-content .problem-text {
    color:var(--highlight3);
    font-family:var(--font_bold);
    font-weight:600;
    font-size:30px;
}
.problem-content .problem-description {
    font-size:26px;
    margin-bottom:20px;
    line-height:1.4;
}

.solution-photo {
    border: 2px solid var(--highlight2);
    box-sizing: border-box;
    max-width:400px;
}
.bigger .solution-photo{
    max-width:600px;
}
.solution .about-us-text{
    font-size:30px;
}
.solution .about-us-text i,
.problem-content .about-us-text i{
    margin-right:15px;
    transition:all var(--anim) ease;
}
.solution .about-us-text:hover i,
.problem-content .about-us-text:hover i {
    margin-left:15px;
    margin-right:0px;
    transition:all var(--anim) ease;
}
.solution .about-us-left {
    flex: 1 1 400px;
}
.solution .about-us-right {
    flex: 1 1 calc(100% - 450px);
}
.solution .about-us-left.bigger {
    flex: 1 1 600px;
}
.solution .about-us-right.bigger {
    flex: 1 1 calc(100% - 650px);
}

.lock-it-down .about-us-text{
    font-size:1.65rem;
}
.lock-it-down .footer-left {
    flex-grow:1;
}
.lock-it-down .logo svg {
    max-height: 60px;
}
.lock-it-down .logolink .blackbeard {
    font-size:24px;
    margin-left:15px;
}

/* CTA */

.main-cta-holder {
    display: flex;
    justify-content: center;
    gap:100px;
    position:relative;
    z-index:1;
}
.services-content .main-cta-holder,
.vision-content .main-cta-holder,
.problem-content .main-cta-holder {
    flex:1 1 100%;
    z-index: 1;
    margin-top:100px;
    margin-bottom:70px;
}
.cta {
    position: relative;
    color: var(--font_color_dark);
    text-decoration: none;
    font-size: 26px;
    padding: 22px 68px 20px 68px;
    font-family: var(--font_heading);
    font-weight: 400;
    z-index: 2;
    transition: all var(--anim) ease;
}
.cta:hover,
.cta:focus,
.cta:active{
    color:var(--highlight3);
    transition: all var(--anim) ease;
}
.cta::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    background-color: var(--highlight1);
    box-shadow: -10px 10px 0px var(--highlight3);
    transform: translateX(-50%) skew(-12deg);
    transform-origin: center;
    z-index: -1;
    transition: all var(--anim) ease;
}
.cta::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    box-shadow: 0px 0px 6px var(--font_color_dark);
    transform: translateX(-50%) skew(-12deg);
    transform-origin: center;
    z-index: 1;
    transition: all var(--anim) ease;
}
.cta:hover::before,
.cta:focus::before,
.cta:active::before {
    box-shadow: -6px 6px 0px var(--highlight3);
    transition: all var(--anim) ease;
}
.cta2::before {
    box-shadow: -10px 10px 0px var(--highlight3);
    transition: all var(--anim) ease;
}
.cta2:hover::before,
.cta2:focus::before,
.cta2:active::before {
    box-shadow: -6px 6px 0px var(--highlight3);
    transition: all var(--anim) ease;
}

/* VISION */

.heading-bar {
    background-color: var(--highlight2);
}
.heading {
    font-size: 70px;
    font-family: var(--font_heading);
    text-shadow: -4px 4px 0 var(--font_color_light);
    max-width: 1440px;
    text-align: center;
    display: block;
    margin:0 auto;
    padding: 18px 25px 10px 25px;
}
.vision-content {
    padding-top: 150px;
    padding-bottom: 150px;
    background-color: var(--bg_color_dark);
    color: var(--font_color_light);
    position: relative;
    overflow: hidden;
	padding-left: 50px;
    padding-right: 50px;
}
.vision-inner {
    max-width: 1440px;
    margin:0 auto;
}
.vision-text {
    font-size: 52px;
    max-width:1440px;
    margin:0 auto;
    display:block;
    text-align:right;
    margin-bottom: 150px;
}
.point-holder {
    max-width:1440px;
    margin:0 auto;
    display:flex;
    flex-wrap:wrap;
    gap:60px;
}
.point {
    margin-bottom:20px;
    flex:1 1 auto;
    flex-basis: calc(33.33% - 20px);
}
.point-box {
    position: relative;
    color: var(--font_color_dark);
    text-decoration: none;
    font-size: 36px;
    padding: 14px 30px 12px 30px;
    font-family: var(--font_heading);
    font-weight: 400;
    z-index:10;
    display: inline-block;
    align-items: center;
    justify-content: center;
    margin-bottom:50px;
}
.point-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    background-color: var(--highlight2);
    box-shadow: -10px 10px 0px var(--highlight1);
    transform: translateX(-50%) skew(-12deg);
    transform-origin: center;
    z-index: -1;
}
.point-box i{
    display:inline-block;
    margin-left:25px;
    vertical-align:middle;
	font-size: 42px;
}
.point-text {
    display:block;
    font-size:22px;
    font-family: var(--font_thin);
    font-weight: 100;
    height: calc(100% - 124px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width:90%;
	margin:0 auto;
    text-align:justify;
}
@keyframes snowUp {
  0% {
    top: 100%;
  }
  100% {
    top: -10%;
  }
  
}
.snowflake {
  position: absolute;
  bottom: -10%;
  width: 3px;
  height: 3px;
  background: var(--bg_color_light_transparent);
  border-radius: 50%;
  opacity: 0.8;
  animation: snowUp linear infinite;
  animation-fill-mode: forwards;
  z-index:10;
}

/* Speed categories */
.snowflake:nth-child(5n) { animation-duration: 20s; } /* Extra slow */
.snowflake:nth-child(5n+1) { animation-duration: 16s; } /* Slow */
.snowflake:nth-child(5n+2) { animation-duration: 12s; } /* Medium */
.snowflake:nth-child(5n+3) { animation-duration: 8s; } /* Fast */
.snowflake:nth-child(5n+4) { animation-duration: 6s; } /* Very Fast */

/* SERVICES */

.services-content,
.problem-content,
.faq-content {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 10vw;
    padding-right: 10vw;
    padding-top: 100px;
    padding-bottom: 100px;
    gap: 50px;
    background-color: var(--bg_color_light);
    flex-wrap: wrap;
    align-items: stretch;
    background-image:url('./assets/img/services_bg4.jpg');
    background-repeat:repeat;
    background-size:contain;
}
.service-box {
    flex:1 1 auto;
    flex-basis:calc(33.33% - 100px);
    max-width: 33.33%;
    min-height:300px;
    position: relative;
    overflow: hidden;
    background: var(--highlight2);
    color:var(--font_color_light);
    z-index: 0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    text-align: center;
    box-sizing: border-box;
    align-items: stretch;
    border:3px solid transparent;
    transition: all var(--anim) ease;
}
.service-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    background-color: var(--bg_color_dark);
    box-shadow: -0px 0px 0px rgba(135, 206, 235, 0);
    transform: translateX(-50%) skew(-12deg);
    transform-origin: center;
    z-index: -1;
    transition: all var(--anim) ease;
    border-left:3px dashed transparent;
    border-right:3px dashed transparent;
}
.service-box:hover::before {
    border-left:3px dashed var(--highlight1);
    border-right:3px dashed var(--highlight1);
    background-color: var(--bg_color_dark_transparent);
    transition: all var(--anim) ease;
}
.service-box:hover {
    border:3px solid var(--highlight1);
    transition: all var(--anim) ease;
}
.service-box-inner {
    padding: 45px 45px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    flex: 1;
    cursor: pointer;
    transform:scale(0.97);
    transition:all var(--anim) ease;
}
.service-title {
    margin: 0;
    font-size: 40px;
    font-family: var(--font_heading);
    font-weight: 400;
    margin-bottom: 1rem;
    cursor: pointer;
}
.service-icon {
    margin-bottom: 1rem;
    font-size:60px;
    font-weight:600;
}
.service-description {
    font-size: 20px;
    margin: 0;
    font-weight: 100;
    flex-grow: 1;
    margin-bottom: 2rem;
    cursor: pointer;
}
.service-link,
.service-link:visited {
    display:flex;
    flex-direction:column;
    flex: 1;
    cursor: pointer;
    color:var(--font_color_light);
    text-decoration:none;
}
.service-read-more {
    cursor: pointer;
    color:var(--highlight1);
    letter-spacing: 0.7vw;
    font-family:var(--font_heading);
    font-size:1rem;
    opacity:0;
    transition:opacity var(--anim) ease;
}
.service-link:hover .service-read-more,
.service-link:focus .service-read-more,
.service-link:active .service-read-more {
    opacity:1;
    transition:opacity var(--anim) ease;
}
.service-link:hover .service-box-inner,
.service-link:focus .service-box-inner,
.service-link:active .service-box-inner {
    transform:scale(1);
    transition:all var(--anim) ease;
}

.additional-services{
    flex: 1 1 100%;
}
.additional-services-heading {
    font-size: 50px;
    font-family: var(--font_heading);
    text-shadow: -4px 4px 0 var(--highlight2);
    margin: 0;
    padding: 18px 25px 10px 25px;
    text-align: center;
}

.hero-services{
    min-height:unset;
}
.hero-services.web-app .hero-content{
    background-image: linear-gradient(to right, var(--bg_color_dark_transparent), rgba(0, 31, 63, 0.95)), url(./assets/img/services/close-up-server-hub-it-professional-debugging-optimizing-code-hd.jpg);
}
.hero-services.api .hero-content{
    background-image: linear-gradient(to right, var(--bg_color_dark_transparent), rgba(0, 31, 63, 0.95)), url(./assets/img/services/application-programming-interface-hologram-hd.jpg); 
}
.hero-services.legacy .hero-content{
    background-image: linear-gradient(to right, var(--bg_color_dark_transparent), rgba(0, 31, 63, 0.95)), url(./assets/img/services/representation-user-experience-interface-design-hd.jpg); 
}
.hero-services.maintenance .hero-content{
    background-image: linear-gradient(to right, var(--bg_color_dark_transparent), rgba(0, 31, 63, 0.95)), url(./assets/img/services/computer-motherboard-with-dolls-hd.jpg); 
}
.hero-services.hosting .hero-content{
    background-image: linear-gradient(to right, var(--bg_color_dark_transparent), rgba(0, 31, 63, 0.95)), url(./assets/img/services/data-center-with-server-racks-corridor-room-3d-render-digital-data-cloud-technology-hd.jpg); 
}
.hero-services.consulting .hero-content{
    background-image: linear-gradient(to right, var(--bg_color_dark_transparent), rgba(0, 31, 63, 0.95)), url(./assets/img/services/two-young-businessmen-with-report-hd.jpg); 
}
.service-intro{
    font-size:32px;
    line-height:1.5;
	text-align:justify;
}
.service-actual{
    display:block;
    gap:0;
    text-align:left;
    font-size:32px;
    background-size:cover;
    background-position:center;
}
.service-actual p{
    margin-bottom:1em;
    line-height:1.5;
}
.service-actual li{
    font-size:26px;
    line-height:1.5;
}
.with-image{
    display:flex;
    gap: 0 50px;
}
.image-part{
    flex:1 1 auto;
    flex-basis: 600px;
}
.image-part img {
    border: 2px solid var(--highlight2);
}
.text-part{
    flex:1 1 auto;
    flex-basis:calc(100% - 650px);
}
.image-left { order: 2; }
.text-right { order: 3; }

.image-right { order: 3; }
.text-left { order: 2; }
.fullwidth{
    text-align:left;
    font-size:32px;
    margin-bottom:1em;
    line-height:1.5;
    order: 4;
}
.fullwidth.before{
    order:1;
}

/* ABOUT US */
.about-us-content{
    background-color:var(--bg_color_dark);
    padding:25px;
    padding-top:100px;
    padding-bottom:100px;
}
.about-us-flex{
    display:flex;
    max-width:1440px;
    margin:0 auto;
    gap:50px;
    flex-wrap:wrap;
}
.about-us-full{
    flex:1 1 100%;
}
.about-us-left{
    flex:1 1 400px;
}
.about-us-right{
    flex:1 1 auto;
    flex-basis:calc(100% - 450px);
}
.profile-photo{
    max-width:400px;
    border: 2px solid var(--highlight2);
    box-sizing: border-box;
}
.about-us-text{
    color:var(--font_color_light);
    font-size:24px;
    margin-bottom:25px;
	text-align:justify;
	line-height: 1.3;
}
.about-us-text:last-of-type{
    margin-bottom:70px;
}
.partners-heading {
    font-size:50px;
    color:var(--font_color_dark);
    background-color:var(--highlight1);
    text-shadow:-4px 4px 0 var(--highlight2);
    padding:15px 25px 12px 25px;
    border: 2px solid var(--highlight2);
    border-top:0;
    border-bottom:0;
}
.partners-holder{
    padding:50px 25px 50px 25px;
    background-color:var(--bg_color_light);
    border: 2px solid var(--highlight2);
    border-top:0;
}
.partner-link img{
    margin:0 auto;
    transform:scale(1);
    transition:all var(--anim) ease;
    max-width:170px;
}
.partner-link{
    display:block;
    margin-bottom:50px;
}
.partner-link:last-of-type{
    margin-bottom:0;
}
.partner-link:hover img,
.partner-link:focus img,
.partner-link:active img{
    transform:scale(0.96);
    transition:all var(--anim) ease;
}

/* FAQ */
.faq-flex{
    display:flex;
    max-width:1440px;
    margin:0 auto;
    flex-wrap:wrap;
}
.faq-question{
    flex:1 1 100%;
    font-size:30px;
    font-family:var(--font_bold);
    font-weight:600;
    margin-bottom:15px;
    line-height:1.4;
	text-decoration: underline;
}
.faq-answer{
    flex:1 1 100%;
    font-size: 26px;
    margin-bottom:50px;
    line-height:1.4;
	text-align:justify;
}
.faq-answer i{
    margin-right:15px;
}

/* CASE STUDIES */
/*.case-content{
    padding-top:100px;
    padding-bottom:100px;
}*/

/* BLOG */
.hero-container.hero-blog{
    min-height:unset;
}
.hero-blog .hero-content{
    background-image: 
	linear-gradient(to right, var(--bg_color_dark_transparent), rgba(0, 31, 63, 0.95)), 
      url('./assets/img/blog/aerial-view-man-using-computer-laptop-wooden-table-1920.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom:150px;
}
.blog-bg{
    background-color: var(--bg_color_light);
    background-image:url('./assets/img/services_bg4.jpg');
    background-repeat:repeat;
    background-size:cover;
	padding: 0 25px;
}
.blog-container{
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1440px;
    margin: 0 auto;
    padding-top: 100px;
    padding-bottom: 100px;
    gap: 50px;
    align-items: stretch;
}
.blog-container p{
    font-size:20px;
}
.blog-container article{
    max-width:400px;
    flex:1 1 auto;
    flex-basis:calc(400px - 50px);
    display: flex;
    flex-direction: column;
}
.blog-item-excerpt{
    flex-grow:1;
    background-color: var(--bg_color_dark);
    color: var(--font_color_light);
    padding: 25px;
    padding-bottom: 0;
	text-align:justify;
}
.blog-item-title a{
    font-size:28px;
    font-weight:600;
    font-family:var(--font_bold);
    color:var(--font_color_dark);
    text-decoration:none;
    line-height: 1.2;
    display:block;
    padding:15px 25px 13px 25px;
    transition:all var(--anim);
}
.blog-item-title a:hover,
.blog-item-title a:focus,
.blog-item-title a:active{
    background-color: var(--highlight1);
    color: var(--font_color_dark);
    transition:all var(--anim);
}
.blog-item-footer{
    padding-top:15px;
    text-align: right;
    background-color: var(--bg_color_dark);
    color: var(--font_color_light);
}

.blog-article{
    max-width:1440px;
    margin:0 auto;
    padding-top:50px;
    padding-bottom:50px;
    font-family: var(--font_light);
    font-weight: 300;
	padding-left:25px;
	padding-right:25px;
}
.wp-block-separator{
    margin-bottom:25px;
}
h2.wp-block-heading{
    font-family:var(--font_bold);
    margin-bottom:25px;
    font-size:32px;
}
h3.wp-block-heading{
    font-family:var(--font_bold);
    margin-bottom:15px;
    font-size:24px;
    color:var(--bg_color_dark_transparent);
}
.blog-article p{
    font-size:20px;
    margin-bottom:25px;
    line-height: 1.5;
	text-align: justify;
}
.has-text-align-right {
    text-align:right;
}
.wp-block-list{
    font-size:20px;
    line-height: 1.3;
}
.wp-block-list li{
    margin-bottom:12px;
}
.blog-article table,
.blog-article td{
    border: 1px solid var(--grey);
}
.wp-block-table{
    margin-left:auto;
    margin-right:auto;
}
.back-to-blog{
    display:inline-block;
    margin-bottom:30px;
    color:var(--font_color_dark);
    font-size:16px;
}
.back-to-blog:hover,
.back-to-blog:focus,
.back-to-blog:active{
    text-decoration:none;
}
ol.references li{
    font-size:16px;
    font-style: italic;
}
.blog-item-read-more{
    display:block;
    text-decoration: none;
    padding: 10px 20px 9px 20px;
    font-size: 18px;
    font-family: var(--font_heading);
    color:var(--font_color_light);
    transition:all var(--anim);
}
.blog-item-read-more:hover,
.blog-item-read-more:focus,
.blog-item-read-more:active{
    background-color: var(--highlight1);
    color: var(--font_color_dark);
    transition:all var(--anim);
}
.blog-item-thumbnail{
    border: 2px solid var(--bg_color_dark);
}
.blog-item-thumbnail a img{
    transform: scale(1);
    transition:transform var(--anim);
}
.blog-item-thumbnail a:hover img,
.blog-item-thumbnail a:focus img,
.blog-item-thumbnail a:active img{
    transform: scale(0.98);
    transition:transform var(--anim);
}
.blog-item-thumbnail a{
    background-color:var(--highlight1);
    display: block;
}


/* CONTACT */
.contact-content{
    padding-top:100px;
    padding-bottom:100px;
    background-color:var(--bg_color_dark);
}
.contact-flex{
    display:flex;
    max-width:1440px;
    margin:0 auto;
    gap:50px;
}
.contact-left{
    flex:1 1 400px;
}
.contact-right{
    flex:1 1 auto;
    flex-basis:calc(100% - 400px);
}
.contact-center {
    max-width:600px;
    width:100%;
    margin:0 auto;
}
.contact-form-box{
    color:var(--font_color_light);
    font-size:1.5rem;
}
.contact-info{
    font-size:32px;
    text-align:center;
    margin-bottom:50px;
}
.contact-form-box label{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom:25px;
}
.contact-form-box label.gdpr {
    gap:25px;
    cursor:pointer;
}
.contact-form-box label[for="message"] {
	align-items: flex-start;
}
.contact-form-box label a,
.contact-form-box label a:visited{
    color:var(--highlight2);
}
.contact-form-box label a:hover,
.contact-form-box label a:focus,
.contact-form-box label a:active{
    color:var(--highlight1);
}
input,
select,
textarea,
label{
    position:relative;
    z-index:1;
}
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea{
    padding: 10px 20px;
    max-width: 350px;
    width: 100%;
    box-sizing: border-box;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus{
    outline:2px solid var(--highlight1);
}
textarea{
    display:block;
    min-height: 200px;
    max-height: 400px;
    resize: vertical;
    overflow: auto;
}
.contact-form-box label.gdpr p{
    font-size:20px;
}
input[type="checkbox"]{
    width:40px;
    height:40px;
	cursor:pointer;
}
.contact-form-box button{
    margin:0 auto;
    display:block;
}
.recaptcha{
    display:flex;
    justify-content:center;
    margin-bottom:0px;
}
.error{
    margin-top:15px;
    margin-bottom:15px;
}
.loader-small-placeholder{
    padding:1px;
}

/* PACKAGES */
.packages-content {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 10vw;
    padding-right: 10vw;
    padding-top: 100px;
    padding-bottom: 100px;
    gap: 50px;
    background-color: var(--bg_color_light);
    flex-wrap: wrap;
    align-items: stretch;
    background-image:url('./assets/img/services_bg4.jpg');
    background-repeat:repeat;
    background-size:auto;
}
.package-box{
    background-color:var(--bg_color_light_transparent);
    padding:40px 25px;
    border:1px solid var(--highlight2);
    flex: 0 0 calc((100% - 100px) / 3);
    max-width: calc((100% - 100px) / 3);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition:all var(--anim) ease;
}
.package-box:hover {
    box-shadow:0 0 6px 0px rgba(0, 31, 63, 0.3);
    transition:all var(--anim) ease;
}
.package-box .cta {
    margin-top: 25px;
}
.package-title{
    font-size:34px;
    font-family:var(--font_heading);
    text-align:center;
    margin-bottom:12px;
}
.package-text{
    font-size:20px;
    font-family: var(--font_bold);
    margin-bottom:10px;
}
.package-price {
    font-size:24px;
    font-family: var(--font_bold);
    color:var(--highlight3);
    text-align:center;
    margin-bottom: 10px;
}
.package-contents{
    font-size:20px;
}
.package-description ul li{
    font-size:20px;
    margin-bottom:6px;
}

/* CASE STUDIES */
.case-content {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 10vw;
    padding-right: 10vw;
    padding-top: 100px;
    padding-bottom: 100px;
    gap: 50px;
    background-color: var(--bg_color_light);
    flex-wrap: wrap;
    align-items: stretch;
    background-image:url('./assets/img/services_bg4.jpg');
    background-repeat:repeat;
    background-size:auto;
}

.case-box{
    background-color:var(--bg_color_light_transparent);
    padding:40px 25px;
    border:1px solid var(--highlight2);
    flex: 0 0 calc((100% - 100px) / 3);
    max-width: calc((100% - 100px) / 3);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition:all var(--anim) ease;
}
.case-box:hover {
    box-shadow:0 0 6px 0px rgba(0, 31, 63, 0.3);
    transition:all var(--anim) ease;
}

/* PARTNERS */

.partners,
.problem-content{
    background-size: cover;
    background-position: center;
}

.carousel {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    max-width: 1440px;
    position:relative;
}

.carousel-inner {
    display: flex;
    width: max-content;
    will-change: transform; /* Helps optimize animation */
    transform: translateZ(0); /* Enables GPU acceleration */
    /*animation: scroll 135s linear infinite;*/
    animation: scroll 90s linear infinite;
}

.carousel-inner img {
    max-width: 200px;
    max-height: 100px;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: 0 50px;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* FOOTER */

footer {
    background-color: var(--bg_color_dark);
    color: var(--font_color_light);
    padding-top:40px;
    padding-bottom:20px;
}
.page-template-page-service footer {
	box-shadow: 0 0 5px 0px rgba(135, 206, 235, 0.3);
}
.footer-container {
    max-width: 53.33%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
	margin-bottom: 30px;
}
.footer-left {
    flex: 0 1 auto;
    text-align: left;
}
.footer-right {
    flex: 0 1 auto;
    text-align: left;
}
h5.footer-heading {
    font-size: 1.6rem;
    margin-bottom: 1rem;
    font-family: var(--font_heading);
    font-weight: 400;
}
.footer-text {
    font-size: 1.1rem;
    margin-bottom:0.5rem;
}
.footer-text.social {
    font-size:40px;
    margin-top:20px;
}
.footer-text.social a {
    color: var(--font_light);
    /*margin-right:15px;*/
    transition: all var(--anim) ease;
}
.footer-text.social a:hover,
.footer-text.social a:focus,
.footer-text.social a:active {
    color: var(--bg_color_light_transparent);
    transition: all var(--anim) ease;
}
.footer-link,
.footer-link:visited {
    position: relative;
    text-decoration: none;
    color: var(--font_color_light);
    display: inline-block;
    font-size: 1.1rem;
    font-family: var(--font_thin);
    font-weight: 100;
}
.footer-link::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 1px;
    background-color: var(--bg_color_light_transparent);
    transition: width 0.3s ease-in-out;
}
.footer-link:hover::after,
.footer-link:focus::after,
.footer-link:active::after {
    width: 100%;
}
.footer-link:not(:hover, :focus, :active)::after {
    transition: width 0.3s ease-in-out, left 0.3s ease-in-out;
    left: 100%;
    width: 0;
}
.footer-text.smaller{
    margin-bottom:0.2rem;
}
.footer-text.smaller a{
    font-size:0.8rem;
}

.copyright-container{
    flex:1 1 100%;
    text-align: center;
}
.copyright-container svg{
    max-height: 30px;
    display: inline-block;
    vertical-align: bottom;
}

/* 404 */
.hero-container.not-found{
    min-height:850px;
    position:relative;
}
.hero-container.not-found .video-background{
    height:100%;
}
.hero-container.not-found .hero-content{
    padding-bottom:150px;
}

/* RESPONSIVE */

/* Styles for touch-only devices */
@media (pointer: coarse) and (hover: none) {
    .service-read-more {
        opacity:1;
    }
}

@media all and (max-width:1700px){
	.services-content {
		padding-left: 5vw;
		padding-right: 5vw;
	}
}

@media all and (max-width:1520px){
	.service-title {
		font-size: 36px;
	}
	.service-description {
		font-size: 19px;
	}
	.page-template-page-service .service-actual {
		font-size: 28px;
	}
	.page-template-page-service .fullwidth {
		font-size: 28px;
	}
	.service-actual li {
		font-size: 22px;
	}
}

@media all and (max-width:1440px){
	.menu {
        gap: 10px;
    }
	.page-template-page-service .image-part {
		flex-basis: 500px;
	}
	.page-template-page-service .text-part {
		flex-basis: calc(100% - 550px);
	}
	.page-template-page-service .heading {
		font-size: 50px;
		padding: 12px 25px 10px 25px;
	}
}

@media all and (max-width:1366px){
	.menu a {
		font-size:23px;
		padding: 8px 20px 5px 20px;
	}
	.heading {
		font-size: 60px;
	}
	.point-box {
		font-size: 34px;
	}
	.point-text {
		font-size: 20px;
	}
	.vision-content {
		padding-bottom: 120px;
	}
	.faq-question {
		font-size: 28px;
	}
	.faq-answer {
		font-size: 24px;
	}
	.footer-container {
		max-width: 73.33%;
	}
	.services-content {
		padding-top: 70px;
		padding-bottom: 70px;
	}
	.page-template-page-service .main-title h1 {
		font-size: 80px;
	}
	.page-template-page-service .main-title h2 {
		font-size: 50px;
	}
	.page-template-page-service .service-intro {
		font-size: 28px;
	}
	.page-template-page-service .hero-services .hero-content {
		padding-bottom: 120px;
	}
}

@media all and (max-width:1280px){
	.menu a {
		font-size:21px;
		padding: 6px 16px 5px 16px;
	}
	.service-box {
		flex-basis: calc(50% - 50px);
		max-width: 50%;
	}
	.service-box-inner {
		padding: 40px 40px;
	}
	.service-description {
		margin-bottom: 1.5rem;
	}
	.service-icon {
		margin-bottom: 0;
	}
	.vision-text {
		font-size: 46px;
	}
	.point-box {
        font-size: 28px;
    }
	.point-box i {
		font-size: 36px;
	}
	.page-template-page-service .service-actual {
		font-size: 24px;
	}
	.page-template-page-service .fullwidth {
		font-size: 24px;
	}
	.page-template-page-service .main-title h1 {
        font-size: 70px;
    }
	.page-template-page-service .main-title h2 {
        font-size: 40px;
    }
	.page-template-page-service .service-intro {
        font-size: 24px;
    }
	.page-template-page-service .hero-services .hero-content {
        padding-bottom: 100px;
    }
}

@media all and (max-width:1200px){
	.logolink .blackbeard {
		font-size: 36px;
	}
	header {
		height: 90px;
	}
	.logolink .blackbeard {
        margin-top:7px;
    }
	.sticky .logolink p {
		font-size: 32px;
	}
	.sticky .logo {
		height: 74px;
	}
	.about-us-left {
		flex: 1 1 360px;
	}
	.profile-photo {
		max-width: 360px;
	}
	.about-us-right {
		flex-basis: calc(100% - 410px);
	}
}

@media all and (max-width:1140px){
	.logolink .blackbeard {
		font-size: 30px;
	}
	.sticky .logolink p {
		font-size: 28px;
	}
	.logo {
		max-height: 80px;
	}
	.sticky .logo {
		height: 70px;
	}
	.vision-text {
        font-size: 40px;
    }
	.point-holder{
		gap:50px;
	}
	.point-box {
        font-size: 26px;
		margin-bottom: 25px;
    }
	.point-box i {
		font-size: 34px;
	}
	.point-text {
		font-size: 19px;
	}
	.cta{
		font-size:24px;
	}
	.page-template-page-service .image-part {
		flex-basis: 400px;
		max-width:400px;
	}
	.page-template-page-service .text-part {
		flex-basis: calc(100% - 450px);
	}
}

@media all and (max-width:1050px){
	#menu {
		position: fixed;
		top: 90px;
		right: -100%;
		width: 240px;
		height: calc(100vh - 90px);
		background: #001F3F;
		padding: 2rem;
		display: flex;
		flex-direction: column;
		gap: 1.5rem;
		transition: right 0.3s ease;
		z-index: 998;
		box-sizing: border-box;
		transition: all var(--anim) ease;
	}
	#menu.visible {
		right: 0;
	}
	#hamburger{
		display:block;
		width: 90px;
		line-height: 85px;
		text-align: center;
		padding-top:5px;
		box-sizing: border-box;
		transition:all var(--anim) ease;
	}
	#hamburger:hover, 
	#hamburger:focus,
	#hamburger:active{
		color: var(--highlight1);
		transition:all var(--anim) ease;
	}
	.sticky #hamburger{
		line-height: 75px;
	}
	.sticky #menu {
		top: 80px;
		height: calc(100vh - 80px);
	}
	#backdrop {
		display:block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
		z-index: 2;
	}
	#backdrop.visible {
		opacity: 1;
		pointer-events: auto;
	}
	.point-holder {
        gap: 25px;
    }
	.point{
		flex-basis:100%;
		display: flex;
        flex-direction: column;
	}
	.point-text {
		height:auto;
	}
	.vision-text {
        font-size: 38px;
		margin-bottom: 100px;
    }
	.about-us-left {
		flex: 1 1 300px;
	}
	.profile-photo {
		max-width: 300px;
	}
	.about-us-right {
		flex-basis: calc(100% - 350px);
	}
	.about-us-text {
		font-size: 22px;
	}
}

@media all and (max-width:1024px){
	.main-title h1 {
		font-size: 80px;
	}
	.main-title h2 {
		font-size: 50px;
	}
	.main-title ul {
		font-size: 32px;
	}
	.cta {
		font-size: 21px;
		padding: 17px 58px 15px 58px;
	}
	.zero-compromise {
		font-size: 30px;
	}
	.hero-container {
		min-height: 960px;
	}
	.vision-content {
        padding-bottom: 80px;
    }
	.heading {
        font-size: 54px;
    }
	.carousel-inner img {
		max-width: 160px;
		max-height: 80px;
		margin: 0 40px;
	}
	.page-template-page-service .main-title h1 {
        font-size: 58px;
    }
	.page-template-page-service .main-title h2 {
        font-size: 34px;
		margin-bottom:36px;
    }
	.page-template-page-service .service-intro {
        font-size: 24px;
    }
	.page-template-page-service .hero-container {
        min-height: 590px;
    }
	.page-template-page-service .heading {
        font-size: 42px;
	}
	.page-template-page-service .image-part {
		flex-basis: 300px;
		max-width:300px;
	}
	.page-template-page-service .text-part {
		flex-basis: calc(100% - 350px);
	}
	.page-template-page-service .service-actual {
        font-size: 22px;
    }
	.service-actual li {
        font-size: 21px;
		line-height: 1.3;
    }
}

@media all and (max-width:950px){
	.vision-text {
        font-size: 36px;
	}
	.about-us-left {
		flex: 1 1 250px;
	}
	.profile-photo {
		max-width: 250px;
	}
	.about-us-right {
		flex-basis: calc(100% - 300px);
	}
	.about-us-text {
		font-size: 21px;
	}
}

@media all and (max-width:900px){
	.main-title {
		margin-bottom: 0;
	}
	.main-title h1 {
        font-size: 70px;
    }
	.main-title h2 {
        font-size: 40px;
    }
	.main-title ul {
        font-size: 28px;
		margin-bottom: 0px;
    }
	.main-title ul li:last-child {
		margin-bottom: 0;
	}
	.zero-compromise {
        font-size: 24px;
    }
	.hero-container {
        min-height: 900px;
    }
	.services-content{
		gap:25px;
	}
	.service-box {
        flex-basis: 100%;
        max-width: 100%;
		min-height: unset;
    }
	.service-box-inner {
        padding: 25px 25px;
    }
	.service-icon {
		font-size: 40px;
	}
	.service-description {
        margin-bottom: 1rem;
    }
	.heading {
        font-size: 46px;
    }
	.service-title {
        font-size: 34px;
		margin-bottom: 0.5rem;
    }
	.about-us-flex {
		gap:25px;
	}
	.about-us-content{
		padding-top: 50px;
	}
	.about-us-left {
		flex: 1 1 100%;
	}
	.about-us-text:last-of-type {
		margin-bottom: 50px;
	}
	.profile-photo {
        max-width: 120px;
        margin: 0 auto;
    }
	.about-us-right {
		flex-basis: 100%;
	}
	.faq-content {
		padding-top: 70px;
		padding-bottom: 70px;
	}
	.faq-question {
        font-size: 26px;
    }
	.faq-answer {
        font-size: 22px;
    }
	.faq-flex .faq-answer:last-of-type {
		margin-bottom: 0;
	}
	.contact-info {
		font-size: 26px;
	}
	.footer-container {
        max-width: 100%;
        padding-left: 50px;
        padding-right: 50px;
    }
	.footer-text {
		font-size: 16px;
	}
	.vision-text {
        font-size: 32px;
    }
	.blog-container{
		gap:25px;
	}
	.blog-item-title a{
		font-size: 22px;
	}
	.blog-container p {
		font-size: 18px;
	}
	.page-template-page-service .service-actual {
        font-size: 21px;
    }
	.page-template-page-service .service-actual p {
        text-align: justify;
    }
	.page-template-page-service .fullwidth {
        font-size: 21px;
    }
	.page-template-page-service .services-content {
		flex-wrap: wrap;
		padding-top: 50px;
        padding-bottom: 50px;
	}
	.page-template-page-service .image-part {
        flex: 1 1 100%;
		max-width:unset;
    }
	.page-template-page-service .image-part img {
		margin:0 auto;
	}
	.page-template-page-service .text-part {
		flex: 1 1 100%;
	}
	.page-template-page-service .text-right {
		order:unset;
	}
}

@media all and (max-width:790px){
	.vision-text {
        font-size: 30px;
    }
	.point-box {
		padding: 10px 30px 10px 30px;
	}
	.point-box i {
        font-size: 30px;
    }
}

@media all and (max-width:768px){
	.hero-container {
        min-height: 800px;
    }
	.main-title {
		padding-top:50px;
	}
	.main-title h1 {
        font-size: 58px;
    }
	.main-title h2 {
        font-size: 32px;
    }
	.main-title ul {
        font-size: 26px;
		margin-left: 50px;
	}
	.zero-compromise {
        font-size: 21px;
    }
	.cta {
        font-size: 18px;
        padding: 15px 50px 13px 50px;
    }
	.heading {
        font-size: 42px;
		padding: 14px 25px 8px 25px;
    }
	.service-title {
        font-size: 30px;
	}
	.service-box-inner {
        padding: 20px 20px;
		transform: scale(1);
    }
	.vision-content {
		padding-top: 130px;
	}
	.vision-text br {
		display: none;
	}
	.faq-question {
        font-size: 24px;
    }
	.faq-answer {
		font-size: 21px;
		text-align:justify;
	}
	.faq-content {
		padding-left: 50px;
		padding-right: 50px;
	}
	.contact-content {
		padding-top: 50px;
	}
	.contact-info {
        font-size: 24px;
    }
	.contact-form-box {
		font-size: 21px;
	}
	input[type="text"], input[type="email"], input[type="tel"], select, textarea {
		padding: 8px 12px;
		max-width: 70%;
	}
	.carousel-inner img {
        max-width: 130px;
        max-height: 70px;
		margin: 0 30px;
	}
	.footer-container {
		flex-wrap:wrap;
		gap: 25px;
	}
	.footer-left, .footer-right {
		flex: 1 1 100%;
		text-align: center;
	}
	.footer-right .footer-heading {
		padding-top: 25px;
		border-top: 1px solid var(--font_color_light);
	}
	.footer-text.social {
		margin-top: 15px;
		margin-bottom: 0;
	}
	h5.footer-heading {
		font-size: 24px;
		margin-bottom: 10px;
	}
	.footer-container {
        gap: 15px;
    }
	.copyright{
		font-size:14px;
	}
	.page-template-page-service .main-title h1 {
        font-size: 50px;
    }
	.page-template-page-service .main-title h2 {
        font-size: 32px;
    }
	.page-template-page-service .service-intro {
        font-size: 24px;
    }
	.page-template-page-service .hero-container {
        min-height: 590px;
    }
	.page-template-page-service .hero-services .hero-content {
		padding-bottom: 70px;
	}
	.page-template-page-service .hero-lock-it-down .hero-content .main-title {
		padding-top: 30px;
	}
	.page-template-page-service .service-actual {
        font-size: 20px;
    }
	.page-template-page-service .fullwidth {
        font-size: 20px;
    }
	.service-actual li {
        font-size: 20px;
    }
}

@media all and (max-width:730px){
	.contact-form-box {
        font-size: 20px;
    }
	.contact-form-box label.gdpr {
		margin-bottom:10px;
	}
	textarea {
		min-height: 150px;
		max-height: 300px;
	}
	input[type="text"], input[type="email"], input[type="tel"], select, textarea {
        padding: 6px 10px;
        max-width: 70%;
    }
	.contact-content{
		padding-left:25px;
		padding-right:25px;
		padding-bottom:90px;
	}
	.contact-center{
		max-width:100%;
	}
	.blog-item-title a {
        font-size: 21px;
		padding: 15px 20px 13px 20px;
    }
	.blog-container{
		flex-wrap:wrap;
		justify-content: center;
		max-width: 100%;
	}
	.blog-container p {
        font-size: 16px;
    }
	.blog-container {
		padding-top: 50px;
	}
	.blog-container article {
		max-width: 300px;
		flex-basis: calc(300px - 50px);
	}
}

@media all and (max-width:600px){
	.main-title h1 {
        font-size: 50px;
    }
	.main-title h2 {
        font-size: 28px;
    }
	.main-title li {
		margin-bottom: 12px;
	}
	.main-title ul {
        font-size: 22px;
	}
	.main-cta-holder {
		gap: 50px;
	}
	.zero-compromise {
        font-size: 18px;
    }
	.hero-container {
        min-height: 700px;
    }
	.services-content .main-cta-holder{
		margin-top: 70px;
		margin-bottom: 50px;
	}
	.vision-content {
        padding-top: 100px;
    }
	.vision-text {
        font-size: 26px;
		margin-bottom: 80px;
    }
	.point-box {
        font-size: 22px;
	}
	.point-box i {
        font-size: 30px;
    }
	.point-text {
        font-size: 18px;
    }
	.vision-content .main-cta-holder {
		margin-top: 80px;
		margin-bottom: 50px;
	}
	.heading {
        font-size: 40px;
        padding: 12px 25px 10px 25px;
    }
	.page-template-page-service .main-title h1 {
        font-size: 46px;
    }
	.page-template-page-service .main-title h2 {
        font-size: 28px;
    }
	.page-template-page-service .service-intro {
        font-size: 22px;
    }
	.page-template-page-service .heading {
        font-size: 32px;
    }
	.page-template-page-service .hero-container {
        min-height: 500px;
    }
}

@media all and (max-width:500px){
	header .container {
		padding: 0 15px;
	}
	#hamburger {
        width: 50px;
	}
	.logo {
        max-height: 60px;
    }
	.sticky .logo {
		height: 54px;
	}
	.logolink .blackbeard {
        font-size: 24px;
		margin-left: 15px;
    }
	.sticky .logolink .blackbeard {
        font-size: 21px;
    }
	.main-title h1 {
        font-size: 40px;
		margin-bottom: 15px;
    }
	.main-title h2 {
        font-size: 24px;
		margin-bottom: 30px;
    }
	.main-title ul {
        font-size: 20px;
    }
	.hero-container {
        min-height: 600px;
    }
	.main-title {
        padding-top: 25px;
    }
	.cta {
		padding: 12px 40px 10px 40px;
	}
	.heading {
        font-size: 34px;
	}
	.service-box-inner {
        padding: 15px 20px;
	}
	.services-content {
        padding-top: 50px;
        padding-bottom: 50px;
    }
	.service-title {
        font-size: 26px;
    }
	.service-title br {
		display: none;
	}
	.service-description {
        font-size: 18px;
		margin-bottom: 10px;
    }
	.service-icon {
        font-size: 32px;
    }
	.services-content .main-cta-holder {
        margin-top: 50px;
        margin-bottom: 30px;
    }
	.point-box {
        padding: 8px 25px 8px 25px;
    }
	.point-text{
		max-width: 100%;
		font-size: 17px;
	}
	.vision-content .main-cta-holder {
        margin-top: 50px;
        margin-bottom: 20px;
    }
	.about-us-text {
        font-size: 20px;
    }
	.about-us-content {
		padding-bottom: 70px;
	}
	.faq-content{
		padding:50px 25px;
	}
	.faq-question {
        font-size: 22px;
    }
	.faq-answer {
        font-size: 20px;
		line-height: 1.3;
    }
	.contact-form-box label:not(.gdpr) {
		flex-wrap:wrap;
		margin-bottom: 15px;
	}
	input[type="text"], input[type="email"], input[type="tel"], select, textarea {
        max-width: 100%;
		margin-top:5px;
    }
	.vision-text {
        font-size: 24px;
	}
	.page-template-page-service .main-title h1 {
        font-size: 40px;
    }
	.page-template-page-service .main-title h2 {
        font-size: 24px;
    }
	.page-template-page-service .service-intro {
        font-size: 18px;
    }
	.page-template-page-service .heading {
        font-size: 34px;
    }
}

@media all and (max-width:470px){
	.main-title ul {
        margin-left: 0px;
	}
	.cta {
		font-size: 17px;
        padding: 10px 30px 8px 30px;
    }
	.zero-compromise {
        font-size: 16px;
    }
	.service-description {
        font-size: 17px;
        margin-bottom: 5px;
    }
	.about-us-text {
        font-size: 18px;
		line-height: 1.35;
    }
	.heading {
        font-size: 32px;
    }
	.faq-question {
        font-size: 21px;
    }
	.faq-answer {
        font-size: 18px;
        line-height: 1.35;
    }
	.services-content {
        padding-top: 30px;
        padding-bottom: 30px;
    }
	.carousel-inner img {
        max-width: 110px;
        max-height: 60px;
        margin: 0 20px;
    }
	.contact-info {
        font-size: 21px;
    }
	.footer-container {
        gap: 10px;
    }
	.footer-right .footer-heading {
        padding-top: 15px;
	}
}

@media all and (max-width:420px){
	.hero-container {
        min-height: 540px;
    }
	.hero-content {
		padding: 100px 25px 50px 25px;
	}
	.main-title {
        padding-top: 10px;
		margin-bottom:0;
    }
	.main-title h1 {
        font-size: 34px;
        margin-bottom: 10px;
	}
	.main-title h2 {
        font-size: 21px;
        margin-bottom: 15px;
    }
	.main-title ul{
		font-size: 18px;
		padding-left: 25px;
	}
	.main-cta-holder {
        gap: 25px;
    }
	.contact-form-box {
        font-size: 18px;
    }
	.contact-form-box label.gdpr p {
		font-size: 18px;
	}
	.page-template-page-service .service-intro {
        font-size: 17px;
    }
	.service-intro {
		line-height: 1.4;
	}
	.page-template-page-service .service-actual ul {
		padding-left:25px;
	}
	.page-template-page-service .service-actual li {
        font-size: 18px;
    }
	.page-template-page-service .service-actual p {
		font-size: 19px;
	}
}

@media all and (max-width:370px){
	.logo {
        max-height: 50px;
    }
	.sticky .logo {
		height: 44px;
	}
	.logolink .blackbeard {
        font-size: 21px;
		margin-left: 12px;
    }
	.sticky .logolink .blackbeard {
        font-size: 20px;
    }
	.main-cta-holder {
        gap: 25px;
        flex-wrap: wrap;
		margin-bottom: 15px;
    }
	.hero-container .cta {
		flex: 1 1 100%;
	}
	.hero-container {
        min-height: 630px;
    }
	.hero-content {
        padding: 90px 25px 25px 25px;
    }
	.service-box-inner {
        padding: 15px 15px;
    }
	.service-description {
        font-size: 16px;
	}
	.vision-content {
        padding-top: 80px;
    }
	.vision-text {
        margin-bottom: 70px;
    }
	.vision-content {
		padding-left: 15px;
        padding-right: 15px;
	}
	.point-box {
        font-size: 20px;
		padding: 8px 10px 8px 10px;
    }
	.point-box i {
        font-size: 20px;
		margin-left: 5px;
    }
	.point-box::before {
		box-shadow: -5px 5px 0px var(--highlight1);
	}
	.about-us-text {
        font-size: 17px;
        line-height: 1.2;
    }
	.faq-question {
        font-size: 20px;
    }
	.faq-answer {
        font-size: 17px;
        line-height: 1.2;
    }
}