/* Reset de estilos padrão */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: 'Rubik', sans-serif;
  }

  body {
	background-color: whitesmoke;
	color: #4F5665;
  }
  
  /* Estilo da barra de navegação */
  /* #region */
  nav {
	padding: 10px 20px;
	width: 80%;
	margin: auto;
  }

  h2 {
	color: #4F5665;
  }
  
  .nav-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 10px;
  }

  .logo {
	display: flex; /* Use flexbox for alignment */
	align-items: center; /* Centers items vertically */
  }
  
  .logo img {
	width: 50px; /* Adjust based on your logo's size */
	height: auto;
  }
  
  .logo div {
	display: inline-block;
	margin-left: 10px;
	font-size: 20px;
	font-weight: 500;
  }
  
  .subscribe-button button {
	font-family: 'Rubik', sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #763E91;
	border: 2px solid;
	padding: 10px 20px;
	cursor: pointer;
	border-radius: 10px;
	transition: background-color 0.3s ease;
  }
  
  .subscribe-button button:hover {
	background-color: rgb(226, 226, 226); /* Darker shade for hover effect */
  }

  /* Responsive adjustments */
@media (max-width: 768px) {
	.nav-container {
	  flex-direction: column;
	  align-items: center;
	}
  
	.logo, .subscribe-button {
	  margin-bottom: 10px; /* Adds a bit of space between the logo and the button on small screens */
	}
  
	.logo img {
	  width: 40px; /* Slightly smaller logo for smaller screens */
	}
  
	.logo div {
	  font-size: 18px; /* Adjust the size as needed for small screens */
	}
  
	.subscribe-button button {
	  padding: 8px 16px; /* Adjust button padding for smaller screens */
	}
  }

  /* #endregion */
  
  /* Estilo da seção de herói */
  /* #region */
  .hero {
	display: flex;
	justify-content: center;
	min-height: 60vh; /* altura ajustável conforme necessário */
	/* background-color: #4575DA; cor de fundo da seção de herói */
  }
  
  .hero-content {
	display: flex;
	justify-content: space-around;
	align-items: start;
	margin-top: 50px; /* Ajuste conforme necessário */
	width: 80%; /* largura ajustável conforme necessário */
  }
  
  .left-column {
	flex: 1;
	padding: 0 20px;
  }

  .left-column ul {
	list-style: none;
	list-style-type: none; /* Removes default list bullets */
	padding: 0;
  }

  .left-column ul li {
	padding: 0 0 25px 0;
	font-size: 20px;
  }

  .form-prompt2 {
	font-size: 14px;
	margin-bottom: 30px;
  }
  
  .right-column {
	flex: 1;
	padding: 0 20px;
	height: 100%;
	display: flex;
	justify-content: center;
  }
  
  .hero .title {
	font-size: 35px;
	margin-bottom: 40px;
  }
  
  .hero .description {
	font-size: 20px;
	margin-bottom: 40px;
	color: #4F5665;
  }
  
  .hero button {
	font-family: 'Rubik', sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: white;
	background-color: #A04AA2; /* Example color, adjust as needed */
	border: none;
	padding: 10px 20px;
	cursor: pointer;
	border-radius: 5px;
	transition: background-color 0.3s ease;
	/* Adding shadow below the button */
	box-shadow: 0 7px 15px #A04AA2; /* Horizontal offset, vertical offset, blur radius, and color */
  }
  
  .hero button:hover {
	background-color: #763E91; /* Darker shade for hover effect */
	/* Optional: Adjust the shadow for a pressed effect on hover */
	/* box-shadow: 0 7px 4px rgba(0, 0, 0, 0.1); */
  }
  
  video {
	width: auto; /* vídeo responsivo */
	max-height: 450px;
  }
  .loading-image {
	width: auto; /* vídeo responsivo */
	max-height: 450px;
	position: absolute;
	display: block;	
	z-index: 2;
  }

  .bold {
	font-weight: bold; /* This will apply bold styling to the content within <span class="bold"></span> */
  }

  @media (max-width: 768px) {
	.hero {
	  height: auto; /* Adjust height for smaller screens */
	  margin: 0; /* Add margin for better spacing */
	}
	.hero-content {
	  flex-direction: column; /* Stack content vertically on small screens */
	  align-items: center; /* Center-align the stacked items */
	  margin-top: 10px;
	}
  
	.left-column, .right-column {
	  padding: 0 10px; /* Reduce padding for smaller screens */
	  margin-top: 20px; /* Ensure consistent spacing */
	}

	.left-column {
		text-align: center;
	}

	.left-column ul {
		display: none;
	}

	.hero .title {
		margin-bottom: 0px;
	}
  
	.hero .title {
	  font-size: 30px; /* Adjust font size for smaller screens */
	  text-align: center; /* Center-align text for better readability */
	}
  
	.hero .description {
	  font-size: 16px; /* Adjust font size for smaller screens */
	  text-align: center; /* Center-align text for consistency */
	}
  
	.hero button {
	  padding: 8px 16px; /* Slightly reduce button padding for smaller screens */
	}
  }
   /* #endregion */


/* Estilo da seção com três colunas */
/* #region */
  .three-columns {
	display: flex;
	justify-content: space-around; /* Adjusts the spacing of the columns */
	align-items: flex-start; /* Aligns items to the top */
	background-color: white; /* Sets the background color to white */
	margin: 0 auto; /* Centers the container in the middle of the page */
	padding: 20px; /* Adds some padding inside the container */
	border-radius: 10px; /* Rounds the corners of the container */
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Adds a subtle shadow below the container */
	width: 80%; /* Sets the width of the container to 80% of its parent */
	/*max-width: 1200px; /* Optional: limits the maximum width */
	margin-top: 50px;
  }

  /* Estilo das colunas */
  .column {
	flex: 1; /* Allows each column to take equal space */
	display: flex;
	justify-content: center; /* Centers the text-box horizontally */
	align-items: center; /* Centers the text-box vertically */
	position: relative; /* Needed for positioning the pseudo-element for the border */
  }

  .column:not(:last-child)::after {
	content: '';
	position: absolute;
	right: 0;
	top: 10%; /* Adjusts the top position of the line */
	bottom: 10%; /* Adjusts the bottom position of the line, creating a gap */
	width: 1px; /* Line thickness */
	background-color: #ccc; /* Line color, choose a subtle one */
  }
  
  /* Estilo do conteúdo de cada coluna */
  .column-content {
	display: flex;
	flex-direction: column;
	align-items: center;
  }
  
  /* Estilo da caixa de texto */
  .text-box {
	display: flex;
	margin: 16px 0 ;
	align-items: center;
  	gap: 10px; /* Adjust the space between the icon and the text */
  }

  .text-box i {
	font-size: 24px; /* Adjust based on your preference */
	color: #A04AA2; /* Example color, adjust as needed */
  }
  
  /* Estilo do ícone */
  .icon-column i {
	font-size: 24px; /* Or adjust to your preference */
	width: 50px; /* Diameter of the circle */
	height: 50px; /* Diameter of the circle */
	border-radius: 50%; /* Creates a circular shape */
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #763E91; /* Choose your color */
	color: white; /* Icon color */
  }
  
  /* Estilo das linhas de texto */
  .text-box p {
	margin: 5px 0;
  }

  @media (max-width: 768px) {
	.three-columns {
	  flex-direction: column; /* Stack columns vertically on small screens */
	  align-items: center; /* Center-align the stacked columns */
	}
  
	.column {
	  width: 100%; /* Ensure each column takes the full width */
	  margin: 10px 0; /* Add some vertical spacing between stacked columns */
	  justify-content: space-around; /* Adjust if necessary for your design */
	}
  
	.column:not(:last-child)::after {
	  display: none; /* Remove the vertical lines between columns on small screens */
	}
  
	.text-box {
	  flex-direction: column; /* Stack icon above the text in each column on small screens */
	  text-align: center; /* Center-align the text */
	}
  
	.icon-column i {
	  margin-bottom: 10px; /* Add some spacing between the icon and the text */
	}
  }
  /* #endregion */


  /* Estilo da seção com duas colunas  */
  /* #region */
.two-columns {
	display: flex; /* Ensures the columns are laid out horizontally */
	justify-content: center; /* Centers the content horizontally */
	align-items: flex-start; /* Aligns items to the top */
	width: 80%; /* Sets the width of the section to 80% of its parent */
	margin: 0 auto; /* Centers the section horizontally in the page */
	gap: 20px; /* Adjusts the gap between the columns */
	min-height: 60vh;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 50px 0;
  }
  
  /* Estilo das colunas */
  .two-columns .column-left {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
  }

  .two-columns .column-right {
	flex: 1;
	text-align: left;
	margin-top: 40px;
  }
  
  /* Estilo da imagem */
  .two-columns img {
	margin-top: 40px;
	height: auto; /* Mantém a proporção da imagem */
	max-width: 600px;
  }
  
  /* Estilo do título */
  .two-columns h2 {
	font-size: 2rem;
	margin-bottom: 20px;
  }
  
  /* Estilo do texto de informações */
  .two-columns p {
	font-size: 1.1rem;
	margin-bottom: 20px;
  }
  
  /* Estilo da lista de pontos fortes */
  .two-columns ul {
	list-style: none;
	list-style-type: none; /* Removes default list bullets */
	padding: 0;
  }
  
  .two-columns ul li {
	position: relative;
	font-size: 14px;
	margin: 20px 0px;
  }

  .two-columns ul li i {
	padding-right: 10px;
  }
  
  .two-columns .column-left {
	/* border: solid blue; */
	height: 100%;
  }

  .two-columns .column-right {
	/* border: solid blue; */
	height: 100%;
  }

  .two-columns .column-right .content {
	/* border: solid red; */
	width: 70%;
  }

  @media (max-width: 768px) {
	.two-columns {
	  flex-direction: column; /* Stack columns vertically on smaller screens */
	  height: auto; /* Adjust height to be auto to accommodate the now stacked columns */
	}
  
	/* Optional: Adjust text sizes for smaller screens */
	.two-columns h2 {
	  font-size: 1.5rem; /* Slightly smaller font size for smaller screens */
	}
  
	.two-columns p, .two-columns ul li {
	  font-size: 1rem; /* Adjust the font size for readability on smaller screens */
	}

	.two-columns .column-left img {
		display: none; /* Hide the image on smaller screens */
	}

	.two-columns .column-right .content {
		position: relative;
		/* border: solid red; */
		width: 80%;
	  }
  }
  /* #endregion */


  /* Estilo das colunas */
  /* #region */
  .two-columns-register {
	display: flex;
	justify-content: space-between; /* Ensures content is spaced out */
	background-color: white; /* Sets the background color to white */
	margin: 20px auto; /* Centers the container and adds some margin */
	width: 80%; /* Sets the width of the section to 80% of its parent */
	padding: 20px 60px; /* Adds padding inside the container */
	border-radius: 10px; /* Rounds the corners of the container */
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Adds a subtle shadow for depth */
	/*max-width: 800px; /* Limits the maximum width of the container */
	min-height: 150px;
  }
  
  .two-columns-register .column-right, .column-left {
	flex: 1; /* Each column takes up half the container */
	display: flex;
	justify-content: center;
	flex-direction: column;
  }

  .two-columns .column-right h2 {
	line-height: 50px;
  }

  .two-columns .column-right p {
	line-height: 30px;
  }
  
  
  .two-columns-register .column-right h2, .column-right p {
	text-align: left; /* Aligns the text to the left */
	margin: 10px 0; /* Adds some margin for spacing */
  }
  
  .two-columns-register .column-left {
	display: flex;
	justify-content: center; /* Centers the button horizontally */
	align-items: center; /* Centers the button vertically */
  }
  
  .two-columns-register .column-left button {
	padding: 15px 30px; /* Increases the button size */
	font-size: 1rem; /* Makes the text within the button larger */
	border: none;
	border-radius: 5px; /* Rounds the corners of the button */
	cursor: pointer; /* Changes the cursor to a pointer on hover */
	background-color: #A04AA2; /* Example button color, adjust as needed */
	color: white; /* Text color for the button */
	transition: background-color 0.2s; /* Smooth transition for hover effect */
  }
  
  .two-columns-register .column-left button:hover {
	background-color: #763E91; /* Darker shade for the button on hover */
  }

  @media (max-width: 768px) {
	.two-columns-register {
	  flex-direction: column; /* Stack the columns vertically */
	  padding: 20px; /* Adjust padding to suit smaller screens */
	}
  
	.two-columns-register .column-right, .two-columns-register .column-left {
	  width: 100%; /* Ensure each column takes full width of its container */
	  text-align: center; /* Center-aligns text for a unified look on smaller screens */
	}
  
	.two-columns-register .column-left {
	  justify-content: center; /* Keeps the button centered horizontally */
	  margin-top: 20px; /* Adds some space between the text and button sections */
	}
  
	.two-columns-register .column-left button {
	  width: auto; /* Allows the button to grow as needed, or you could set a specific width for better control */
	  padding: 10px 20px; /* Adjust padding if needed for smaller screens */
	}
  }
  /* #endregion */
  

  /* Subscription section */
  /* #region */


  .two-columns-subscription {
	height: 80vh; /* Adjust the height as needed */
	display: flex;
	justify-content: space-between; /* Adjust based on your layout */
	align-items: center; /* Center the content vertically */
	position: relative; /* Needed for pseudo-element positioning */
	border-radius: 20px; /* Optional: rounds the corners of the section */
	width: 80%;
	margin: auto;
  }

  .two-columns-subscription .video {
	flex: 1;
	display: flex;
	justify-content: center;
  }

  .two-columns-subscription .video h3 {
	padding: 10px 0;
	display: none;
  }
  
  .subscription-column {
	margin-right: 30px;
  }
  
  .text-content h1 {
	font-size: 32px;
	margin-bottom: 50px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.2); /* Shadow effect for the text */
  }
  
  .text-content p {
	font-size: 22px;
	margin-bottom: 10px;
	margin-top: 20px;
  }
  
  .social-media {
	text-align: center;
	padding-top: 20px;
  }
  
  .social-icon {
	display: inline-block;
	margin: 0 10px;
  }
  
  .social-icon img {
	width: 24px; /* Adjust size as needed */
	height: 24px; /* Adjust size as needed */
  }

  .form-container {
	flex: 1;
	background-color: #fff;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
	min-width: 480px;
  }

  .signup-form {
	padding: 20px;
  }
  
  .signup-form .form-group {
	margin-bottom: 25px;
  }
  
  .signup-form input[type="text"],
  .signup-form input[type="email"],
  .signup-form select {
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
  }
  
  .signup-form .checkbox {
	display: flex;
	align-items: center;
  }
  
  .signup-form input[type="checkbox"] {
	margin-right: 10px;
  }
  
  .signup-form label {
	margin-bottom: 0; /* To remove default bottom margin */
  }
  
  .signup-form .submit-button {
	width: 100%;
	padding: 10px;
	border: none;
	border-radius: 4px;
	background-color: #A04AA2;
	color: white;
	font-size: 1em;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* Added shadow to match the button in the image */
  }
  
  .signup-form .submit-button:hover {
	background-color: #823b83;
  }

  .signup-section, .form-container {
	flex: 1;
  }

  .social-icon {
	height: 50px;
	color: #A04AA2;
  }

  .social-icon i{
	font-size: 30px;
  }

  .form-prompt {
	display: none;
  }

  @media (max-width: 768px) {
	.two-columns-subscription {
	  flex-direction: column; /* Stack elements vertically on smaller screens */
	  height: auto;
	}

	.two-columns-subscription .video {
		padding: 40px 0;
	}

	.two-columns-subscription .video h3 {
		display: block;
	  }

	  .two-columns-subscription .video {
		flex: 1;
		display: flex;
		justify-content: center;
		flex-direction: column;
		align-items: center;
	  }
  
	.signup-section, .form-container {
	  width: 100%; /* Each section takes full width of the container */
	  margin: 30px 0; /* Add some spacing between stacked elements */
	  min-width: 0px;
	  padding: 4px;
	}
  
	.subscription-column {
	  display: none; /* Optionally hide the decorative part on smaller screens to focus on the form */
	}
  
	/* Adjust font sizes and paddings within the form for better readability on small devices */
	.signup-form h1, .signup-form p, .signup-form label {
	  font-size: smaller; /* Adjust text size for smaller screens */
	}
  
	.signup-form .form-group {
	  margin-bottom: 20px; /* Reduce spacing between form fields */
	}
  
	.signup-form .submit-button {
	  padding: 12px; /* Adjust button padding for easier interaction */
	}

	.signup-section {
		display: none; /* Completely hides the signup-section on smaller screens */
	}

	.form-prompt {
		display: block; /* Shows the form-prompt text on smaller screens */
		margin-bottom: 20px; /* Adds some space below the text */
	}
  }
   /* #endregion */


   /* Footer section */

   .site-footer {
	background-color: #763E91; /* Your chosen color */
	color: #fff; /* White text for contrast */
	padding: 10px 20px; /* Compact padding for a smaller footer */
	font-size: 14px; /* Smaller font size for a concise look */
	text-align: center; /* Center-align the content for minimalism */
  }
  
  .footer-content, .footer-bottom {
	margin: 5px 0; /* Minimizes the margin for compact spacing */
  }

  .social-links {
	margin-top: 7px; /* Adds some space between the content and social links */
  }
  
  .social-links a {
	color: #fff; /* White text for the links */
	text-decoration: none; /* No underline for a cleaner look */
	margin: 0 5px; /* Small margin between links */
  }
  
  .social-links a:hover {
	color: #ddd; /* Lighter color on hover for visual feedback */
  }
  
  
  /* Additional responsive design or specific styles can be added below */

  /* Modal base style */
.modal {
	display: none; /* Hidden by default */
	position: fixed; /* Stay in place */
	z-index: 1; /* Sit on top */
	left: 0;
	top: 0;
	width: 100%; /* Full width */
	height: 100%; /* Full height */
	overflow: auto; /* Enable scroll if needed */
	background-color: rgb(0,0,0); /* Fallback color */
	background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
  }
  
  /* Modal Content */
  .modal-content {
	font-size: 12px;
	background-color: #fefefe;
	margin: 2% auto; /* 15% from the top and centered */
	padding: 20px;
	border: 1px solid #888;
	width: 80%; /* Could be more or less, depending on screen size */
	max-height: 90%;
	overflow-y: auto;
  }

  .modal-content > h2,
  .modal-content > p,
  .modal-content > h3 {
	  margin: revert;
  }
  
  /* The Close Button */
  .close {
	color: #aaa;
	float: right;
	font-size: 28px;
	font-weight: bold;
  }
  
  .close:hover,
  .close:focus {
	color: black;
	text-decoration: none;
	cursor: pointer;
  }
 
  .custom-ul {
    margin-left: 20px;
    padding-left: 40px;
    list-style-type: disc;
}