CMOS
CMOS was introduced to ICs in the late 1960s. P type MOSFETs are used to pull output signals up, and N type MOSFETs are used to pull output signals down - P and N are the complementary types.
Before CMOS, NMOS was used for digital logic. NMOS isn’t very energy efficient because the pullup is performed by a resistor which is dissipates energy when the N type transistor is pulling down. It also is hard to balance the pullup and pulldown speeds which makes design difficult.
By using transistors for both pullup and pulldown we get better energy efficiency. When the inputs are stable, only one transistor is on at a time so there is no static current consumption, but during input switching a small amount of current may flow directly through the P then through the N transistor: this is called crowbar current. Normally the transistors are designed to avoid or minimise this unncessary power consumption.
https://en.wikipedia.org/wiki/CMOS:
Complementary Metal Oxide Semiconductor (CMOS) is a type of MOSFET fabrication process that uses complementary pairs of p-type and n-type MOSFETs to build logic functions.
Here is a CMOS inverter showing the complementary N and P type MOSFETs.

And here’s how it could be laid out using a tool like Magic

This video shows a sped up screen capture of me laying out a DRC clean inverter with Magic.
Course feedback
If you've got any interest in how the sausage is made you should get on the course and you should dig in and find out more. I mean this was the work of secret witches and wizards in mysterious cloaks casting strange incantations over a cauldron! This was all secret stuff and I love that this project is trying to do to silicon design what the open source community has been trying to do with software for the last 30 years. This feels like the next logical step and I think we'll look back and say well of course you can make your own chips that's just a thing and it will just be obvious and commonplace and I look forward to that.
Jonathan Pallant (digital course)