.blockwidth-100{
    width:100%;
    max-width:1900px;
    margin: 0 auto;
    padding: 0 15px;
}
.blockwidth-75{
    width:75%;
    max-width:1425px;
    margin: 0 auto;
    padding: 0 15px;
}
.blockwidth-66{
    width:clamp(370px,66%,900px);
    padding: 0 15px;
}
.blockwidth-66.center{
    margin: 0 auto;
    max-width:1255px; 
    width:100%;   
}
.blockwidth-50{
    width:50%;
    max-width:950px;
    margin: 0 auto;
    padding: 0 15px;
}
.blockwidth-33{
    width:33%;
    max-width:630px;
    padding: 0 15px;
}
.blockwidth-33.center{
    margin: 0 auto;    
}
.blockwidth-75 .block-content,
.blockwidth-66 .block-content{
    column-gap: 50px;  
    margin-bottom: 75px;  
}
.blockwidth-50 .block-content,
.blockwidth-33 .block-content{
    column-gap: 30px;    
}
.border .block-content{
    padding: 30px 40px;
    border: var(--hr-2);
    border-radius: 12px;
    box-shadow: var(--civ-shadow);
    background-color: var(--white);    
}
.flex .block-content{
    display:flex;
}
.flex .block-content .content,
.flex .block-content .image{
    width:100%;
    max-width: 50%;
    min-width: 250px;
}
.block-content img{
    border-radius: 12px;
    box-shadow: var(--civ-shadow);
}
.block-content .image{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.grid{ 
    display:grid; gap:2rem; 
}
.topics{ 
    grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); 
}
.card{ 
    background:var(--white); 
    border-radius:var(--radius); 
    padding:1.5rem; 
    box-shadow:var(--shadow); 
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
}
.card .icon{ 
    background:var(--civ-gradient); 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    color:var(--white); 
    font-size:1.5rem; 
    width:80px;
    height:80px;
    margin:15px auto 50px;
    padding:6px;
    border-radius:50%;
}
.card .icon img{
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(10deg) brightness(104%) contrast(102%);
    width: 80%;
}
.card .button.button{
  background-color: var(--white);  
  border: var(--hr-light); 
  border-radius: 5px; 
  margin: 25px auto 0;
}
.card .button.button a{
  font-size: 0.9rem;
  color: var(--civ-dark); 
}
.card .button.button:hover{
  background-color: var(--civ-blue);
  transition: all 0.5s linear;
  border-color: var(--civ-blue);
}
.card .button.button:hover a{
  color: var(--white);
  transition: all 0.5s linear;
}

@media (max-width:768px){
    .flex .block-content .content,
    .flex .block-content .image{
    max-width: inherit;
    }
    .flex .block-content .image img{
    max-width: fit-content;
    margin: 0 auto;
    }

}
@media (max-width:524px){
    .blockwidth-75,
    .blockwidth-66,
    .blockwidth-50,
    .blockwidth-33{
    width:100%;
    }
}