
@font-face {
  font-family: 'Metropolis';
  src: url('../fonts/Metropolis/Metropolis-Regular.woff2') format('woff2'),
      url('../fonts/Metropolis/Metropolis-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../fonts/Metropolis/Metropolis-Light.woff2') format('woff2'),
      url('../fonts/Metropolis/Metropolis-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../fonts/Metropolis/Metropolis-SemiBold.woff2') format('woff2'),
      url('../fonts/Metropolis/Metropolis-SemiBold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Metropolis';
  src: url('../fonts/Metropolis/Metropolis-Bold.woff2') format('woff2'),
      url('../fonts/Metropolis/Metropolis-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

/*---------------------------------------
CUSTOM PROPERTIES ( VARIABLES )             
-----------------------------------------*/
:root {
--white-color:                  #ffffff;
--primary-color:                hsl(211, 91%, 62%);
--secondary-color:              #5a6f80;
--section-bg-color:             #f0f8ff;
--site-footer-bg-color:         #44525d;
--custom-btn-bg-color:          #597081;
--custom-btn-bg-hover-color:    #2e76eb;
--dark-color:                   #000000;
--p-color:                      #717275;
--border-color:                 #e9eaeb;

--body-font-family:             'Metropolis', sans-serif;

--h1-font-size:                 52px;
--h2-font-size:                 46px;
--h3-font-size:                 32px;
--h4-font-size:                 28px;
--h5-font-size:                 24px;
--h6-font-size:                 22px;
--p-font-size:                  16px;
--btn-font-size:                18px;
--copyright-font-size:          14px;

--border-radius-large:          100px;
--border-radius-medium:         20px;
--border-radius-small:          10px;

--font-weight-light:            300;
--font-weight-normal:           400;
--font-weight-semibold:         600;
--font-weight-bold:             700;

--spacing-small: 8px;
--spacing-medium: 16px;
--spacing-large: 24px;

--breakpoint-mobile: 480px;
--breakpoint-tablet: 768px;
--breakpoint-desktop: 1024px;

--transition-duration: 0.3s;
}

/*---------------------------------------
BASE STYLES               
-----------------------------------------*/
html {
scroll-behavior: smooth;
}

body {
background-color: var(--white-color);
font-family: var(--body-font-family);
color: var(--dark-color);
}

#note {
text-align: center;
text-decoration: none;
font-size: 14px;
}

/*---------------------------------------
TYPOGRAPHY               
-----------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: var(--font-weight-semibold);
letter-spacing: -1px;
}

h1 {
font-size: clamp(2rem, 5vw, var(--h1-font-size));
font-weight: var(--font-weight-bold);
letter-spacing: -2px;
}

h2 {
color: var(--secondary-color);
font-size: clamp(1.75rem, 4.5vw, var(--h2-font-size));
letter-spacing: -2px;
}

h3 {
font-size: clamp(1.5rem, 4vw, var(--h3-font-size));
}

h4 {
font-size: clamp(1.25rem, 3.5vw, var(--h4-font-size));
}

h5 {
color: var(--primary-color);
font-size: clamp(1rem, 3vw, var(--h5-font-size));
}

h6 {
font-size: clamp(0.875rem, 2.5vw, var(--h6-font-size));
}

p {
color: var(--p-color);
font-size: var(--p-font-size);
font-weight: var(--font-weight-light);
}

ul li {
color: var(--p-color);
font-size: var(--p-font-size);
font-weight: var(--font-weight-normal);
}

a,
button {
touch-action: manipulation;
transition: all var(--transition-duration);
}

a {
color: var(--primary-color);
text-decoration: none;
}

a:hover {
color: var(--custom-btn-bg-hover-color);
}

a:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
}

b,
strong {
font-weight: var(--font-weight-bold);
}

/*---------------------------------------
BUTTONS               
-----------------------------------------*/
.custom-btn {
background-color: var(--custom-btn-bg-color);
color: var(--white-color);
padding: var(--spacing-small) var(--spacing-medium);
border-radius: var(--border-radius-small);
font-size: var(--btn-font-size);
transition: background-color var(--transition-duration);
}

.custom-btn:hover {
background-color: var(--custom-btn-bg-hover-color);
}

/*---------------------------------------
RESPONSIVE DESIGN               
-----------------------------------------*/
@media (max-width: 768px) {
h1 {
  font-size: clamp(1.5rem, 6vw, var(--h1-font-size));
}
h2 {
  font-size: clamp(1.25rem, 5vw, var(--h2-font-size));
}
}


/*---------------------------------------
  SECTION               
-----------------------------------------*/
.section-padding {
  padding-top: 6.25rem; /* 100px */
  padding-bottom: 6.25rem; /* 100px */
}

.section-bg {
  background-color: var(--section-bg-color);
}

.section-overlay {
  background: var(--overlay-color, rgba(0, 0, 0, 0.35));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
}

.section-overlay + .container {
  position: relative;
}

/*---------------------------------------
  CUSTOM BLOCK               
-----------------------------------------*/
.custom-block-wrap {
  background: var(--white-color);
  border-radius: var(--border-radius-medium);
  position: relative;
  overflow: hidden;
  transition: all 0.5s;
  transform: scale(1);
}

.custom-block-wrap:hover {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  transform: scale(1.02);
}

.custom-block-body {
  padding: 1.875rem; /* 30px */
}

.custom-block-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--object-fit, cover);
}

.custom-block .custom-btn {
  border-radius: var(--border-radius-none, 0);
  display: block;
}

/*---------------------------------------
  RESPONSIVE DESIGN               
-----------------------------------------*/
@media (max-width: 768px) {
  .section-padding {
    padding-top: 3.125rem; /* 50px */
    padding-bottom: 3.125rem; /* 50px */
  }

  .custom-block-body {
    padding: 1.25rem; /* 20px */
  }
}


/*---------------------------------------
  PROGRESS BAR               
-----------------------------------------*/
:root {
  --progress-bar-height: 5px;
}

.progress {
  background: var(--border-color);
  height: var(--progress-bar-height);
}

.progress-bar {
  background: var(--secondary-color);
  transition: width 0.5s ease-in-out;
}

/*---------------------------------------
  CUSTOM ICON COLOR               
-----------------------------------------*/
.custom-icon {
  color: var(--secondary-color);
  transition: color 0.3s ease-in-out;
}

.custom-icon:hover {
  color: var(--primary-color);
}

/*---------------------------------------
  RESPONSIVE DESIGN               
-----------------------------------------*/
@media (max-width: 768px) {
  .progress {
    height: 3px;
  }
}

/*---------------------------------------
  CUSTOM LIST               
-----------------------------------------*/
:root {
  --custom-list-margin: 0;
  --custom-list-padding: 0;
  --custom-list-item-margin: 10px;
}

.custom-list {
  margin-bottom: var(--custom-list-margin);
  padding-left: var(--custom-list-padding);
}

.custom-list-item {
  list-style: none;
  margin-top: var(--custom-list-item-margin);
  margin-bottom: var(--custom-list-item-margin);
}

/*---------------------------------------
  CUSTOM TEXT BOX               
-----------------------------------------*/
:root {
  --custom-text-box-margin: 24px;
  --custom-text-box-padding: 40px;
  --custom-text-box-image-object-fit: cover;
  --custom-text-box-icon-size: 25px;
  --custom-text-box-icon-line-height: 30px;
}

.custom-text-box {
  background: var(--white-color);
  border-radius: var(--border-radius-medium);
  margin-bottom: var(--custom-text-box-margin);
  padding: var(--custom-text-box-padding);
}

.custom-text-box-image {
  border-radius: var(--border-radius-medium);
  width: 100%;
  height: 100%;
  object-fit: var(--custom-text-box-image-object-fit);
}

.custom-text-box-icon {
  background: var(--section-bg-color);
  border-radius: var(--border-radius-large);
  color: var(--secondary-color);
  font-size: var(--h6-font-size);
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  width: var(--custom-text-box-icon-size);
  height: var(--custom-text-box-icon-size);
  line-height: var(--custom-text-box-icon-line-height);
}

/*---------------------------------------
  AVATAR IMAGE - TESTIMONIAL, AUTHOR               
-----------------------------------------*/
:root {
  --avatar-image-size: 65px;
}

.avatar-image {
  border-radius: var(--border-radius-large);
  width: var(--avatar-image-size);
  height: var(--avatar-image-size);
  object-fit: cover;
}

/*---------------------------------------
  CUSTOM BUTTON               
-----------------------------------------*/
:root {
  --custom-btn-padding: 15px 25px;
  --custom-btn-border-radius: var(--border-radius-large);
  --custom-border-btn-border-color: var(--custom-btn-bg-color);
}

.custom-btn {
  background: var(--secondary-color);
  border: 2px solid transparent;
  border-radius: var(--custom-btn-border-radius);
  color: var(--white-color);
  font-size: var(--btn-font-size);
  font-weight: var(--font-weight-normal);
  line-height: normal;
  padding: var(--custom-btn-padding);
}

.navbar-expand-lg .navbar-nav .nav-link.custom-btn {
  color: var(--custom-btn-bg-color);
  margin-top: 8px;
  padding: 12px 25px;
}

.custom-btn:hover {
  background: var(--primary-color);
  color: var(--white-color);
}

.custom-border-btn {
  background: transparent;
  border: 2px solid var(--custom-border-btn-border-color);
  color: var(--primary-color);
}

.navbar-expand-lg .navbar-nav .nav-link.custom-btn:hover,
.custom-border-btn:hover {
  background: var(--custom-btn-bg-hover-color);
  border-color: transparent;
  color: var(--white-color);
}

/*---------------------------------------
  RESPONSIVE DESIGN               
-----------------------------------------*/
@media (max-width: 768px) {
  .custom-text-box {
    padding: 20px;
  }

  .avatar-image {
    width: 50px;
    height: 50px;
  }

  .custom-btn {
    padding: 10px 20px;
  }
}

/*---------------------------------------
  NAVIGATION              
-----------------------------------------*/
:root {
  --navbar-padding: 0;
  --navbar-z-index: 9;
  --navbar-brand-font-size: var(--h6-font-size);
  --navbar-brand-color: var(--primary-color);
  --navbar-brand-small-font-size: 10px;
  --navbar-brand-small-color: var(--secondary-color);
  --logo-width: 80px;
  --logo-height: auto;
  --nav-link-padding: 15px;
  --nav-link-color: var(--p-color);
  --dropdown-menu-padding: 0;
  --dropdown-menu-margin: 20px;
  --dropdown-item-padding: 10px;
  --dropdown-item-color: var(--p-bg-color);
  --navbar-toggler-width: 30px;
  --navbar-toggler-height: 35px;
  --navbar-toggler-icon-width: 30px;
  --navbar-toggler-icon-height: 2px;
}

.navbar {
  background: var(--white-color);
  z-index: var(--navbar-z-index);
  padding-top: var(--navbar-padding);
  padding-bottom: var(--navbar-padding);
}

.navbar-brand {
  color: var(--navbar-brand-color);
  font-size: var(--navbar-brand-font-size);
  font-weight: var(--font-weight-bold);
}

.navbar-brand span {
  display: inline-block;
  vertical-align: middle;
}

.navbar-brand small {
  color: var(--navbar-brand-small-color);
  display: block;
  font-size: var(--navbar-brand-small-font-size);
  line-height: normal;
  text-transform: uppercase;
}

.logo {
  width: var(--logo-width);
  height: var(--logo-height);
}

.navbar-expand-lg .navbar-nav .nav-link {
  margin-right: 0;
  margin-left: 0;
  padding: 20px;
}

.navbar-nav .nav-link {
  display: inline-block;
  color: var(--nav-link-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-medium);
  position: relative;
  padding-top: var(--nav-link-padding);
  padding-bottom: var(--nav-link-padding);
}

.navbar-nav .nav-link.active, 
.navbar-nav .nav-link:hover {
  background: transparent;
  color: var(--primary-color);
}

.dropdown-menu {
  background: var(--white-color);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  border: 0;
  max-width: 50px;
  padding: var(--dropdown-menu-padding);
  margin-top: var(--dropdown-menu-margin);
}

.dropdown-item {
  display: inline-block;
  color: var(--dropdown-item-color);
  font-size: var(--menu-font-size);
  font-weight: var(--font-weight-medium);
  position: relative;
  padding-top: var(--dropdown-item-padding);
  padding-bottom: var(--dropdown-item-padding);
}

.dropdown-menu li:last-child .dropdown-item {
  padding-top: 0;
}

.dropdown-item.active, 
.dropdown-item:active,
.dropdown-item:focus, 
.dropdown-item:hover {
  background: transparent;
  color: var(--primary-color);
}

.dropdown-toggle::after {
  content: "\f282";
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-size: var(--copyright-font-size);
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  left: 2px;
  border: 0;
}

@media screen and (min-width: 992px) {
  .dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

.navbar-toggler {
  border: 0;
  padding: 0;
  cursor: pointer;
  margin: 0;
  width: var(--navbar-toggler-width);
  height: var(--navbar-toggler-height);
  outline: none;
}

.navbar-toggler:focus {
  outline: none;
  box-shadow: none;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background: transparent;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before,
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
  transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease, -webkit-transform 300ms 350ms ease;
  top: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before {
  transform: rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
  transform: rotate(-45deg);
}

.navbar-toggler .navbar-toggler-icon {
  background: var(--dark-color);
  transition: background 10ms 300ms ease;
  display: block;
  width: var(--navbar-toggler-icon-width);
  height: var(--navbar-toggler-icon-height);
  position: relative;
}

.navbar-toggler .navbar-toggler-icon:before,
.navbar-toggler .navbar-toggler-icon:after {
  transition: top 300ms 350ms ease, -webkit-transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease, -webkit-transform 300ms 50ms ease;
  position: absolute;
  right: 0;
  left: 0;
  background: var(--dark-color);
  width: var(--navbar-toggler-icon-width);
  height: var(--navbar-toggler-icon-height);
  content: '';
}

.navbar-toggler .navbar-toggler-icon::before {
  top: -8px;
}

.navbar-toggler .navbar-toggler-icon::after {
  top: 8px;
}

/*---------------------------------------
  RESPONSIVE DESIGN               
-----------------------------------------*/
@media (max-width: 768px) {
  .navbar-nav .nav-link {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .dropdown-menu {
    margin-top: 10px;
  }
}


/*---------------------------------------
  SITE HEADER              
-----------------------------------------*/
.site-header {
  background: var(--primary-color);
  padding-top: 15px;
  padding-bottom: 10px;
}

.site-header p,
.site-header p a,
.site-header .social-icon-link {
  color: var(--white-color);
  font-size: var(--copyright-font-size);
}

.site-header .social-icon {
  text-align: right;
}

.site-header .social-icon-link {
  background: transparent;
  width: inherit;
  height: inherit;
  line-height: inherit;
  margin-right: 15px;
}

/*---------------------------------------
  HERO & HERO SLIDE         
-----------------------------------------*/
:root {
  --carousel-control-icon-size: 80px;
  --carousel-control-icon-bg-color: var(--secondary-color);
}

.hero-section-full-height {
  min-height: 100vh;
  position: relative;
}

.carousel:hover .carousel-control-next-icon, 
.carousel:hover .carousel-control-prev-icon {
  opacity: 1;
}

#hero-slide .carousel-item {
  min-height: 100vh;
}

#hero-slide .carousel-caption {
  background: var(--white-color);
  clip-path: polygon(100% 100%, 100% 150px, 0 100%);
  color: var(--secondary-color);
  top: 1px;
  bottom: -1px;
  right: 0;
  left: auto;
  text-align: right;
  min-width: 50vw;
  min-height: 50vh;
  padding: 5rem;
}

.carousel-image {
  display: block;
  width: 100%;
  min-height: 100vh;
}

#hero-slide .carousel-indicators-wrap {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}

#hero-slide .carousel-indicators {
  margin-right: 0;
  margin-left: 22px;
  justify-content: inherit;
}

.carousel-control-next, 
.carousel-control-prev {
  opacity: 1;
}

.carousel-control-next-icon, 
.carousel-control-prev-icon {
  background-color: var(--carousel-control-icon-bg-color);
  border-radius: var(--border-radius-large);
  background-size: 60% 60%;
  width: var(--carousel-control-icon-size);
  height: var(--carousel-control-icon-size);
  opacity: 0;
  transition: all 0.5s;
}

.carousel-control-next-icon:hover, 
.carousel-control-prev-icon:hover {
  background-color: var(--primary-color);
}

/*---------------------------------------
  FEATURE BLOCK              
-----------------------------------------*/
:root {
  --featured-block-padding: 15px;
  --featured-block-transition: all 0.5s ease;
  --featured-block-image-transition: all 0.5s;
  --featured-block-text-margin: 20px;
  --featured-block-text-transition: all 0.5s;
}

.featured-block {
  text-align: center;
  transition: var(--featured-block-transition);
  min-height: 256px;
  padding: var(--featured-block-padding);
}

.featured-block:hover {
  background: var(--white-color);
  border-radius: var(--border-radius-medium);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175);
}

.featured-block:hover .featured-block-image {
  transform: scale(0.75);
}

.featured-block-image {
  display: block;
  margin: auto;
  transition: var(--featured-block-image-transition);
}

.featured-block:hover .featured-block-text {
  margin-top: 0;
}

.featured-block-text {
  color: var(--primary-color);
  font-size: var(--h5-font-size);
  margin-top: var(--featured-block-text-margin);
  transition: var(--featured-block-text-transition);
}

/*---------------------------------------
  RESPONSIVE DESIGN               
-----------------------------------------*/
@media (max-width: 768px) {
  .hero-section-full-height {
    min-height: 50vh;
  }

  #hero-slide .carousel-item {
    min-height: 50vh;
  }

  #hero-slide .carousel-caption {
    min-width: 100%;
    min-height: 50vh;
    padding: 2rem;
  }

  .featured-block {
    min-height: 200px;
    padding: 10px;
  }

  .featured-block-text {
    margin-top: 10px;
  }
}

/*---------------------------------------
  ABOUT              
-----------------------------------------*/
:root {
  --about-section-bg-repeat: no-repeat;
  --about-section-bg-position: center;
  --about-section-bg-size: cover;
  --about-image-width: 350px;
  --about-image-height: 400px;
  --custom-text-block-padding: 60px 40px;
}

.about-section {
  background-repeat: var(--about-section-bg-repeat);
  background-position: var(--about-section-bg-position);
  background-size: var(--about-section-bg-size);
}

.about-image {
  border-radius: var(--border-radius-medium);
  display: block;
  width: var(--about-image-width);
  height: var(--about-image-height);
  object-fit: cover;
}

.custom-text-block {
  padding: var(--custom-text-block-padding);
}

/*---------------------------------------
  COUNTER NUMBERS              
-----------------------------------------*/
:root {
  --counter-thumb-margin: 20px;
  --counter-number-font-size: var(--h1-font-size);
  --counter-number-color: var(--primary-color);
  --counter-text-color: var(--secondary-color);
}

.counter-thumb {
  margin: var(--counter-thumb-margin);
  margin-bottom: 0;
}

.counter-number,
.counter-number-text {
  color: var(--counter-number-color);
  font-size: var(--counter-number-font-size);
  font-weight: var(--font-weight-bold);
  line-height: normal;
}

.counter-text {
  color: var(--counter-text-color);
  display: block;
}

/*---------------------------------------
  VOLUNTEER              
-----------------------------------------*/
:root {
  --volunteer-section-bg-color: var(--secondary-color);
  --volunteer-section-after-size: 350px;
  --volunteer-section-after-position-bottom: -110px;
  --volunteer-section-after-position-right: -80px;
  --volunteer-form-padding: 50px;
  --volunteer-image-size: 300px;
  --volunteer-custom-block-body-max-width: 440px;
  --volunteer-custom-block-body-line-height: 1.7;
}

.volunteer-section {
  background: var(--volunteer-section-bg-color);
  position: relative;
  overflow: hidden;
}

.volunteer-section::after {
  content: "";
  background: var(--primary-color);
  border-radius: 50%;
  position: absolute;
  bottom: var(--volunteer-section-after-position-bottom);
  right: var(--volunteer-section-after-position-right);
  width: var(--volunteer-section-after-size);
  height: var(--volunteer-section-after-size);
}

.volunteer-form {
  background: var(--white-color);
  border-radius: var(--border-radius-medium);
  padding: var(--volunteer-form-padding);
}

.volunteer-image {
  border-radius: 100%;
  display: block;
  margin: auto;
  width: var(--volunteer-image-size);
  height: var(--volunteer-image-size);
  object-fit: cover;
}

.volunteer-section .custom-block-body {
  max-width: var(--volunteer-custom-block-body-max-width);
  margin: 0 auto;
}

.volunteer-section .custom-block-body p {
  line-height: var(--volunteer-custom-block-body-line-height);
}

/*---------------------------------------
  RESPONSIVE DESIGN               
-----------------------------------------*/
@media (max-width: 768px) {
  .about-image {
    width: 100%;
    height: auto;
  }

  .custom-text-block {
    padding: 30px 20px;
  }

  .volunteer-form {
    padding: 30px;
  }

  .volunteer-image {
    width: 200px;
    height: 200px;
  }
}

/*---------------------------------------
  CONTACT               
-----------------------------------------*/
/*---------------------------------------
  CONTACT SECTION              
-----------------------------------------*/
:root {
  --contact-form-padding: 40px;
  --contact-form-border-radius: var(--border-radius-small);
  --contact-info-wrap-padding: 40px;
  --contact-image-wrap-margin-top: 20px;
  --contact-image-wrap-margin-bottom: 30px;
  --contact-image-wrap-padding-bottom: 30px;
}

.contact-section {
  background: var(--white-color);
}

.contact-form {
  background: var(--section-bg-color);
  border-radius: var(--contact-form-border-radius);
  padding: var(--contact-form-padding);
}

.contact-info-wrap {
  padding-top: var(--contact-info-wrap-padding);
}

.contact-image-wrap {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  margin-top: var(--contact-image-wrap-margin-top);
  margin-bottom: var(--contact-image-wrap-margin-bottom);
  padding-bottom: var(--contact-image-wrap-padding-bottom);
  width: 100%;
}

/*---------------------------------------
  CUSTOM FORM               
-----------------------------------------*/
:root {
  --form-control-padding: 13px;
  --form-control-margin-bottom: 24px;
  --form-check-group-margin-bottom: 20px;
  --form-check-radio-padding: 25px 50px;
  --form-check-radio-transition: all 0.5s;
  --submit-button-padding: 10px 20px;
  --submit-button-transition: all 0.3s;
}

.custom-form .form-control,
.input-group-file {
  background-color: var(--section-bg-color);
  box-shadow: none;
  border: 0;
  color: var(--p-color);
  margin-bottom: var(--form-control-margin-bottom);
  padding-top: var(--form-control-padding);
  padding-bottom: var(--form-control-padding);
  outline: none;
}

.custom-form .form-control:hover,
.custom-form .form-control:focus {
  border-color: var(--secondary-color);
}

.custom-form label {
  margin-bottom: 10px;
}

.custom-form .form-check-group {
  margin-bottom: var(--form-check-group-margin-bottom);
}

.donate-form .form-check-group-donation-frequency {
  padding-right: 0;
}

.form-check-group-donation-frequency + .form-check-group-donation-frequency {
  padding-right: 12px;
  padding-left: 0;
}

.form-check-group-donation-frequency .form-check-label {
  font-weight: var(--font-weight-semibold);
}

#DonationFrequencyOne {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

#DonationFrequencyMonthly {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.custom-form .form-check-radio {
  position: relative;
  height: 100%;
  padding-left: 0;
}

.custom-form .input-group-text {
  background: var(--secondary-color);
  border: 0;
  color: var(--white-color);
}

.custom-form .form-check-radio .form-check-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.form-check-radio .form-check-input[type=radio] {
  background-color: var(--section-bg-color);
  border-radius: .25rem;
  border: 0;
  box-shadow: none;
  outline: none;
  width: 100%;
  margin-top: 0;
  margin-left: 0;
  padding: var(--form-check-radio-padding);
  transition: var(--form-check-radio-transition);
}

.form-check-radio .form-check-input:checked[type=radio] {
  background-image: none;
}

.form-check-radio .form-check-input:checked[type=radio] + .form-check-label,
.form-check-radio .form-check-input:hover + .form-check-label,
.form-check-radio .form-check-input:checked + .form-check-label {
  color: var(--white-color);
}

.form-check-radio .form-check-input:hover,
.form-check-radio .form-check-input:checked {
  background-color: var(--secondary-color);
  border-color: var(--white-color);
}

.input-group-file {
  border-radius: .25rem;
  padding: 13px .75rem;
}

.input-group-file input[type=file] {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
  padding: 0;
}

.input-group-file .input-group-text {
  background: transparent;
  color: inherit;
  margin-bottom: 0;
  padding: 0;
}

.custom-form button[type="submit"] {
  background: var(--custom-btn-bg-color);
  border: none;
  border-radius: var(--border-radius-large);
  color: var(--white-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-semibold);
  transition: var(--submit-button-transition);
  margin-bottom: 0;
  padding: var(--submit-button-padding);
}

.custom-form button[type="submit"]:hover,
.custom-form button[type="submit"]:focus {
  background: var(--custom-btn-bg-hover-color);
  border-color: transparent;
}

/*---------------------------------------
  RESPONSIVE DESIGN               
-----------------------------------------*/
@media (max-width: 768px) {
  .contact-form {
    padding: 20px;
  }

  .contact-info-wrap {
    padding-top: 20px;
  }

  .contact-image-wrap {
    margin-top: 10px;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .custom-form .form-control,
  .input-group-file {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .form-check-radio .form-check-input[type=radio] {
    padding: 15px 30px;
  }

  .custom-form button[type="submit"] {
    padding: 8px 16px;
  }
}

/*---------------------------------------
  CONTACT SEARCH & DONATE & SUBCRIBE FORM              
-----------------------------------------*/
/*---------------------------------------
  CONTACT FORM              
-----------------------------------------*/
:root {
  --contact-form-control-bg-color: var(--white-color);
  --search-form-button-width: 50px;
  --search-form-button-padding: 12px;
  --subscribe-form-padding: 30px;
  --subscribe-form-bg-color: var(--section-bg-color);
}

.contact-form .form-control {
  background: var(--contact-form-control-bg-color);
}

.search-form {
  position: relative;
}

.search-form .form-control {
  padding-right: var(--search-form-button-width);
}

.search-form button[type="submit"] {
  background: transparent;
  position: absolute;
  top: 0;
  right: 0;
  color: var(--p-color);
  width: var(--search-form-button-width);
  padding: var(--search-form-button-padding);
}

.search-form button[type="submit"]:hover {
  background: transparent;
  color: var(--dark-color);
}

.subscribe-form {
  background: var(--subscribe-form-bg-color);
  border-radius: var(--border-radius-small);
  padding: var(--subscribe-form-padding);
}

.subscribe-form .form-control {
  background: var(--white-color);
}

.donate-form .form-control {
  margin-bottom: 0;
}

/*---------------------------------------
  SITE FOOTER              
-----------------------------------------*/
:root {
  --site-footer-padding-top: 70px;
  --site-footer-bg-color: var(--site-footer-bg-color);
  --site-footer-bottom-padding: 25px;
  --site-footer-bottom-bg-color: var(--secondary-color);
  --footer-menu-column-count: 2;
  --footer-menu-margin: 0;
  --social-icon-link-size: 35px;
  --social-icon-link-line-height: 38px;
}

.site-footer {
  background-color: var(--site-footer-bg-color);
  padding-top: var(--site-footer-padding-top);
}

.site-footer-bottom {
  background-color: var(--site-footer-bottom-bg-color);
  padding-top: var(--site-footer-bottom-padding);
  padding-bottom: var(--site-footer-bottom-padding);
}

.site-footer-bottom a {
  color: var(--blue-color);
}

.site-footer-bottom a:hover {
  color: #FF6;
}

.site-footer-link {
  color: var(--blue-color);
}

.copyright-text {
  color: var(--section-bg-color);
  font-size: var(--copyright-font-size);
  margin-right: 30px;
}

.site-footer .custom-btn {
  font-size: var(--copyright-font-size);
}

.site-footer .custom-btn:hover {
  background: var(--primary-color);
}

/*---------------------------------------
  FOOTER MENU               
-----------------------------------------*/
.footer-menu {
  column-count: var(--footer-menu-column-count);
  margin: var(--footer-menu-margin);
  padding: 0;
}

.footer-menu-item {
  list-style: none;
  display: block;
}

.footer-menu-link {
  font-size: var(--p-font-size);
  color: var(--blue-color);
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  margin-bottom: 5px;
}

/*---------------------------------------
  SOCIAL ICON               
-----------------------------------------*/
.social-icon {
  margin: 0;
  padding: 0;
}

.social-icon-item {
  list-style: none;
  display: inline-block;
  vertical-align: top;
}

.social-icon-link {
  background: var(--site-footer-bg-color);
  border-radius: var(--border-radius-large);
  color: var(--white-color);
  font-size: var(--copyright-font-size);
  display: block;
  margin-right: 5px;
  text-align: center;
  width: var(--social-icon-link-size);
  height: var(--social-icon-link-size);
  line-height: var(--social-icon-link-line-height);
}

.social-icon-link:hover {
  background: var(--primary-color);
  color: var(--white-color);
}

/*---------------------------------------
  RESPONSIVE STYLES               
-----------------------------------------*/
:root {
  --breakpoint-xl: 1600px;
  --breakpoint-lg: 1170px;
  --breakpoint-md: 991px;
  --breakpoint-sm: 580px;
  --breakpoint-xs: 480px;
}

@media screen and (min-width: var(--breakpoint-xl)) {
  .featured-block {
    min-height: inherit;
  }

  .volunteer-section::after {
    width: 450px;
    height: 450px;
  }

  .volunteer-image {
    width: 350px;
    height: 350px;
  }
}

@media screen and (max-width: var(--breakpoint-lg)) {
  #hero-slide .carousel-image {
    height: 100%;
    object-fit: cover;
  }
}

@media screen and (max-width: var(--breakpoint-md)) {
  h1 {
    font-size: 42px;
  }

  h2 {
    font-size: 36px;
  }

  h3 {
    font-size: 32px;
  }

  h4 {
    font-size: 28px;
  }

  h5 {
    font-size: 20px;
  }

  h6 {
    font-size: 18px;
  }

  .section-padding {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .hero-form {
    padding-bottom: 40px;
  }

  .donate-form {
    padding: 35px;
  }

  .navbar {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .navbar-expand-lg .navbar-nav {
    padding-bottom: 30px;
  }

  .navbar-expand-lg .navbar-nav .nav-link {
    padding: 8px 20px;
  }

  .site-header .social-icon {
    text-align: left;
    margin-top: 5px;
  }

  .hero-section-full-height {
    height: inherit;
  }

  .carousel:hover .carousel-control-next-icon, 
  .carousel:hover .carousel-control-prev-icon {
    opacity: 1;
  }

  #hero-slide .carousel-item {
    height: inherit;
  }

  .carousel-control-prev {
    left: 12px;
  }

  .carousel-control-next {
    right: 12px;
  }

  .carousel-control-next-icon, 
  .carousel-control-prev-icon {
    opacity: 1;
    width: 60px;
    height: 60px;
  }

  .news-detail-header-section {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .cta-section::before {
    width: 150px;
    height: 150px;
  }

  .cta-section::after {
    bottom: -60px;
    width: 100px;
    height: 100px;
  }

  .cta-section .row {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .volunteer-section::after {
    width: 300px;
    height: 300px;
  }

  .testimonial-section::before {
    width: 150px;
    height: 150px;
  }

  .testimonial-section::after {
    width: 200px;
    height: 200px;
  }

  #testimonial-carousel .carousel-caption {
    padding-top: 0;
  }

  blockquote {
    padding: 70px 30px 30px 30px;
  }

  .about-image {
    width: inherit;
    height: 450px;
  }

  .volunteer-image {
    width: 250px;
    height: 250px;
    margin: 0;
  }

  .custom-text-block {
    padding: 20px 0 0 0;
  }

  .custom-text-box,
  .volunteer-form {
    padding: 30px;
  }

  .counter-number, 
  .counter-number-text {
    font-size: var(--h2-font-size);
  }

  .contact-info-wrap {
    padding-top: 0;
  }

  .site-footer {
    padding-top: 50px;
  }

  .copyright-text-wrap {
    justify-content: center;
  }

  .site-footer-bottom {
    text-align: center;
    margin-top: 50px;
  }

  .site-footer-bottom .footer-menu {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: var(--breakpoint-sm)) {
  .hero-section-full-height,
  #hero-slide .carousel-item,
  .carousel-image {
    min-height: 520px;
  }

  #hero-slide .carousel-caption {
    clip-path: polygon(100% 100%, 100% 100px, 0 100%);
    padding-right: 50px;
    min-width: inherit;
    min-height: inherit;
  }
}

@media screen and (max-width: var(--breakpoint-xs)) {
  h1 {
    font-size: 40px;
  }

  h2 {
    font-size: 28px;
  }

  h3 {
    font-size: 26px;
  }

  h4 {
    font-size: 22px;
  }

  h5 {
    font-size: 20px;
  }

  #hero-slide .carousel-caption {
    min-width: inherit;
    padding-bottom: 30px;
  }

  .carousel-control-next-icon, 
  .carousel-control-prev-icon {
    width: 45px;
    height: 45px;
  }

  .volunteer-image {
    width: 150px;
    height: 150px;
  }

  .volunteer-section::after {
    width: 200px;
    height: 200px;
  }

  .testimonial-section::before {
    top: -50px;
    width: 100px;
    height: 100px;
  }

  .testimonial-section::after {
    bottom: -150px;
    width: 200px;
    height: 200px;
  }

  .social-share .tags-block {
    margin-bottom: 10px;
  }

  .donate-form {
    padding: 25px;
  }
}

/* PROJECTS */
/*---------------------------------------
  CLIENTS & PROJECTS SECTION              
-----------------------------------------*/
.clients-projects-section {
  background-color: var(--section-bg-color);
}

.project-card {
  background: var(--white-color);
  border-radius: var(--border-radius-medium);
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.project-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2);
}

.project-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.project-content {
  padding: 20px;
}

.project-content h3 {
  font-size: var(--h4-font-size);
  color: var(--dark-color);
  margin-bottom: 10px;
}

.project-content p {
  font-size: var(--p-font-size);
  color: var(--p-color);
  margin-bottom: 15px;
}

.custom-btn {
  background: var(--primary-color);
  color: var(--white-color);
  padding: 10px 20px;
  border-radius: var(--border-radius-small);
  text-decoration: none;
  transition: all 0.3s ease;
}

.custom-btn:hover {
  background: var(--custom-btn-bg-hover-color);
}