/*---Fonts---*/
@font-face {
    font-family: "jost";
    src: url(../fonts/Jost-VariableFont.ttf);
}
@font-face {
    font-family: "sourceserif4";
    src: url(../fonts/SourceSerif4-VariableFont.ttf);
}

/*---General---*/
h2 {
    font-size: 42px;
    line-height: 45px;
    font-family: "sourceserif4";   
}
body {
    color: #333333;
    font-size: 17px;
    font-weight: 400;
    line-height: 22px;
    font-family: 'jost';
    background-color: #3a5670;
}
b {
    font-weight: 599;
}
@media(max-width:1199px) {
h2 {
    font-size: 38px;
    line-height: 40px;
}
body {
    font-size: 16.5px;
    line-height: 21.5px;
}
}
@media(max-width:767px), (max-width:991px) and (orientation: landscape) {
h2 {
    font-size: 34px;
    line-height: 36px;
}
}
img, a {
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
}
.row {
    margin: 0;
}
.col-6, .col-md-6, .col-lg-6, .col-md {
    margin: auto;
    padding-left: 0px;
    padding-right: 0px;
}
.container {
    padding-left: 50px;
    padding-right: 50px;
    max-width: 1200px;
}
@media(max-width:767px) {
.container {
    padding-left: 15px;
    padding-right: 15px;
}
}

/*---Lenis---*/
html.lenis, html.lenis body {
    height: auto;
}
.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}
.lenis.lenis-stopped {
    overflow: hidden;
}
.lenis.lenis-smooth iframe {
    pointer-events: none;
}

/*---Navigation Bar (78px/59px/55px)---*/
.navbar {
    background-color: rgba(15,40,72,0.7)!important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding-top: 30px;
    padding-bottom: 30px;
    touch-action: pinch-zoom;
    transition: all 0.4s ease-in-out;
}
.navbar-brand img {
	width: 240px;
    transform: translateY(2.8px);
}
.navbar-nav {
    margin-left: 20px;
}
.navbar-nav li {
	padding-left: 3px;
	padding-right: 3px;
}
.nav-link {
    color: #bbbbbb!important;
    transition: all 0.8s;
}
.nav-link:hover {
	color: #ffffff!important;
}

@media(max-width:1199px) {
.navbar {
    padding-top: 20px;
    padding-bottom: 20px;
}
.navbar-brand img {
	width: 216px;
    transform: translateY(2.5px);
}
}
@media(max-width:991px) {
.navbar {
    padding-top: 14px;
    padding-bottom: 14px;
}
.navbar-brand img {
	width: 192px;
    transform: translateX(-29px) translateY(2.35px);
}
.navbar-brand {
    z-index: 1;
}
.navbar-toggler {
    margin-right: -31px;
    z-index: 1;
}
.navbar-collapse.collapsing {
    transition: height 0ms;
}
.navbar-collapse, .navbar-collapse ul {
    transition: opacity 0.2s ease-in-out;
    top: 0;
    left: 0;
    right: 0;
    height: calc(100dvh + 59px);
    opacity: 0;
    display: flex;
    position: absolute;
    text-align: center;
    align-items: center;
    justify-content: center;
    background-color: #3a5670;
}
.navbar-collapse.show, .navbar-collapse ul {
    opacity: 1;
} 
.nav-link {
    font-size: 20px;
    line-height: 26px;
}
.navbar-nav {
    margin-left: 0px;
}
.navbar-nav li {
    padding-top: 2px;
    padding-bottom: 2px;
	padding-left: 0px;
	padding-right: 0px;
}
}
@media(max-width:767px) {
.navbar-toggler {
    margin-right: 12px;
}
}
@media(max-width:991px) and (orientation: landscape) {
.navbar .container {
    padding-left: 20px;
    padding-right: 20px;
}
.navbar-toggler {
    margin-right: -1px;
}
}
@media(max-width:767px) and (orientation: landscape) {
.navbar-toggler {
    margin-right: 10px;
}
}
@media(max-width:767px), (max-width:991px) and (orientation: landscape) {
.navbar {
    padding-top: 12px;
    padding-bottom: 12px;
}
.navbar-brand {
    width: 20%;
}
.navbar-brand img {
    transform: translateX(0px) translateY(2.3px);
}
.nav-link {
    font-size: 18px;
    line-height: 22px;
}
.navbar-collapse {
    height: calc(100dvh + 55px);
}
}
/*animated hamburger menu*/
.navbar-toggler {
    width: 20px;
    height: 20px;
    position: relative;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    touch-action: manipulation;
}
.navbar-toggler, .navbar-toggler:focus, .navbar-toggler:active, .navbar-toggler-icon:focus {
    border: 0;
    outline: none;
    box-shadow: none;
}
.navbar-toggler span {
    margin: 0;
    padding: 0;
}
.toggler-icon {
    left: 0;
    width: 100%;
    height: 3px;
    display: block;
    opacity: 1;
    position: absolute;
    border-radius: 1px;
    background: #bbbbbb;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}
.middle-bar {
    margin-top: 0px;
}
/*when navigation is clicked*/
.navbar-toggler .top-bar {
    margin-top: 0px;
    transform: rotate(135deg) scale(1.15);
}
.navbar-toggler .middle-bar {
    opacity: 0;
    filter: alpha(opacity=0);
}
.navbar-toggler .bottom-bar {
    margin-top: 0px;
    transform: rotate(-135deg) scale(1.15);
}
/*state when the navbar is collapsed*/
.navbar-toggler.collapsed .top-bar {
    margin-top: -18px;
    transform: rotate(0deg);
}
.navbar-toggler.collapsed .middle-bar {
    opacity: 1;
    filter: alpha(opacity=100);
}
.navbar-toggler.collapsed .bottom-bar {
    margin-top: 18px;
    transform: rotate(0deg);
}
/*colour of hamburger menu*/
.navbar-toggler.collapsed .toggler-icon {
    background: linear-gradient(170deg, rgba(255,255,255,1) 0%, rgb(92,136,177) 100%);
}
@media(max-width:767px) {
.navbar-toggler {
    transform: scale(0.9) translateX(14px);
}
}

/*---Italic Header on Hover---*/
.spine-header:hover,
.about-header:hover,
.listing-header:hover,
.retail-header:hover,
.cta-shop-header:hover {
    font-style: italic;
}
.spine-header:before,
.about-header:before,
.listing-header:before,
.retail-header:before,
.cta-shop-header:before {
    content: " ";
    display: none;
    position: absolute;
    margin-top: 21px;
    margin-left: -40px;
    width: 40px;
    height: 3px;
    border-radius: 0px 1px 1px 0px;
    background: linear-gradient(160deg, rgb(58,86,112,1),rgb(58,86,112,0.3));
}
.spine-header:hover::before,
.about-header:hover::before,
.listing-header:hover::before,
.retail-header:hover::before,
.cta-shop-header:hover::before {
    display: block;
}
@media(max-width:1199px) {
.spine-header:before,
.about-header:before,
.listing-header:before,
.retail-header:before,
.cta-shop-header:before {
    margin-top: 19px;
}
}
@media(max-width:767px) {
.spine-header:hover,
.about-header:hover,
.listing-header:hover,
.retail-header:hover,
.cta-shop-header:hover {
    font-style: normal;
}
.spine-header:hover::before,
.about-header:hover::before,
.listing-header:hover::before,
.retail-header:hover::before,
.cta-shop-header:hover::before {
    display: none;
}
}

/*---Buttons---*/
.btn {
    font-size: 17px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 30px;
    padding-right: 30px;
    border: 0px;
    border-radius: 0px;
    object-position: center;
    color: #ffffff!important;
    background-color: #333333!important;
    transition: all 0.4s ease-in-out;
}
.btn:hover {
    color: #ffe5b0!important;
    background-color: #3a5670!important;	
}
@media(max-width:1199px) {
.btn {
    font-size: 16.5px;
    padding-top: 9px;
    padding-bottom: 9px;
    padding-left: 27px;
    padding-right: 27px;
}
}

/*---Footer---*/
#Footer {
    background-color: #3a5670;
}
#Footer .col-md-5, .footer-logo img {
    padding: 0;
    width: 178px;
}
#Footer .col-md-7 {
    padding: 0;
    margin-top: 13px;
    margin-left: 40px;
}
.footer-body {
    padding-top: 50px;
    padding-bottom: 50px;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
}
.social-media-icons {
    margin-top: calc(28px - 7px);
    margin-left: -7px;
    margin-right: -7px;
}
.bi-facebook, .bi-instagram, .bi-envelope {
    width: 18px;
    color: #ffffff;
    margin: 7px;
}
.footer-line {
    margin: 0;
    color: #ffffff;
}
.footer-link {
    margin-left: 8px;
    margin-right: 8px;
    color: #bbbbbb;
    text-decoration: none;
    transition: all 0.8s;
}
.footer-link:hover {
	color: #ffffff;	
}
.footer-text {
    margin: 0;
    padding-top: 40px;
    padding-bottom: 40px;
    color: #bbbbbb;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.2px;
}
.william-link {
    color: #bbbbbb;
    text-decoration: none;
    user-select: all;
    -webkit-user-select: all;
    -webkit-touch-callout: all;
    transition: all 0.8s; 
}
.william-link:hover {
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
	color: #ffffff;	
}
@media(max-width:767px), (max-width:991px) and (orientation: landscape) {
#Footer .col-md-5, .footer-logo img {
    width: 160px;
}
}
@media(max-width:767px) {
#Footer .col-md-5, .footer-logo img {
    margin: auto;
}
#Footer .col-md-7 {
    margin-top: 0px;
    margin-left: 0px;
    text-align: center;
}
.social-media-icons {
    margin-bottom: 28px;
    text-align: center;
}
.footer-text {
   text-align: center;
}
.footer-link {
    margin-top: 16px;
    margin-bottom: 16px;
    display: block;
}
}

/*---Animate On Scroll---*/
.hidden {
    filter: blur(3px);
    transform: translatey(-8px);
    opacity: 0;
    transition: 0.6s ease-in-out;
}
.show {
    filter: blur(0px);
    transform: translatey(0px);
    opacity: 1;
}
.fade-home-banner:nth-child(2) {
    transition-delay: 0.6s;
}
.fade-home-banner:nth-child(3) {
    transition-delay: 1.2s;
}
.fade-home-banner:nth-child(4) {
    transition-delay: 1.8s;
}
#About .hidden {
    transform: translatey(0px);
    transform: translateX(-25px);
}
#About .show {
    transform: translatey(0px);
    transform: translateX(0px);
}
@media(max-width:991px) {
#About .hidden {
    transform: translateX(0px);
    transform: translatey(50px);
}
#About .show {
    transform: translateX(0px);
    transform: translatey(0px);
}
}
#Synopsis .hidden, #Stats .hidden, #Endorsement .hidden, #CTA-Shop .hidden  {
    transform: translateX(0px);    
    transform: translatey(90px);
}
#Synopsis .show, #Stats .show, #Endorsement .show, #CTA-Shop .show {
    transform: translateX(0px);
    transform: translatey(0px);
}
#Contents .hidden  {
    transform: translateX(0px);    
    transform: translatey(40px);
}
#Contents .show {
    transform: translateX(0px);
    transform: translatey(0px);
}