/* FONTS */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poiret+One:wght@400;500;700;800;900&display=swap');

/* VARIABLES */
:root {
    --c-dark: #2f0b13;
    --c-brand: #2f0b13;
    --c-brand-light: hsl(215, 47%, 88%);
    --c-brand-rgb: 15, 17, 55;
    --c-body: #2c2c2c;
    --c-btn: #fff;
    --c-icon: #2f0b13;
    --font-main: "Roboto", sans-serif;
    --font-heading: "Poiret One", sans-serif;
    --box-shadow: 0px 15px 25px rgba(0,0,0,0.08);
    --transition: all 0.5s ease;
}

/* RESET & HELPERS */
body {
    font-family: var(--font-main);
    line-height: 1.8;
    color: var(--c-body);
}

header {
    position: relative;
    background-color: var(--c-dark);
    height: 35vh;	
    min-height: 25rem;
    width: 100%;
    overflow: hidden;
}

header .container {
	position: relative;
	z-index: 2;
}

header img {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
    object-fit: cover;
	z-index: 0;
	-ms-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);	
	-webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}

/* HERO HEADER */

.hero-header {
  height: 100vh;   /* fallback */
  height: 100dvh;  /* modern browsers, fixes mobile viewport issues */
  min-height: 400px;
  overflow: hidden;
}
.hero-header img,
.hero-header video {
  top: 0;
  left:0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index:0;
}

/* optional overlay text */
.hero-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  color: var(--c-btn);
  text-align: center;
  text-shadow: 0 0 12px rgba(0,0,0,0.7);
  width:80%;
}

.hero-header::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
}

/* FONTS */
h1, h2, h3, h4, h5 {
	text-align: center;
	font-family: var(--font-heading);
	font-weight: 700;
}

@media screen and (max-width: 768px) {
h2 { 
    padding-top: 30px;}
}

h3 {
	font-size: 18px;
}

h3.info {
	text-align: left;;
}

h4 {
    padding-bottom: 20px;
}

dl {
    margin-left:10px;
}

dd {
	margin-left:15px;
}

p {
	text-indent: 10px;
	text-align: left;
	padding-bottom: 5px;
}

p.justify {
	text-align: justify;
}

p.space {
	margin-top:25px;
}
p.center {
	text-align: center;
}
	
.large-font {
    font-size: 48px;
}

a {
    text-decoration: none;
    color: var(--c-btn);
    transition: var(--transition);
}

a:hover {
    color: var(--c-brand-light);
}

/* GENERAL */

img {
   max-width: 100%;
   height: auto;
	border-radius: 5%;
	box-shadow: 8px 8px 15px rgba(0, 0, 0, 0.5);
}

img.noshadow {
	box-shadow: none;
}

/* VIDEO */
.iframe-container {
    position: relative;
    overflow: hidden;
    padding-top: 56.25%; 
    margin: 0 auto;
}

.responsive-iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* BTN */
.btn {
	font-weight: 600;
   font-size: 14px;
   text-transform: uppercase;
   border-radius: 20px;
   padding: 10px 24px;
	margin-bottom:20px;
	}

.btn-brand {
    background: linear-gradient(to right, var(--c-brand), var(--c-brand-light));
    border-radius: 100px;
    border: none;
    font-weight: 600;
    color: var(--c-btn);
}

.btn-brand:hover {
    background: linear-gradient(to right, var(--c-brand-light), var(--c-brand));
    color: var(--c-btn);
}

/* ICONBOX */
.iconbox {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background:transparent;
    border-radius: 10px;
    color: var(--c-icon);
    font-size: 34px;
    flex: none;
}

.container {
    padding: 10px;
}

/* NAVBAR */

.navbar-dark .navbar-nav .nav-link.active, .navbar-light .navbar-nav  {
    background: -webkit-linear-gradient(#fff, var(--c-brand));
    background-clip:text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.navbar {
  width: 100%;
}

.navbar, .navbar-custom {
   box-shadow: 0 12px 20px rgba(0,0,0,0.1);
	background: #2f0b13 !important;
}

.nav-inner-container {
  width: 90%;          /* Uses 90% of the screen on small/medium devices */
  max-width: 1200px;   /* STOPS growing at 1200px so it never gets too wide */
  margin: 0 auto;      /* Keeps it centered */
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* SECTIONS */

section {
    padding-top: 20px;
    padding-bottom: 20px;
    z-index: 2;
    position: relative;
}

.section-intro {
    margin-bottom: 25px;
}

.section-title .line, .section-title .section-intro, .section-title .divider {
    width: 100px;
    height: 4px;
    background: linear-gradient(to right,var(--c-brand), #ddd);
    margin: 16px auto 24px;
}

.section-intro .divider {
    height: 4px;
    width: 100px;
    background: linear-gradient(to right,#eee, var(--c-brand));
    margin: 16px auto;
}

.service .service-img {
    position: relative;
}

.service .service-img .icon {
    width: 90px;
    height: 90px;
    background: linear-gradient(to right,var(--c-brand), #fff);
    color: var(--c-btn);
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: -45px;
    left: 50%;
    transform: translateX(-50%);
}

.service .service-img .icon i {
    font-size: 36px;
}

.feature i {
    background: -webkit-linear-gradient(#ddd, var(--c-brand));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 54px;
}

/* FOOTER */
#myFooter {
	background-color: var(--c-brand);
	color:var(--c-btn);
}

#myFooter .footer-copyright {
	background-color: var(--c-brand);
	padding-top: 3px;
	padding-bottom: 3px;
	text-align: center;
}

#myFooter .footer-copyright p {
	margin:10px;
	color: #eee;
}

#myFooter ul {
	list-style-type: none;
	padding-left: 0;
	line-height: 1.7;
}

#myFooter h4 {
	font-size: 18px;
	color: var(--c-btn);
	font-weight: bold;
	margin-top: 30px;
}

#myFooter a {
	color: #d2d1d1;
	text-decoration: none;
}

#myFooter a:hover, #myFooter a:focus {
	text-decoration: none;
	color: var(--c-brand-light);
}

#myFooter .myCols {
	text-align: center;
}

#myFooter .social-networks {
	width: 100%;
	margin: 0 auto;
	padding-bottom: 10px;
}

#myFooter .social-networks img {
	width: 36px;
	height: 36px;
	background: transparent;
	border:0;
	margin: 0 5px;
	filter: none;
	outline: none;
	box-shadow: none;
}

@media screen and (max-width: 768px) {
#myFooter {
    text-align:center;}
}

