:root {
--dark: #0E1528;
--grey: #244560;
--gold: #F0D268;
--cobalt: #17C0D6;
--white: #EFF0F0;
--light: #A5E4EC;
}

html {
scroll-behavior: smooth
}

body {
font-family: figtree;
overflow-x: hidden;
background: var(--white);
}

.modal-open {
  overflow-y: hidden!important;
}

a {
text-decoration: none!important;
}

@media (width < 1400px) {
  body {
    zoom: 0.9;
  }
}




{///////////////////////////////////////////////////

----------------  HEADER  ----------------------
///////////////////////////////////////////////////}

.bttb {
position: fixed;
bottom:-100px;
right: 60px;
width: 20px;
height: 20px;
padding: 30px;
overflow: hidden;
background: var(--dark);
border-radius: 100%;
z-index: 1;
transition: 0.1s;
}

.bttb:hover {
bottom:-20px!important;
}

.arrow-up {
width: 13px;
height: 13px;
border-top: 5px solid var(--white);
border-left: 5px solid var(--white);
transform: rotate(45deg);
}


.mainheader {
width: 105%;
margin: -10px;
background: var(--dark);
position: relative;
display: block;
color: var(--white);
margin-bottom: -20px;
}

.tophead {
width: 110%;
height: 140px;
position: relative;
}

.logo {
float: left;
position: relative;
font-family: barlow condensed;
font-size: 70px;
color: var(--light);
font-weight: 100;
letter-spacing: -3px;
left: 170px;
top: 30px;
}

.logo b {
color: var(--white);
font-weight:600;
}

.navbar {
width: 800px;
float: right;
position: relative;
display: table;
right: 250px;
top: 80px;
}

.navitem {
text-transform: uppercase;
font-size: 22px;
float: left;
padding-right: 30px;
padding-left: 30px;
height: 60px;
cursor: pointer;
transition: 0.3s;
font-weight: bold;
}

.navitem a{
color: var(--white);
}

.navitem:hover a#navhead{
color: var(--light);
}

.hiddennav {
position: absolute;
background: var(--white);
margin-top: 35px;
border-radius: 2px;
font-size: 18px;
line-height: 15px;
color: var(--dark);
margin-left: -100px;
text-transform: none;
pointer-events: none;
opacity:0;
font-weight: 400;
transition: 0.3s;
z-index:99;
box-shadow: 0px 4px 14px -2px #aaa;
}

.navitem:hover .hiddennav {
pointer-events: auto;
opacity:1;
}

.hiddennav h2 {
line-height: 23px;
margin-top:10px;
}

.column {
float: left;
list-style-type: none;
padding: 10px 40px;
}

.column#withborder {
border-left: 1px solid var(--dark);
}

.column a {
color: var(--dark);
}

.column a:hover {
color: var(--gold);
}

.column li {
margin-top: 15px;
}

.callme {
position: absolute;
right: 390px;
font-size: 30px;
font-weight: 900;
top: 35px;
color: var(--gold);
}

.callme:hover {
color: var(--light);
}

.allbutton {
width: 40px;
height: 40px;
position: relative;
float: right;
margin-top: -15px;
right: 60px;
background: url(imgs/menu.png);
transition: 0.3s;
background-size: cover;
}

.allbutton:hover {
background: url(imgs/menu2.png);background-size: cover;
}

.headercontent {
background: url(imgs/img.jpg);
background-repeat: no-repeat;
background-position: -800px 0px;
height: 100%;
}

.headertexts {
position: absolute;
right: 160px;
width: 600px;
font-size: 21px;
text-align: right;
line-height: 25px;
top: 300px;
}

.headertexts h1 {
font-weight: 900;
font-size: 75px;
line-height: 66px;
}

.headbutton a{
position: relative; 
float: right;
color: var(--gold)!important;
padding: 20px 60px;
border-radius: 3px;
text-transform: uppercase;
font-weight: bold;
border: 3px solid var(--gold);
background: var(--dark);
transition: 0.1s;
}

.headbutton a:hover {
border: 3px solid var(--light);
background: var(--light);
color: var(--dark)!important;
}




{///////////////////////////////////////////////////

----------------  SEGMENT 1  ----------------------
///////////////////////////////////////////////////}


.segment1 {
background: var(--white);
width: 110%;
margin: -00px -50px;
position: relative;
padding-top: 130px;
}

.segment1 h1 {
font-size: 60px;
color: var(--grey);
font-weight: 800;
margin-bottom: -40px;
}

.hovercard {
width: 320px;
height: 260px;
overflow: hidden;
background: var(--white);
text-align: center;
border-radius: 6px;
transition: 0.4s;
}

.cardinner {
width:320px;
height: 520px;
transition: 0.4s;
}

.cardfront {
width: 280px;
padding: 20px;
height: 220px;
background: var(--dark);
color: var(--white);
border-radius: 10px;
margin-top: -10px;
transition: 0.4s;
}

.cardfront h1 {
font-size: 30px;
margin-top: 80px;
color: var(--white);
pointer-events: none;
}

.hovercard:hover .cardinner {
margin-top: -210px;
}

.hovercard:hover .cardfront {
background: var(--cobalt);
}

.hovercard:hover {
box-shadow: 0px 0px 14px -2px #aaa;
}

.cardback {
padding: 20px 50px 0px 40px;
text-align: left;
font-size: 18px;
color: var(--grey);
}

.cardback a {
color: var(--cobalt)!important;
}






{///////////////////////////////////////////////////

----------------  SEGMENT 2  ----------------------
///////////////////////////////////////////////////}



.segment2 {
width: 110%;
margin: -130px -50px;
position: relative;
padding-top: 50px;
height: 800px;
}

.segment2bg {
position: absolute;
z-index: 0;
background: var(--light);
width: 140%;
height: 400px;
}

.segment2 h1 {
font-size: 60px;
z-index: 1;
position: relative;
margin-top: 200px;
margin-bottom:20px;
color: var(--grey);
font-weight: 800;
}

.bookconsult {
width:300px;
padding: 20px;
font-size: 30px;
font-weight: 900;
text-transform: uppercase;
color: var(--grey);
border-radius:4px;
background: var(--white);
z-index: 1;
box-shadow: 0px 0px 10px -6px var(--cobalt);
position:relative;
transition: 0.2s;
}

.bookconsult:hover {
background: var(--dark);
border-color: var(--dark);
color: var(--cobalt);
}

.bookconsult a {
text-decoration: none!important;
color: var(--grey)!important;
}




{///////////////////////////////////////////////////

----------------  CAROUSEL  ----------------------
///////////////////////////////////////////////////}


.carousel-wrapper {
  overflow: hidden;
  width: 760px;
  box-sizing: border-box;
}

.carousel {
  transform-style: preserve-3d;
}

.carousel__photo {
  opacity: 0;
  left: 0px;
  position: absolute;
  top:0;
  width: 500px;
  height: 250px;
  margin: auto;
  padding: 1rem 4rem;
  z-index: 100;
  transition: transform .5s, opacity .5s, z-index .5s;
  background-color: var(--white);
  border-radius: 8px;
  text-align: left;
  font-size: 19px;
  cursor: default;
  font-weight: 400;
}

.carousel__photo h2 {
  font-family: playfair display;
  color: var(--cobalt);
  opacity: 0.5;
  line-height: 10px;
  font-size: 120px;
  margin-top: 60px;
  margin-bottom: -10px;
}

.clientinfo {
padding-left: 30px;
border-left: 2.5px solid var(--cobalt);
color: var(--grey);
}

.clientinfo b{
color: var(--dark);
}

.carousel__photo.initial,
.carousel__photo.active {
  opacity: 1;
  position: relative;
  z-index: 900;
  pointer-events: none;
}

.carousel__photo.prev,
.carousel__photo.next {
  z-index: 800;
}
.carousel__photo.prev {
  transform: translateX(-100%); /* Move 'prev' item to the left */
}
.carousel__photo.next {
  transform: translateX(100%); /* Move 'next' item to the right */
}

.carousel__button--prev,
.carousel__button--next {
  position: absolute;
  top:150px;
  width: 3rem;
  height: 3rem;
  opacity: 0.6;
  background-color: var(--white);
  transform: translateY(-50%);
  border-radius: 50%;
  cursor: pointer; 
  transition: 0.1s;
  z-index: 1001; /* Sit on top of everything */
}


.carousel__button--prev:hover,
.carousel__button--next:hover {
background: #fff;
}

.carousel__button--prev {
  left:0;
}
.carousel__button--next {
  right:0;
}
.carousel__button--prev::after,
.carousel__button--next::after {
  content: " ";
  position: absolute;
  width: 6px;
  height: 6px;
  top: 50%;
  left: 54%;
  border-right: 3px solid var(--grey);
  border-bottom: 3px solid var(--grey);
  transform: translate(-50%, -50%) rotate(135deg);
}
.carousel__button--next::after {
  left: 47%;
  transform: translate(-50%, -50%) rotate(-45deg);
}






{///////////////////////////////////////////////////

----------------  FOOTER 1  ----------------------
///////////////////////////////////////////////////}


.footer1 {
padding: 100px 200px;
display: inline-table;
margin-left:30px;
}

.f1title {
font-size: 20px;
width: 40%;
float: left;
position: relative;
padding-right: 30px;
color: var(--grey);
  font-weight: 400;
text-align: left;
}

.f1title a{
color: var(--cobalt)!important;
}

.f1title h1{
font-size: 90px;
line-height: 70px;
margin-bottom: 10px;
color: var(--dark);
}

.subscribeform {
width: 50%;
float: right;
right: 0px;
position: relative;
top: 40px;
}

.subscribeform input[type="text"]{
padding: 12px 10px;
width: 100%;
background: #f5f5f5;
border-radius: 4px;
border: 2px solid var(--grey);
margin-bottom: 15px;
margin-top: 10px;
font-family: figtree;
font-size: 21px;
}

.subscribeform input[type="text"]:focus {
border: 2px solid var(--grey);
outline:none;
}

.subscribeform input[type="checkbox"]{
  appearance: none;
  -webkit-appearance: none;
padding: 12px 10px;
width: 25px;
height: 25px;
border: 2px solid var(--grey);
background: #f5f5f5;
border-radius: 3px;
outline: none;
margin-bottom: 5px;
margin-top: 5px;
}

.subscribeform label {
font-weight: bold;
font-size: 19px;
color: var(--grey);
padding-left: 5px;
transition: 0.1s;
}

.subchoices label {
font-weight: 400;
position: relative;
padding-top: 0px;
display: inline-block;
}

.checkbox {
display: flex;
align-items: center;
gap: 10px;
}

.subscribeform x {
font-size: 19px;
color: var(--grey);
}


.subscribeform input[type="checkbox"]:hover {
border: 2px solid var(--cobalt);
}

.subscribeform input[type="checkbox"]:checked {
  background-color: var(--light);
border: 2px solid var(--cobalt);
}

.subscribeform button{
background: var(--white);
color: var(--grey);
width: 400px;
padding: 20px;
margin-top: 20px;
font-size: 30px;
font-weight: 900;
text-transform: uppercase;
border-radius: 6px;
font-family: figtree;
border: 3px solid var(--grey);
transition: 0.1s;
cursor: pointer;
}

.subscribeform button:hover {
background: var(--gold);
border: 3px solid var(--gold);
}




{///////////////////////////////////////////////////

----------------  MODALS  ----------------------
///////////////////////////////////////////////////}




/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 2; /* Sit on top */
  padding-top: 100px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: hidden; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
position: relative;
  background-color: var(--white);
  margin-top: 50px;
  width: 50%;
left: -70px;
border-radius: 30px;
color: var(--grey);
overflow: hidden;
height: 400px;
}

/* The Close Button */
.close {
  color: var(--white);
  background: var(--dark);
  width: 20px;
  height: 20px;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
line-height: 15px;
border-radius: 100%;
padding: 10px;
position: absolute;
align-items: center;
top:3px;
right: 3px;
transition: 0.1s;
}

.close:hover {
  color: var(--dark);
  text-decoration: none;
  cursor: pointer;
  background: var(--cobalt);
}

#newsmodal {
box-shadow: 0px 0px 14px -2px var(--grey);
padding: 100px;
}

.offerspread {
width: 105%;
height: 420px;
margin-top: -5px;
}

.offerpop {
width: 300px;
padding: 50px;
text-align: center;
color: var(--grey);
font-family: figtree;
}

.offerpop h2 {
text-transform: uppercase;
color: var(--cobalt);
margin-top: -20px;
}

.offerpop h1 {
text-transform: uppercase;
font-weight: 900;
font-size: 46px;
margin-top: 0px;
line-height: 40px;
margin-bottom: 0px;
}

.offerpop a {
color: var(--white);
transition: 0.1s;
font-size: 20px;
font-weight: bold;
background: var(--cobalt);
padding: 10px 30px;
border-radius: 4px;
}

.offerpop a:hover {
background: var(--gold);
}





{///////////////////////////////////////////////////

----------------  FOOTER 2  ----------------------
///////////////////////////////////////////////////}


.footer2 {
background: var(--grey);
width: 105%;
margin: -10px;
height: 400px;
padding-top: 20px;

}

.credits {
width: 90%;
color: var(--white);
}

.creditsul {
list-style-type: none;
width: 140px;
}

.credits b {
text-transform: uppercase;
}

.creditsul li {
margin-left: -40px;
margin-bottom: 5px;
opacity: 0.8;
}

.creditsr {
text-align: center;
}

.credits a {
color: var(--white)!important;
}

.credits a:hover {
color: var(--gold)!important;
}






{///////////////////////////////////////////////////

----------------  PAGE 1  ----------------------
///////////////////////////////////////////////////}


.page1 {
width: 100%;
margin: -10px;
bacgkround: var(--white);
}

.page1 h1 {
color: var(--dark);
font-size: 70px;
font-weight: 900;
text-align: center;
margin-left: 30px;
}

.indent {
padding-left: 120px;
padding-right: 100px;
display: block;
position: relative;
}

.page1 h2 {
color: var(--dark);
font-size: 50px;
margin-bottom: 10px;
padding-left: 30px;
border-left: 15px solid var(--cobalt);
margin-left:-50px;
}

.page1 b {
font-size: 23px;
color: var(--dark);
text-transform: uppercase;
font-weight: 700;
font-style: italic;
}

.page1 p {
font-size: 20px;
color: var(--grey);
line-height: 30px;
margin-bottom: 100px;
}

.servicegrp {
border-left: 3px solid var(--cobalt);
padding-left: 50px;
margin-bottom: 100px;
}


.consultlink {
margin-top:-60px;
margin-bottom: 160px;
}

.consultlink a{
padding: 5px 30px;
font-size: 18px;
font-weight: 900;
text-transform: uppercase;
text-decoration: none!important;
color: var(--white)!important;
background: var(--cobalt);
border-radius:3px;
z-index: 1;
position:relative;
transition: 0.2s;
}

.consultlink a:hover {
background: var(--dark);
}

.servicegrp img {
width: 100px;
height: 100px;
float:left;
}

.aboutme img {
width: 500px;
float:left;
height: 600px;
object-fit: cover;
border-radius: 5px;
}

.blurb {
float:right;
width: 700px;
font-size: 22px;
}

.aboutme {
width: 100%;
display: inline-block;
}



.bookitem {
width: 260px;
height: 465px;
box-shadow: 0px 2px 10px -2px #aaa;
border-radius: 10px;
padding: 20px;
text-align: center;
float:left;
margin-left: 20px;
}

.bookitem:hover .bookinner {
margin-left:-260px;
}

.bookhold {
width: 260px;
height: 360px;
position: relative;
overflow:hidden;
margin-bottom: 20px;
}

.bookinner {
width: 520px;
height:360px;
transition: 0.3s;
transition-delay: 0.1s;
}

.bookcover {
position:relative;
float:left;
}

.bookcover img{
width: 260px;
height:360px;
object-fit: cover;
}

.bookblurb {
width: 210px;
height:310px;
float:right;
padding: 25px;
font-size: 17px;
color: var(--grey);
}

.bookitem b {
font-weight: 900;
font-style: normal;
font-size: 25px;
color: var(--grey);
}

.buybook {
width: 210px;
height: 30px;
padding: 15px 25px;
text-align: center;
background: var(--cobalt);
bottom:0px;
position: relative;
transition: 0.1s;
border-radius: 4px;
color: var(--white);
font-weight: 900;
text-transform: uppercase;
font-size: 30px;
line-height: 30px;
}

.buybook:hover {
background:var(--dark);
}


.contact1 {
width: 510px;
height: 200px;
padding: 30px;
text-align:center;
background: var(--light);
box-shadow: 0px 0px 13px -8px var(--grey);
border-radius: 20px;
color: var(--grey);
overflow: hidden;
position: relative;
}

.continner {
width: 510px;
padding: 30px;
background: var(--white);
margin-left:-30px;
margin-top:-10px;
}

.contact2:hover {
background: var(--gold);
}

.contact2 h3 {
font-family: figtree;
text-transform: uppercase;
font-size: 50px;
font-weight: 900;
}

.contax a {
color: var(--dark)!important;
}

.conticon img {
width: 30px;
}

.conticon {
width: 30px;
height: 30px;
border-radius: 100%;
padding: 20px;
background: var(--white);
margin: auto;
margin-bottom: 20px;
margin-top: 20px;
}

.contact1 b {
color: var(--dark);
font-style: normal;
font-weight: 900;
font-size: 32px;
}
.contact1 x {
color: var(--white);
background: var(--cobalt);
padding: 5px 25px;
font-weight: 900;
border-radius: 4px;
font-size: 25px;
}

.contact1 p {
color: var(--grey);
font-style: normal;
font-size: 18px;
margin-top:20px;
line-height: 22px;
}

