* {
  margin: 0;
  padding: 0;
  box-sizing: border-box
}

:root {
  --brand-color: #e67e22;
  --primary-bg-color: #fdf2e9;
  --primary-text-color: #555;
  --secondery-text-color: #333
}

html {
  font-size: 62.5%;
  font-size: 10px;
  scroll-behavior: smooth;
  overflow: scroll;
}

a {
  color: var(--primary-text-color);
  text-decoration: none
}

li {
  list-style: none
}

button {
  background-color: none;
  border: none
}

#container {
  font-family: 'Rubik', sans-serif, 'Segoe UI', Tahoma, 'Geneva', Verdana, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: var(--primary-text-color);
  line-height: 1;
}

header {
  background-color: var(--primary-bg-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 9.6rem;
  padding: 0 4rem;
}
header .logo {
height: 80px;
width: 100px;
display: inline-flex;
align-items: center;
}
header .logo img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* STICKY NAVIGATION */
.sticky header {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 8rem;
  padding-top: 0;
  padding-bottom: 0;
  background-color: rgba(255, 255, 255, 0.97);
  z-index: 9998;
  box-shadow: 0 1.2rem 3.2rem rgb(0, 0, 0, 0.03);
}

.sticky #index_section {
  margin-top: 8rem;
}

.navbar {
  display: flex
}

.navbar ul {
  display: flex;
  align-items: center
}

.nav_link {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 400;
  padding: 1rem 1.2rem;
  transition: all 300ms linear
}

.nav_link:focus {
  color: var(--brand-color);
}

.nav_btn {
  display: inline-block;
  background-color: var(--brand-color);
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
  padding: 1.2rem 2.2rem;
  border-radius: 12px;
  transition: background 400ms linear
}

.mobile_nav {
  display: none
}

#index_section {
  background-color: var(--primary-bg-color);
  padding: 0 8rem;
}

.index_content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9.6rem;
  align-items: center;
  max-width: 130rem;
  margin: 0 auto;
  padding: 0 3.2rem
}

.index_text_card {
  display: flex;
  flex-direction: column;
  animation: fadeInLeft 1s linear;
}

.index_text_card h1 {
  font-size: 6.2rem;
  font-weight: 700;
  color: var(--primary-text-color);
  line-height: 1.05;
  letter-spacing: -.5px;
  margin-bottom: 2rem
}

.index_text_card>p {
  font-size: 2.4rem;
  font-weight: 400;
  color: var(--secondery-text-color);
  line-height: 1.6;
  margin-top: 2rem;
  margin-bottom: 4rem
}

.index_btn_card {
  display: flex;
  align-items: center;
  font-size: 2.2rem;
  font-weight: 600;
  gap: 20px;
  margin: 2rem 0
}

.index_btn_card a:first-child {
  display: inline-block;
  background-color: var(--brand-color);
  color: #fff;
  padding: 12px 32px;
  border-radius: 12px
}

.index_btn_card a:last-child {
  display: inline-block;
  background-color: #fff;
  color: #555;
  padding: 12px 34px;
  border-radius: 12px
}

.main_index_btn {
  transition: background 400ms linear
}

.outline_index_btn {
  transition: background 400ms linear
}

.index_img {
  transition: opacity 1s linear;
  animation: fadeInRight 1s linear;
  /* height: 400px; */
}
.index_img img {
  height: 100%;
  border-radius: 15px;
  object-fit: auto;
  width: 100%;
  height: 100%;
}

 #features_section {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 2rem;
      padding: 4rem 0;
    }
    .feature {
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 10px 80px;
      gap: 10px;
    }

    .feature h3 {
      font-size: 2.4rem;
      margin-top: 1rem;
    }
    
    .feature p {
      margin-top: 1rem;
      font-size: 1.8rem;
      line-height: 1.4;
    }

/* *************************** */
#about_section {
  background-color: var(--primary-bg-color);
  margin: 3rem 0
}

.about_content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 9.6rem;
  max-width: 130rem;
  margin: 0 auto;
  padding: 4rem 3.2rem
}

.about_typed_text {
  display: flex;
  flex-direction: column;
  margin-top: 3rem;
  padding-left: 4rem;
  animation: fadeInLeft 1s linear;
}

.about_heading {
  display: block;
  font-size: 3rem;
  font-weight: 500;
  color: #e67e22;
  margin-bottom: 1.6rem;
  letter-spacing: .75px
}

.about_typed_text p {
  font-size: 2rem;
  font-weight: 400;
  color: #555;
  line-height: 1.5;
  text-align: left
}

.about_img {
  height: 400px;
}
.about_img img {
  height: 100%;
  width: 100%;
  border-radius: 15px;
  object-fit: contain;
  transform: scale(1.2);
}

/* ************************ */

#pricing_section {
    padding: 4rem 9.6rem;
  }
.pricing_heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.6;
}

.pricing_heading p {
  font-size: 2rem;
  color: #e67e22;
  text-transform: uppercase;
}

.pricing_heading h3 {
  font-size: 4rem;
  font-weight: 700;
  color: #333
}

.pricing_content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6.4rem;
  margin: 4rem auto
}

.pricing_card {
  display: flex;
  flex-direction: column;
  font-size: 1.4rem;
  line-height: 2;
  padding: 4.8rem;
  border: 2px solid #fdf2e9;
  border-radius: 12px
}

.pricing_card:nth-child(2) {
  border: none;
  background-color: #fdf2e9;
  position: relative;
  overflow: hidden
}

.pricing_card:nth-child(2)::before {
  content: "best value";
  background-color: #ffd43b;
  font-size: 1.4rem;
  font-weight: 700;
  color: #333;
  padding: .3rem 6rem;
  text-transform: uppercase;
  position: absolute;
  top: 3rem;
  right: -5rem;
  transform: rotate(45deg)
}

.pricing_card_heading {
  display: flex;
  flex-direction: column;
  align-items: center
}

.pricing_card h5 {
  font-size: 1.8rem;
  font-weight: 600;
  color: #e67e22;
  text-transform: uppercase
}

.pricing_card h1 {
  font-size: 3.5rem
}
.pricing_card p {
  font-size: 18px;
  line-height: 1.4;
text-align: center;
}

.price_btn {
  display: inline-block;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 1px;
  margin: 2rem auto;
  padding: .8rem 2rem;
  background-color: #e67e22;
  border: 1px solid #e67e22;
  border-radius: 12px;
  transition: background 400ms linear
}

.price_btn {
  margin-top: 1rem
}


/* ************************ */

#testimonial_section {
  background-color: var(--primary-bg-color);
  margin: 4rem 0;
  padding: 9.6rem 0;
  padding-bottom: 0
}

.testimonial_content {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center
}

.testimonial_container {
  display: flex;
  flex-direction: column;
  padding: 4rem 9.6rem;
  line-height: 1.2
}

.testimonial_heading {
  display: flex;
  flex-direction: column;
  margin: 0;
  margin-bottom: 9.6rem
}

.testimonial_heading p {
  font-size: 2rem;
  text-transform: uppercase;
  color: #e67e22
}

.testimonial_heading h2 {
  font-size: 5rem
}

.testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 4.6rem;
  column-gap: 4.6rem
}

.testimonial_box {
  display: flex;
  flex-direction: column
}

.testimonial_img {
  width: 6.4rem;
  border-radius: 50%;
  margin-bottom: 1rem
}

.testimonial_img img {
  width: 100%;
  border-radius: 50%
}

.testimonial_typed_text {
  display: flex;
  flex-direction: column
}

.testimonial_typed_text p {
  display: flex;
  flex-direction: column;
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 1rem 0
}

.customer_name {
  font-size: 1.6rem !important;
  font-weight: 300;
  color: #6f6f6f
}

#call_to_action_section {
  max-width: 120rem;
  margin: 4.6rem auto
}

.call_to_action_content {
  display: grid;
  grid-template-columns: 2fr 1fr;
  box-shadow: 0 1rem 4rem rgba(0, 0, 0, .5);
  background-color: #e67e22;
  border-radius: 1.2rem
}

.call_to_action_content .card1 {
  display: flex;
  flex-direction: column;
  padding: 4.8rem 6.4rem 6.4rem 6.4rem
}

.call_to_action_heading h2 {
  margin: 1rem auto;
  font-size: 4rem;
  font-weight: 700;
  color: #45260a
}

.call_to_action_typed_text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 2rem;
  font-weight: 400;
  color: #45260a;
  line-height: 1.8;
  margin: 1rem 0 4rem;
  padding-right: 4rem
}

.call_to_action_form_group {
  display: block
}

.call_to_action_form_group form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 1rem;
  row-gap: 2rem
}

label {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  color: #45260a;
  margin-bottom: 1rem
}

input,
select {
  display: block;
  background-color: #fdf2e9;
  font-size: 1.6rem;
  font-weight: 400;
  color: #45260a;
  height: 50px;
  border: none;
  outline: none;
  padding: 1.6rem 1rem;
  border-radius: 1.2rem
}

select {
  padding: 0
}

input {
  width: 100%
}

.call_to_action_form_group form .option {
  display: flex;
  flex-direction: column
}

.select {
  width: 100%
}

input::placeholder {
  font-weight: 400
}

form button {
  background-color: #45260a;
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
  padding: 1.4rem;
  border-radius: 1.2rem;
  align-self: end;
  cursor: pointer;
  transition: background 400ms linear
}

.call_to_action_img {
  height: 32rem;
  grid-row: 1
}

.card2 {
  background-image: url('../images/eating.jpg');
  background-size: cover;
  background-position: center;
  object-fit: cover;
  width: 100%;
  border-top-right-radius: 1.2rem;
  border-bottom-right-radius: 1.2rem
}

#footer_section {
  margin-top: 4rem;
  background-color: var(--primary-bg-color);
}

.footer_content {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding: 6rem 6rem 2rem;
  border-top: 1px solid #eee
}
.footer_content div {
  font-size: 1.6rem;
}
.footer_content div:first-child {
display: grid;
  grid-template-columns:1fr 1.3fr 1fr 1fr;
  column-gap: 6.4rem;
  align-items: center;
}
.footer_content div:last-child {
display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer_card:first-child {
  gap: 1rem
}

.footer_content h2 {
  font-size: 2.4rem;
}

.social_links {
  display: block;
  }

.social_links ul {
  display: flex;
  gap: 2rem
}

.back_to_top_btn {
  background-color: var(--brand-color);
  color: var(--primary-bg-color);
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  align-items: center;
  height: 4rem;
  width: 4rem;
  transition: 300ms;
  animation: upToDown 2s infinite ease-in-out;
}

.back_to_top_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  opacity: 1;
}

.back_to_top_btn .fa {
  color: var(--primary-bg-color)
}


/* STICKY BACK TO TOP */
.sticky .back_to_top_btn {
  position: fixed;
  right: 2rem;
  bottom: 5rem;
}

.fadeInRight {
  animation: fadeInRight 1s linear;
}

.fadeInLeft {
  animation: fadeInLeft 1s linear;
}
