/******************************************/
/** General                              **/
/******************************************/

:root {
   --primary: #00461c;
   --secondary: #4e6c5a;
	--black: #000000;
   --gray: #555555;
   --light: #f2f2f2;
	--white: #ffffff;
   --darkgreen: #00461c;
   --green: #4e6c5a;
   --light-green: #eef4ee;
   --gray-green:#a1baaa;
   --light-yellow:#ffca2c;
   --lime:#b8ce3d;
}

*, *::before, *::after {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

html, body {
   min-height: 100vh;
   min-height: 100dvh;
   color: var(--gray);
   background-color: var(--white);
}

/******************************************/
/** Helpers                              **/
/******************************************/

/* Colors */

.text-primary {color: var(--primary) !important;}

.text-secondary {color: var(--secondary) !important;}

.text-lime {color: var(--lime) !important;}

.hover\:text-primary:hover {color: var(--primary) !important;}

.bg-primary {background-color: var(--primary) !important;}

.btn.bg-primary {background-color: var(--primary) !important;}

.btn.bg-light-green {background-color: var(--light-green) !important;}

.btn.bg-light-yellow {background-color: var(--light-yellow) !important;}

.hover\:bg-primary:hover {background-color: var(--primary) !important;}

.text-white {color: var(--white) !important;}

.text-black {color: var(--black) !important;}

.text-gray-green{ color: var(--gray-green) !important;}



/* Fonts */

.fs-7 {font-size: .95rem;}
.fs-8 {font-size: .8rem;}
.fs-9 {font-size: .7rem;}


/* Sizes */

.button {padding: 15px 25px;}

.w-fit {width: fit-content;}
.w-screen {width: 100vw; width: 100dvw;}
.h-screen {height: 100vh; height: 100dvh;}

/* Components */

.icon-md {
	width: 30px;
	height: 30px;
	min-width: 30px;
	min-height: 30px;
}

.icon-lg {
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
}

.gibson-light{
   font-family: "canada-type-gibson", sans-serif;
   font-weight: 300 !important;
   font-style: normal;
}

.gibson-semibold{
   font-family: "canada-type-gibson", sans-serif;
   font-weight: 600 !important;
   font-style: normal;
}

/* Banner Classes */
.bg-banner {
    background: url('/img/banner.jpg') center center / cover no-repeat;
    min-height: 500px;
}
.bg-banner-overlay {
  background-color: rgba(255,255,255,0.3);
}

.banner-title{
   line-height: 120%;
   letter-spacing: 0%
}

.page-wrapper {
  margin-top: 56px !important;
  padding-top: 2rem !important;
}

@media (min-width: 992px) {
  .page-wrapper {
    margin-top: 72px !important;
    padding-top: 3rem !important;
  }
}

/* Cards */
.box {
    transition: all 0.3s ease;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}

.box:hover {
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.15);
    transform: translateY(-0.5rem) scale(1.02);
    z-index: 10;
}


/* Navbar */
#mainNav.navbar-shrink{
   background-color: var(--white) !important;
   box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
   transition:ease all 0.3s;
   padding: 0.8rem 0 !important;
}

.navbar-links a:hover{
   color:#a1baaa !important;
}

/* Button */

.btn-primary {
   --bs-btn-color: var(--white) !important;
   --bs-btn-bg: var(--primary);
   --bs-btn-border-color: var(--white);
   --bs-btn-hover-color: var(--white) !important;
   --bs-btn-hover-bg: var(--green);;
   --bs-btn-hover-border-color: var(--primary);
   --bs-btn-focus-shadow-rgb: 0, 70, 28; /* RGB do --primary (00461c) */
   --bs-btn-active-color: var(--primary) !important;
   --bs-btn-active-bg: var(--green);
   --bs-btn-active-border-color: var(--primary);
   --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
   --bs-btn-disabled-color: var(--white);
   --bs-btn-disabled-bg: var(--white);
   --bs-btn-disabled-border-color: var(--white);
}


.btn-secondary {
   --bs-btn-color: var(--primary) !important;
   --bs-btn-bg: var(--light-green);
   --bs-btn-border-color: var(--light-green);
   --bs-btn-hover-color: var(--white) !important;
   --bs-btn-hover-bg: var(--primary);;
   --bs-btn-hover-border-color: var(--primary);
   --bs-btn-focus-shadow-rgb: 0, 70, 28; /* RGB do --primary (00461c) */
   --bs-btn-active-color: var(--white) !important;
   --bs-btn-active-bg: var(--primary);;
   --bs-btn-active-border-color: var(--primary);
   --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
   --bs-btn-disabled-color: var(--white);
   --bs-btn-disabled-bg: var(--white);
   --bs-btn-disabled-border-color: var(--white);
}

.footer-links a:hover{
   color:#ffffff !important;
}

.footer-menu a:hover{
   color:#a1baaa !important;
}

/* Animations */

.transition-03 {
   transition: all linear .3s;
   -o-transition: all linear .3s;
   -moz-transition: all linear .3s;
   -webkit-transition: all linear .3s;
}

/******************************************/
/** Forms                                **/
/******************************************/

.form-select,
.form-control,
.input-group {
   border-radius: 8px;
   border: 1px solid #D9D9D9;
}

.input-group:active,
.input-group:focus,
.input-group:focus-within,
.form-select:active,
.form-select:focus,
.form-control:active,
.form-control:focus {
   box-shadow: none;
   border-color: var(--primary);
   background-color: transparent;
}

.input-group.disabled,
.form-control:disabled,
.form-select:disabled {
	border-color: #D9D9D9 !important;
	background-color: #D9D9D9 !important;
}

.form-check-input {
   min-width: 1em !important;
   min-height: 1em !important;
}

.form-check-input:checked {
   border-color: var(--primary) !important;
   background-color: var(--primary) !important;
}

.form-check-input:focus {
   box-shadow: none;
   border-color: #D9D9D9 !important;
}

::placeholder {
   opacity: 1;
   color: var(--gray) !important;
}
::-ms-input-placeholder {color: var(--gray) !important;}