/* AUTO GENERAGED */



.post section.timeline {
      padding-top: 0;
}

.timeline-img-microservices-architecture-in-dotnet-core-and-azure {
  background-image: url('/blog/microservices-architecture-in-dotnet-core-and-azure/microservices-architecture-in-dotnet-core-and-azure.png') !important;
}

.post .timeline-img-microservices-architecture-in-dotnet-core-and-azure {
  height: 45rem !important;
}  


.timeline-img-security-best-practices-in-dotnet-core-and-azure {
  background-image: url('/blog/security-best-practices-in-dotnet-core-and-azure/security-best-practices-in-dotnet-core-and-azure.png') !important;
}

.post .timeline-img-security-best-practices-in-dotnet-core-and-azure {
  height: 45rem !important;
}  


.timeline-img-performance-optimization-in-dotnet-core-and-azure {
  background-image: url('/blog/performance-optimization-in-dotnet-core-and-azure/performance-optimization-in-dotnet-core-and-azure.png') !important;
}

.post .timeline-img-performance-optimization-in-dotnet-core-and-azure {
  height: 45rem !important;
}  


.timeline-img-data-consistency-patterns-in-dotnet-core {
  background-image: url('/blog/data-consistency-patterns-in-dotnet-core/data-consistency-patterns-in-dotnet-core.png') !important;
}

.post .timeline-img-data-consistency-patterns-in-dotnet-core {
  height: 45rem !important;
}  


.timeline-img-cqrs-with-separate-read-write-models-in-dotnet-core {
  background-image: url('/blog/cqrs-with-separate-read-write-models-in-dotnet-core/cqrs-with-separate-read-write-models-in-dotnet-core.png') !important;
}

.post .timeline-img-cqrs-with-separate-read-write-models-in-dotnet-core {
  height: 45rem !important;
}  


.timeline-img-event-sourcing-dotnet-core-azure {
  background-image: url('/blog/event-sourcing-dotnet-core-azure/event-sourcing-dotnet-core-azure.png') !important;
}

.post .timeline-img-event-sourcing-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-api-gateway-patterns-dotnet-core-azure {
  background-image: url('/blog/api-gateway-patterns-dotnet-core-azure/api-gateway-patterns-dotnet-core-azure.png') !important;
}

.post .timeline-img-api-gateway-patterns-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-distributed-tracing-dotnet-core-azure {
  background-image: url('/blog/distributed-tracing-dotnet-core-azure/distributed-tracing-dotnet-core-azure.png') !important;
}

.post .timeline-img-distributed-tracing-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-service-mesh-dotnet-core-azure {
  background-image: url('/blog/service-mesh-dotnet-core-azure/service-mesh-dotnet-core-azure.png') !important;
}

.post .timeline-img-service-mesh-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-deployment-strategies-dotnet-core-azure {
  background-image: url('/blog/deployment-strategies-dotnet-core-azure/deployment-strategies-dotnet-core-azure.png') !important;
}

.post .timeline-img-deployment-strategies-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-feature-toggles-dotnet-core-azure {
  background-image: url('/blog/feature-toggles-dotnet-core-azure/feature-toggles-dotnet-core-azure.png') !important;
}

.post .timeline-img-feature-toggles-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-shared-libraries-management-dotnet-core-azure {
  background-image: url('/blog/shared-libraries-management-dotnet-core-azure/shared-libraries-management-dotnet-core-azure.png') !important;
}

.post .timeline-img-shared-libraries-management-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-resilience-and-circuit-breakers-dotnet-core-azure {
  background-image: url('/blog/resilience-and-circuit-breakers-dotnet-core-azure/resilience-and-circuit-breakers-dotnet-core-azure.png') !important;
}

.post .timeline-img-resilience-and-circuit-breakers-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-service-discovery-dotnet-core-azure {
  background-image: url('/blog/service-discovery-dotnet-core-azure/service-discovery-dotnet-core-azure.png') !important;
}

.post .timeline-img-service-discovery-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-distributed-transactions-dotnet-core-azure {
  background-image: url('/blog/distributed-transactions-dotnet-core-azure/distributed-transactions-dotnet-core-azure.png') !important;
}

.post .timeline-img-distributed-transactions-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-contract-stability-and-versioning-dotnet-core-azure {
  background-image: url('/blog/contract-stability-and-versioning-dotnet-core-azure/contract-stability-and-versioning-dotnet-core-azure.png') !important;
}

.post .timeline-img-contract-stability-and-versioning-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-service-communication-patterns-dotnet-core-azure {
  background-image: url('/blog/service-communication-patterns-dotnet-core-azure/service-communication-patterns-dotnet-core-azure.png') !important;
}

.post .timeline-img-service-communication-patterns-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-service-boundaries-and-ddd-dotnet-core-azure {
  background-image: url('/blog/service-boundaries-and-ddd-dotnet-core-azure/service-boundaries-and-ddd-dotnet-core-azure.png') !important;
}

.post .timeline-img-service-boundaries-and-ddd-dotnet-core-azure {
  height: 45rem !important;
}  


.timeline-img-grpc-over-rest-and-other-alternatives {
  background-image: url('/blog/grpc-over-rest-and-other-alternatives/grpc-over-rest-and-other-alternatives.png') !important;
}

.post .timeline-img-grpc-over-rest-and-other-alternatives {
  height: 45rem !important;
}  


.timeline-img-protect-api-from-over-fetching-under-fetchingrest-vs-graphql-dotnet-core {
  background-image: url('/blog/protect-api-from-over-fetching-under-fetchingrest-vs-graphql-dotnet-core/protect-api-from-over-fetching-under-fetchingrest-vs-graphql-dotnet-core.png') !important;
}

.post .timeline-img-protect-api-from-over-fetching-under-fetchingrest-vs-graphql-dotnet-core {
  height: 45rem !important;
}  


.timeline-img-materialized-view-pattern-pagination-and-reporting {
  background-image: url('/blog/materialized-view-pattern-pagination-and-reporting/materialized-view-pattern-pagination-and-reporting.png') !important;
}

.post .timeline-img-materialized-view-pattern-pagination-and-reporting {
  height: 45rem !important;
}  


.timeline-img-pagination-huge-data-keyset-seek-sort-keys-page-tokens-index-filter-friendly-queries-dotnet-core {
  background-image: url('/blog/pagination-huge-data-keyset-seek-sort-keys-page-tokens-index-filter-friendly-queries-dotnet-core/pagination-huge-data-keyset-seek-sort-keys-page-tokens-index-filter-friendly-queries-dotnet-core.png') !important;
}

.post .timeline-img-pagination-huge-data-keyset-seek-sort-keys-page-tokens-index-filter-friendly-queries-dotnet-core {
  height: 45rem !important;
}  


.timeline-img-modeling-contracts-dtos-entities-value-objects-best-practices-dotnet-core {
  background-image: url('/blog/modeling-contracts-dtos-entities-value-objects-best-practices-dotnet-core/modeling-contracts-dtos-entities-value-objects-best-practices-dotnet-core.png') !important;
}

.post .timeline-img-modeling-contracts-dtos-entities-value-objects-best-practices-dotnet-core {
  height: 45rem !important;
}  


.timeline-img-dependency-injection-service-locators {
  background-image: url('/blog/dependency-injection-service-locators/dependency-injection-service-locators.png') !important;
}

.post .timeline-img-dependency-injection-service-locators {
  height: 45rem !important;
}  


.timeline-img-synchronous-vs-asynchronous-in-dotnet-core {
  background-image: url('/blog/synchronous-vs-asynchronous-in-dotnet-core/synchronous-vs-asynchronous-in-dotnet-core.png') !important;
}

.post .timeline-img-synchronous-vs-asynchronous-in-dotnet-core {
  height: 45rem !important;
}  


.timeline-img-threads-safety-in-dotnet-core {
  background-image: url('/blog/threads-safety-in-dotnet-core/threads-safety-in-dotnet-core.png') !important;
}

.post .timeline-img-threads-safety-in-dotnet-core {
  height: 45rem !important;
}  


.timeline-img-resilient-http-calls-in-dotnet {
  background-image: url('/blog/resilient-http-calls-in-dotnet/resilient-http-calls-in-dotnet.png') !important;
}

.post .timeline-img-resilient-http-calls-in-dotnet {
  height: 45rem !important;
}  


.timeline-img-versioning-rest-api {
  background-image: url('/blog/versioning-rest-api/versioning-rest-api.png') !important;
}

.post .timeline-img-versioning-rest-api {
  height: 45rem !important;
}  


.timeline-img-azure-app-configuration-vs-azure-key-vault {
  background-image: url('/blog/azure-app-configuration-vs-azure-key-vault/azure-app-configuration-vs-azure-key-vault.png') !important;
}

.post .timeline-img-azure-app-configuration-vs-azure-key-vault {
  height: 45rem !important;
}  


.timeline-img-idempotency-in-dotnet-azure {
  background-image: url('/blog/idempotency-in-dotnet-azure/idempotency-in-dotnet-azure.png') !important;
}

.post .timeline-img-idempotency-in-dotnet-azure {
  height: 45rem !important;
}  


.timeline-img-vertical-slice-features-vs-ddd {
  background-image: url('/blog/vertical-slice-features-vs-ddd/vertical-slice-features-vs-ddd.png') !important;
}

.post .timeline-img-vertical-slice-features-vs-ddd {
  height: 45rem !important;
}  
